天天看点

mysql5.6主从同步的配置思路大纲

mysql5.6的主从同步配置跟之前老版本的配置方法貌似有些区别,折腾了好几天才理解透和成功配置好mysql5.6主从同步。大家尽管拍砖。

master数据库:

master数据库配置文件my.cnf增加如下配置:

#主从配置 #[必须]服务器唯一ID,默认是1,一般取IP最后一段 server_id = 1 #[必须]启用二进制日志 log_bin=mysql-bin ##需要做主从备份的数据库名,如果复制多个数据库,重复设置这个选项即可,不填即记录所有数据库的binlog ##要复制的数据库,多个可换行过个设置 ##binlog-do-db=databasename ##replicate-do-db=databasename ##这个和上个只选一个即可,具体区别没研究 #忽略数据库的binlog binlog-ignore-db=mysql binlog-ignore-db=test binlog-ignore-db=information_schema binlog-ignore-db=performance_schema binlog-ignore-db=yourignoredb #只保留 3 天的二进制日志,以防磁盘被日志占满 expire-logs-days=3 #设置 binlog 的格式为 MIXED binlog_format=MIXED #若涉及及同步函数或者存储过程需要配置,否则主备会产生异常不能同步 #log_bin_trust_function_creators=TRUE

配置完成衙重启master数据库服务器 service mysqld restart

在master数据库上创建slave同步的用户 grant replication slave on *.* to 'slave'@'%' identified by 'slave'; FLUSH PRIVILEGES;

锁定master数据库防止被修改,会导致下面配置失败 FLUSH TABLES WITH READ LOCK;#锁表

备份需要主从的的数据库导入到slave数据库 这个可以使用mysqldump导出,source导入,不懂的自行找资料

取得master数据库的同步状态(后面需要用到) 在master数据库执行SHOW MASTER STATUS 得到两个需要的数据:

mysql5.6主从同步的配置思路大纲

一个是File,一个是Position。记住

slave数据库操作

配置slave数据库my.cnf增加配置

#主从配置(从) server_id = 2 replicate-do-db=db1#需要同步的数据库1 replicate-do-db=db2#需要同步的数据库2

配置完重启slave数据库服务器 service mysqld restart

导入master数据库服务器备份的数据库 导入导出就不多说了,不懂的更找百度吧

slave服务器停止同步服务,避免有些自动已经开启的 stop slave

执行同步配置(MASTER_USER,MASTER_PASSWORD参数分别是master服务器创建的同步用户、密码。MASTER_LOG_FILE即master服务器SHOW MASTER STATUS得到File值,MASTER_LOG_POS为Position值) CHANGE MASTER TO MASTER_HOST='master服务器地址',MASTER_USER='slave',MASTER_PASSWORD='slave',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=1947536;

启动slave服务器的同步服务 start slave

在slave服务器查看slave运行状态 show slave status 如果结果中的Slave_IO_Running 和Slave_SQL_Running都为Yes的话,即表示成功啦

注意:mysql5.6 的主从有别于之前的版本,所以也折腾了好久才总结出来的mysql5.6主从配置方法。 题外话,广州学车C1C2驾驶证增驾B2B1A1A2A3请找: 广州学车贤安驾校

继续阅读