时间:2021-07-01 10:21:17 帮助过:22人阅读
这两台在做mysql的主从同步,我的mysql服务器版本是5.6.10,mysql5.6之后做主从同步的时候,官方建议把master.info中的信息放在数据库中,具体位置在mysql数据库中的master.info表中 mysql的主从同步的例子已经很多了,现在主要说说我遇到的问题,主从同步的
这两台在做mysql的主从同步,我的mysql服务器版本是5.6.10,mysql5.6之后做主从同步的时候,官方建议把master.info中的信息放在数据库中,具体位置在mysql数据库中的master.info表中
mysql的主从同步的例子已经很多了,现在主要说说我遇到的问题,主从同步的设置很顺利,简要说明一下:
在主数据库中执行sql
flush tables with read lock;
查看主数据库binlog记录:
show master status;
备份主数据库:
1、可以对数据库打包:tar -zcvf /backup/mysql_dump.tar.gz /var/lib/mysql
2、可以用mysql的工具 mysqldump:mysqldump --user=root -h 127.0.0.1 --databases test_repl --default-character-set=utf8 --lock-all-tables > /backup/test_repl.sql
在从数据库上恢复数据库
1、tar包的直接解压到mysql存放数据库的目录,修改文件为mysql的权限即可
2、mysqldump的运行:mysql -uroot -p123456 < test_repl.sql恢复数据库
然后设置从数据库同步信息:
change master to
master_host='主数据库ip',
master_user='同步用户名称',
master_password='同步用户密码',
master_port=3306,
master_log_file='日志文件',
master_log_pos=日志文件所在位置;
开启从数据库同步服务
start slave;
释放主数据库的读锁,在主数据库上运行
unlock tables;
在从数据库上运行
show slave status\G
查看从数据库同步状态是否正确
主从服务器防火墙设定
在主数据库上只需放开mysql的tcp即可
iptables -A -p tcp --dport 3306 -j ACCEPT
在从服务器上需要同时放开mysql的tcp udp:
iptables -A -p tcp --dport 3306 -j ACCEPT
iptables -A -p udp --dport 3306 -j ACCEPT
这样主从同步就能正常的运行了
搞定收工