mysql 主从同步 方法1:

2017-01-11

自己的虚拟机环境;master:192.168.202.131slave ;192.168.202.132一、 主服务器配置1、编辑/etc/my.cnf文件在mysqld下添加以下字段server-id=131 #主服务器标识,主要是唯一性,没什么限制log-bin=mysql-bin #指定二进制日志文件的名称binlog-do-db=mysql #需要同步的数据库,2、保存并重启mysql服务3、设置读锁mysql> flush tables with read lock;mysql> flush privileges;4、查看当前二进制日志名和偏移量值,从库按这个点开始进行数据恢复,之前的数据需要人工同步[root@localhost ~]# mysql -uroot -p123456mysql> show master status;+------------------+----------+--------------+------------------+-------------------+| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |+------------------+----------+--------------+------------------+-------------------+| mysql-bin.000005 | 409 | mysql | | |+------------------+----------+--------------+------------------+-------------------+1 row in set (0.00 sec)5.刷新日志mysql>flush logs; #因为刷新日志file的位置会+1,即File变成为:mysql-bin.000006(很多问题出在这一步)6、解除读锁mysql> unlock tables;7、在主服务器上为从服务器创建一个用于同步的用户mysql>grant replication slave on *.* to u01@'192.168.202.%' identified by '123456';此种方式做同步,这一步是必须要做的或则是已经授权过的,不然下面会 报错二、从服务器配置1、编辑/etc/my.cnf文件在mysqld下添加以下字段server-id=132 #从服务器标识log-bin=mysql-bin #与主服务器一致replicate-do-db=mysql #同步的数据库relay-log=relay_log #2、保存并重启mysql服务3、[root@localhost ~]# mysql -uroot -p123456mysql>slave stop;#停止slave同步进程#执行同步语句mysql> change master to master_host='192.168.202.131',-> -> master_user='root',-> -> master_password='123456',-> -> master_log_file='mysql-bin.000006',#保持与主服务信息一致(因为在主服务器上已经刷新,所以file位置要加1)-> -> master_log_pos=409; #保持主服务信息一致mysql> start slave #开启slave同步进程mysql> show slave status/G;Slave_IO_Running: YesSlave_SQL_Running: Yes以上这两个参数的值为Yes,即说明配置成功!三、 验证测试1、在主库中新增一张表,添加测试数据2、查看从库中是否完成同步

本文出自 “何必滥情” 博客,谢绝转载!
最新更新:

第七城市

栏目导航(关闭)