MySQL基于binlog-position的复制
[*] 两台机器,192.168.162.128(主) 192.168.162.130(从)
[*] 配置主的配置文件
vi /etc/my.cnf
[*] 创建复制用户并授权给从服务器
grant replication slave on *.* to 'rpl'@'192.168.162.130'>
[*] 重启主服务器的MySQL/etc/init.d/mysqld restart
[*] 查看master信息: 进入MySQLshow master status \G;
[*] 修改从库配置文件
vi /etc/my.cnf
[*] 重启从服务器MySQL,进入MySQL
[*] 指定主服务器IP等信息
change master to master_host='192.168.162.128 ',master_user='rpl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=647;
[*] 启动slave:start slave;
[*] 查看slave状态:show slave status \G;
报错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
意思是主和从必须都要有不同的uuid,我们分别去查看下主从的uuid
主:server-uuid=4e6c5a78-1e9a-11e7-8c65-000c29426312
查看从库uuid从库uuid:server-uuid=4e6c5a78-1e9a-11e7-8c65-000c29426312
可以看出是真的一样,原因在于 我是先安装了一个虚拟机并装好MySQL,后面有复制了一遍,作为从服务器,所以导致了这个UUID是一样的。
接下来就是解决这个UUID问题,将从库上的auto.cnf 备份下。然后重启从库。再看下从库的UUID
server-uuid=2e9c834a-1eb2-11e7-864b-000c2928472e
再次查看从库状态
从库状态正常了
11.测试主从是否正常
主库上创建一个测试库,test :create database test;
创建测试表:
create table test.test(
id int,
username varchar(10)
)ENGINE='innodb'
12.查看从库:
正常,说明主从搭建成功
页:
[1]