此博文用于记录,不建议各位大佬进行参考,在此提示
此博文用于记录,不建议各位大佬进行参考,在此提示
此博文用于记录,不建议各位大佬进行参考,在此提示mysql
一、主服务器配置sql
#开启二进制日志 [root@mysql ~]# vim /etc/my.cnf log_bin=mysql-bin server-id=1 #赋予权限使之能够主从复制 mysql> grant replication slave on *.* to bak@'192.168.171.%' identified by '123'; mysql> show master status; 查看主服务器的结束位,一会须要在从服务器上指定从哪里开始复制主 +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 448 | | | | +------------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
二、从服务器配置vim
#开启中继日志 [root@mysql ~]# vim /etc/my.cnf relay_log=relay-bin relay_log_index=slave-relay-bin server-id=2 mysql> change master to master_host='192.168.171.135',master_user='bak',master_password='123',master_log_file='mysql-bin.000001',master_log_pos=448; #各选项含义: master_host:主服务器IP master_user:链接主服务器所使用的用户 master_password:链接主服务器所使用的用户的密码 master_log_file:指定二进制日志文件 master_log_pos:指定从哪开始复制 #启动slave mysql> start slave; #检验是否配置成功 mysql> show slave status\G # 输出结果以下图
那么,怎么去解决呢,形成这种正在链接的状况有不少,有多是防火墙策略设置报错,也有多是配置报错,检查一番后发现是MySQL服务器的UUID相同报错,这时才想起来我从服务器是克隆主服务器的(流汗、、、)服务器
#主服务器上查看UUID [root@mysql ~]# cat /usr/local/mysql/data/auto.cnf [auto] server-uuid=b106295b-25e7-11ea-b876-000c29d8c6ad #从服务器上查看UUID [root@mysql data]# pwd /usr/local/mysql/data [root@mysql data]# cat auto.cnf # 查完以后发现,沃德天,好神奇 [auto] server-uuid=b106295b-25e7-11ea-b876-000c29d8c6ad #那么怎么切换UUID呢,能够直接vim进入修改,也能够简单粗暴一点直接删除,再次重启MySQL会从新生成一个 [root@mysql data]# rm -rf auto.cnf # 删除 [root@mysql data]# systemctl restart mysqld [root@mysql data]# cat auto.cnf # 这就对了,两个UUID不相同 [auto] server-uuid=b56c5475-b0b0-11ea-81e0-000c2987dda6
再次查看主从复制状态,以下图
接下来就能够插入一些数据进行验证了
作完以后,当master插入数据后,slave会直接复制数据,而slave写入数据,master却无任何反应ide