来源:自学PHP网 时间:2015-04-16 10:51 作者: 阅读:次
[导读] mysql5 6新增一种不用设置log_bin文件和log位置的方法,之前我们都需要查看master机器信息(show master status),然后在slave设置master_host= 10 163 213 228 ,master_user= repl ,master_password=...
mysql5.6新增一种不用设置log_bin文件和log位置的方法,之前我们都需要查看master机器信息(show master status),然后在slave设置 master_host='10.163.213.228',master_user='repl',master_password='sangfordb',master_log_file='mysql-bin.000015',master_log_pos=193952;使用mysql5.6后可以不用这种方法配置了,只要设置my.cnf文件 log-bin=mysql-bin binlog_format=row log_slave_updates gtid-mode=ON enforce-gtid-consistency=ON 然后在slave中设置: change master to master_host='masterip',master_user='replicationuser',master_password='password',master_AUTO_POSITION=1; 其中masterip、replicationuser和password分别对应你master机的信息 常见问题: 1、show slave status中Slave_IO_State: Waiting to reconnect after a failed registration on master
解决方法: 在master上执行 grant replication slave on *.* to "repl'@'%' identified by 'sangfordb';FLUSH PRIVILEGES; 然后重新stop slave 和start slave就可以 2、从库中slave_sql_running为NO 一般在 Last_SQL_Error:项中可以看到报错的语句 Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件 这时,网上很多会教使用SET global sql_slave_skip_counter=n; 设置,但其实执行这个语句都会报错,因为启动了gtid-mode=ON 解决方法:跳过执行报错的语句 查看show slave status的最后两行:
Retrieved_Gtid_Set表示已经从master中拉取过来的事务; begin;commit; set gtid_next="AUTOMATIC"; start slave; 然后再查看show slave status\G 如果看到以下状态即可以了
PS:启动主从备份时,一定要确保主从的数据一致,因为从库遇到任何报错,即使执行update语句时,主库中的一条记录在从库中找不到,都会报导致问题2的出现,从而停止执行slave更新 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com