mysql5.7.19版本的主从复制问题分享
admin
2023-05-15 21:02:17
0

今天学习构建mysql 5.7.19版本的MySQL的主从复制

碰到了一些坑,特定分享下:

  1. mysql的主从服务器是通过克隆虚拟机完成,导致uuids一样,需要修改auto.cnf文件

  2. 在slave上想通过在/etc/my.cnf里添加连接master的配置,总是导致启动mysqld服务失败,看错误日志,说不支持的选项。原因是5.7.19里已经淘汰了在配置文件里加这种配置的方法了。


下面是部分笔记,特分享下。

mysql> show variables like "%binlog%";

| binlog_format                           | ROW  

====

如何让程序能同时读取主和从服务器上的数据:

1.直接在程序里写死,那个业务访问那台MySQL服务器ip,定死。 ---》很傻、维护起来非常麻烦,需要开发的协助。

不同的业务,不同的服务器

a ----》MYSQL(A)

B ---->MYSQL(B)

2.相同的业务,不同的服务器。使用域名解析来达到读写分离。 ---》比较简单,只要修改下域名对应的ip

写 ----》主

wdb.abc.com  --->132.1.1.5  主

读 -----》主、从    

可以使用负载均衡域名解析

rdb.abc.com  --->132.1.1.1

rdb.abc.com  --->132.1.1.2

rdb.abc.com  --->132.1.1.3

rdb.abc.com  --->132.1.1.4  从

rdb.abc.com  --->132.1.1.5  主

3.使用中间件来实现读写分离。oneproxy---》杭州平民软件---》王广友

中间件里有个配置文件,会写明读往那些服务器,写往那台服务器。

开源:mycat



=====

主从复制-----》为读写分离做铺垫。---》提升性能的作用。

=====

MySQL  replication  复制

   master   slave

   write  read


=====

克隆 clone

1.先关闭计算机


=====

主从复制的前提条件:

2台MySQL服务器的数据是一样的。

=====

将master和slave的ip地址配置好,不要一样,同时修改主机名为mysql_master  、mysql_slave


mysql> grant replication slave  on *.* to 'backup'@'192.168.0.139' identified by '123456';

mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';

mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';

====

/etc/my.cnf


server-id=2

log-bin

master-host=192.168.0.137

master-user=backup

master-password=123456

master-port=3306

目前不可行,总是报错

mysql 官方给的解释:

Obsolete Replication Slave Options  废弃的主从复制的选项

The following options are removed in MySQL 5.5. If you attempt to start mysqld with any of these

options in MySQL 5.5, the server aborts with an unknown variable error. To set the replication

parameters formerly associated with these options, you must use the CHANGE MASTER TO ...

statement (see Section 13.4.2.1, “CHANGE MASTER TO Syntax”).

The options affected are shown in this list:

? --master-host

? --master-user

? --master-password

? --master-port

? --master-connect-retry


? --master-ssl

? --master-ssl-ca

? --master-ssl-capath

? --master-ssl-cert

? --master-ssl-cipher

? --master-ssl-key


===

在从服务器的数据库里输入命令:

mysql> change master to master_host='192.168.0.137', master_user='backup', master_password='123456', master_port=3306;


mysql> START SLAVE;

Query OK, 0 rows affected (0.00 sec)


mysql>

             Slave_IO_Running: No   IO线程启动不起来

            Slave_SQL_Running: Yes

出错信息:

                Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server UUIDs; these UUIDs must be different for replication to work

  原因是MySQL的server UUID一样

[root@mysql-slave mysql]# pwd

/var/lib/mysql      ---》存放在此目录下

[root@mysql-slave mysql]# 

[root@mysql-slave mysql]# vim auto.cnf   修改此文件里的uuid

[auto]

server-uuid=7fce030c-9f7b-11e7-b09f-000c29e2a2e4

[root@mysql-slave mysql]# service mysqld restart

Redirecting to /bin/systemctl restart  mysqld.service

[root@mysql-slave mysql]# 

             Slave_IO_Running: Yes

            Slave_SQL_Running: Yes

====

不要在slave里写数据,会导致SQL thread线程不工作,如果已经写了,建议删除,重新启动下slave 进程

mysql> start slave;

===

relay-log.info ---》记录上次从主服务器的binlog日志里什么位置,下次去复制下载主的binlog日志的时候,知道从哪里开始。

master.info  --->连接主服务器使用的(主的ip和连接使用的用户和密码)

mysql-slave-relay-bin.000006  记录中继日志被重新执行的时候的二进制日志

====

1.主从服务器之间复制数据的时候,有延迟吗?是否有数据丢失的现象发生?

主从服务器存放在一个机房好,还是2个机房好?

2.如何减少延迟?如何避免数据丢失?

3.半同步复制是什么?

4.主服务器down机了,从服务器如何顶替主服务器工作?

5.主服务器又恢复了,又可以充当什么角色?主还是从?

6.了解mycat和oneproxy中间件程序,实现读写分离

===

联系方式:695811769@qq.com

相关内容

热门资讯

河南应用型本科高校服务新质生产... 杨刚要党的二十大报告中提出,教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。高校是...
凤凰记者探访俄军野战食堂:运输... 凤凰卫视记者卢宇光走进康斯坦丁诺夫卡前线,探访俄军食品制作与配送中心。这个工作的制坊属于俄军的独立营...
组织群众撤离时不幸牺牲,“00... 据重庆日报消息,龚宝冬同志在彭水县山体崩塌灾害中,组织群众避险撤离时不幸牺牲,被评定为烈士。重庆市人...
“沙特王储督促特朗普不要打击伊... 美媒Axios当地时间8月1日报道,据两名美国官员及一名知悉通话内容的消息人士透露,沙特王储穆罕默德...
凤凰女记者德黑兰日志丨中国企业... 【编者按】这是凤凰卫视驻伊朗记者李睿的日记。她身处德黑兰,既是战争的亲历者,也是观察者。在她的日记里...
家长投诉女教师小学内拍舞蹈视频... 文 | 张彦宗湖南永州市东安县某小学有个教音乐的女老师,在某视频平台上开了个私人号,拍摄她在学校内的...
美计划本周末发动“猛烈轰炸”伊... 美国国务院8月1日向中东地区美国公民发出广泛安全警告,建议其考虑撤离或做好迅速撤离准备。据美方消息,...
难民危机,成为特朗普的选举道具 7月29日以来,约5万名移民从摩洛哥涌入西班牙北非飞地休达。短短三天,这座人口仅8万的小城被彻底淹没...
制胜|第二集《换羽之“陆”》大... 这一集猛料加倍!思想解读类融媒体片《制胜》正在播出中今天让我们把目光聚焦陆军锋芒!高清大图速存!以上...
王虹求学谣言被澄清,网上为什么... 文|章清7月29日,北京大学数学科学学院就菲尔兹奖得主王虹的网传不实传言作出澄清:王虹是北大数院20...