本文主要是介绍重要-准确-MySQL数据库主从修复,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
当从库数据需要重做时,可以用以下方法进行重建!!
主从数据库配置完整教程
环境设定:
主数据库:172.10.12.195
从数据库:172.10.12.200
数据库账号:root
数据库密码:xxxxxxx
(为了安全,所有密码将用 xxxxxxx
代替)
1. 从主数据库导出数据
使用 mysqldump
工具从主数据库导出所有数据库:
mysqldump -u root -p --all-databases --single-transaction --master-data=2 > dump.sql
输入密码 xxxxxxx
。
2. 将导出的数据传输到从数据库服务器
使用 scp
将 dump.sql
文件从主服务器传输到从服务器 172.10.12.200
:
scp -o HostKeyAlgorithms=+ssh-rsa dump.sql aaa@172.10.12.200:/tmp
这里,aaa
是从数据库的用户名,将文件传输到 /tmp
目录。
3. 在从数据库上导入数据
切换到从数据库服务器 172.10.12.200
,并将数据导入 MySQL:
nohup mysql -u root -pxxxxxxx < /tmp/dump.sql > /tmp/mysql_import2.log 2>&1 &
这将开始异步导入数据。输出和错误日志会写入 /tmp/mysql_import2.log
。
4. 查看导入日志
如果需要检查导入的进度,可以查看前50行的日志:
cd /tmp
head -n 50 mysql_import2.log
5. 配置主从同步
登录从数据库,停止和重置之前的主从配置:
mysql -u root -pxxxxxxxSTOP SLAVE;
RESET SLAVE ALL;
然后配置新的主从连接:
CHANGE MASTER TOMASTER_HOST='172.10.12.195',MASTER_USER='replicator',MASTER_PASSWORD='xxxxxxx', -- 使用复制用户的密码MASTER_LOG_FILE='mysql-bin.000849', -- 从备份文件中获取的日志文件名MASTER_LOG_POS=1291053; -- 从备份文件中获取的日志位置
以上 MASTER_LOG_FILE
和 MASTER_LOG_POS
是从导出的 dump.sql
文件中提取的主库的二进制日志文件名和日志位置。
6. 启动从数据库
启动从数据库并检查状态:
START SLAVE;
SHOW SLAVE STATUS\G;
如果配置正确,输出中 Slave_IO_Running
和 Slave_SQL_Running
应该显示为 Yes
。
这篇关于重要-准确-MySQL数据库主从修复的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!