mysql5.7.19版本的主从复制问题分享

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

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

<李>

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

<李>

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


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

mysql>显示变量如“% binlog %”;

| binlog_format ,,,,,,,,,,,,,| ROW ,

====

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

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

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

- - - - -》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 - - -》杭州平民软件- - - - - -》王广友

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

开源:字符集



=====

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

=====

MySQL replication 复制

,,master ,奴隶

,,write 读


=====

克隆克隆

1。先关闭计算机


=====

主从复制的前提条件:

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

=====

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


mysql>格兰特复制slave *。*“备份”@“192.168.0.139”被“123456”,

mysql>创建用户“repl”@“% .mydomain.com”被“slavepass”,

mysql>格兰特复制奴隶*。*“repl”@ % .mydomain.com的;

====

/etc/my . cnf中所做


服务器id=2

log-bin

主服务器=192.168.0.137

master-user=备份

主密码=123456

master-port=3306

目前不可行,总是报错

mysql官方给的解释:

复制奴隶Options 过时;废弃的主从复制的选项

以下选项在MySQL 5.5中被删除。如果你尝试用这些开始mysqld

选项在MySQL 5.5中,服务器中止一个未知变量错误。设置复制

参数以前这些选项,你必须使用修改主……

语句(参见13.4.2.1“语法修改主”)。

选项影响这个列表所示:

?——主服务器

?——master-user

?——主密码

?——master-port

?——master-connect-retry


?——master-ssl

?——master-ssl-ca

?——master-ssl-capath

?——master-ssl-cert

?——master-ssl-cipher

?——master-ssl-key


===

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

mysql>修改主master_host=192.168.0.137, master_user=氨阜荨?master_password=?23456’, master_port=3306;


mysql>开始奴隶;

查询好,0行影响(0.00秒)


mysql>

,,,,,,,Slave_IO_Running: No ,输入输出线程启动不起来

,,,,,,Slave_SQL_Running:是的

出错信息:

,,,,,,,,Last_IO_Error:致命错误:奴隶I/O的线程停止,因为主人和奴隶平等MySQL服务器uuid;这些uuid必须不同的复制工作

,原因是MySQL服务器的UUID一样

(root@mysql-slave MySQL) # pwd

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

(root@mysql-slave mysql) #,

(root@mysql-slave mysql) # vim auto.cnf ,修改此文件里的uuid

[汽车]server-uuid=7 fce030c - 9 - f7b 11 - e7 - b09f - 000 c29e2a2e4

(root@mysql-slave mysql) #服务mysqld重启

重定向/bin/systemctl restart mysqld。服务

(root@mysql-slave mysql) #,

,,,,,,,Slave_IO_Running:是的

,,,,,,Slave_SQL_Running:是的

====

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

mysql>开始奴隶;

===

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

mysql5.7.19版本的主从复制问题分享