mysql主从复制
主从复制准备了三台虚拟机
192.168.217.148(主),192.168.217.149(从),192.168.217.150(从)
1.修改主数据的配置文件,$ find / -name 'my.cnf';
log-bin=mysql-bin #开启二进制日志 server-id=1 #设置server-id
2.主数据修改mysql配置信息
mysq -uroot -p;
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.217.149';#给149从数据库分配权限
GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.217.150';#给150从数据库分配权限
flush privileges; #刷新权限
SHOW MASTER STATUS; #查看主数据库日志信息
3.配置从服务器149,登录mysql
$ find / -name 'my.cnf';
log-bin=mysql-bin #开启二进制日志 server-id=149 #设置server-id,保证唯一
mysq -uroot -p;
change master to master_host='192.168.217.148',master_user='root',master_password='xxx', master_log_file='mysql-bin.000016',master_log_pos=1639; #(mysql-bin.000016和master_log_pos对应主的日志文件)
start slave #开起同步进程,stop slave关闭
如果Slave_IO_Running 和 Slave_SQl_Running 都为yes的话,表示正常,上边server-id已不一样,但有报错,这是应为安装虚拟机,使用了克隆虚拟机,导致mysql的uuid一样的。正常情况下服务器上,不会有这种情况。
通过 $ find / -name 'auto.cnf'; 找到uuid,然后删除掉,重启一下mysql就可以创建新的uuid
已经正常了
4.配置从服务器150,登录mysql,同三的步骤一样的。
简单的主从已经配置成功了,效果如图,在148里边新建一张test库和一张用户表,其他服务器上也同步上去了。