mysql怎么重新配置主从服务器
具体方法:
(推荐教程:mysql数据库学习教程)
1、重启MySQL从服务器的mysql数据库:
登录从服务器执行命令:
#service mysqld restart
2、停止从数据库mysql上slave服务器的主从同步:
为了防止主从数据不同步,需要先停止slave上的同步服务。登录从数据库mysql,执行命令:
#mysql -uroot -p
然后执行:
>STOP SLAVE;
3、对主服务器上主master数据库服务器的数据加锁:
为了避免在备份的时候对数据库进行更新操作,必须对数据库加锁。
登录从数据库mysql,执行命令:
#mysql -uroot -p
然后执行:
>FLUSH TABLES WITH READ LOCK;
ps:如果是web服务器也可以关闭Apache和Nginx服务,效果是一样的。
4、备份主服务器master数据库的数据
执行命令:
#mysqldump -u slaveusername -p p2p > back.sql.gz
然后可以通过命令:#gunzip back.sql.gz 进行解压
5、重置master服务
登录从数据库mysql,执行命令:
#mysql -uroot -p
然后执行:
>RESET MASTER;
重置master服务的目是删除所有的二进制日志,创建一个.000001的空日志。
RESET MASTER并不会影响SLAVE服务器上的工作状态,但盲目的执行这个命令会导致slave找不到master的binlog,造成同步失败。当前我们正是要重置同步,所以必须要执行它。
6、对master服务器的数据库解锁
执行:
>UNLOCK TABLES;
ps;如果你停止了Apache和Nginx,请开启它们。
7、将master上的备份文件拷贝到slave服务器上
scp -r root@[slave的ip地址] ~/back.sql :/home
8、删除slave服务器上的旧数据
ps:删除之前请务必确认该备份的是否都备份了。
登录从数据库mysql,执行命令:
#mysql -uroot -p
然后执行:
>DROP DATABASE p2p;
9、导入数据到slave服务器上
执行:
>SOURCE /home/back.sql;
或者直接执行命令:
#mysql -u root -p p2p < 文件名
10、重置slave服务
执行:
>RESET SLAVE;
执行RESET SLAVE的目的是清除slave上的同步位置,删除所有旧的同步日志,使用新的日志重新开始。
ps:执行RESET SLAVE之前必须先停止slave服务(STOP SLAVE),在第二步以停止了它。
11、开启slave服务
执行:
>START SLAVE;
12、在slave服务器上检查同步状态
执行:
>SHOW SLAVE STATUSG
检查同步状态是否成功。
来源:PY学习网:原文地址:https://www.py.cn/article.html