赞
踩
目的:通过配置主从复制,将131数据库配置为master(主),132数据库配置为slave(从),131更新数据可实时同步到132数据库。实现131宕机后可切换到132维持网站正常运作。
现状:
【1】131、132的主从复制功能未打开。
【2】131数据库已存在数据:
【3】132数据库无数据:
预计效果:配置成功
操作步骤:
Master(主):131
Slave(从):132
mysqldump -uroot -p --databases [DataBase1] > /opt/[DataBase1].sql
mysqldump -uroot -p --databases [DataBase2] > /opt/[DataBase2].sql
scp ./[DataBase1].sql root@xxx.xx.xx.132:/opt
scp ./[DataBase2].sql root@xxx.xx.xx.132:/opt
mysql -uroot -p < /opt/[DataBase1].sql
mysql -uroot -p < /opt/[DataBase2].sql
vi /etc/my.cnf 添加
(参数:log-bin,服务id唯一,需要复制的库,需要复制的库)
前两个字段值需要关注(每次不固定),后续有用
vi /etc/my.cnf 添加
CHANGE MASTER TO MASTER_HOST='xxx.xx.xx.131', MASTER_PORT=3306, MASTER_USER='slave', MASTER_PASSWORD='密码', MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=154;
MASTER_HOST 主服务器ip
MASTER_USER 步骤4创建的授权用户名
MASTER_PASSWORD 上述用户登录密码
MASTER_LOG_FILE,MASTER_LOG_POS 步骤5的前两个字段(请再次执行步骤5确认字段值未改变)
(备注:Reset slave命令 可用于取消上述命令)
start slave;
(关闭命令:stop slave)
show slave status\G;
(两个yes表示配置成功,如果出现其他状态,代表失败)
1.1、131 [DataBase1]库新建testdb表,切换到132数据库查看
发现bug:二、3中配置的数据库名写错了,trswas应改成[DataBase1]
修改bug过程:
1、132 mysql中执行 stop slave; reset slave;
2、131修改my.cnf中错误库名
3、131中执行service mysqld restart
4、131数据库出查看show master status,关注前两个字段
5、132 mysql中执行二、7的命令(参数修改为上一步骤重新获取的两个字段值)
6、132 mysql中执行start slave;
7、132 mysql中执行二、9命令检查双yes
1.2、重新测试在131中的[DataBase1]与[DataBase2]库中新建与删除数据表。132同步成功。
2. 测试数据一致性
需安装percona-toolkit及其依赖的perl-devel
现阶段数据是一致的,请确实是否有必要测试
-------------------------------
感谢参考:
mysql从服务器配置_mysql主从服务器配置基础教程_vaba的博客-CSDN博客
mysql主从复制配置_hmb↑的博客-CSDN博客_mysql主从复制配置
Mysql主从同步时Slave_IO_Running:Connecting ; Slave_SQL_Running:Yes的情况故障排除_MegaBytes的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。