美文网首页
Mysql主从配置记录

Mysql主从配置记录

作者: gao922699 | 来源:发表于2022-08-20 08:37 被阅读0次

官方文档:

https://dev.mysql.com/doc/refman/5.7/en/replication.html

第一步:设置主库

修改mysql配置,添加:

[mysqld]
log-bin=mysql-bin
server-id=1 //只能是正整数

重启mysql服务

查看主服务器状态:

show master status\G

第二步:开同步账号

CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';
FLUSH PRIVILEGES;

第三步:导出主库备份

mysqldump -uroot -proot --master-data=2 test_db > /root/test_db.sql

master-data参数:

导出主库当前的MASTER_LOG_FILE和MASTER_LOG_POS信息,2表示写在注释中

第四步:设置从库

[mysqld]
server-id=2 //唯一的ID

重启mysql服务

导入主库备份

USE test_db;
SOURCE /root/test_db.sql;

设置master配置

CHANGE MASTER TO 
MASTER_HOST='master_host_name',   //主库host
MASTER_USER='replication_user_name',    //上面创建的同步账号
MASTER_PASSWORD='replication_password',
MASTER_LOG_FILE='recorded_log_file_name',    //mysqldump导出的文件中的MASTER_LOG_FILE信息
MASTER_LOG_POS=recorded_log_position;   //mysqldump导出的文件中的MASTER_LOG_POS信息`

开启slave

start slave;

查看slave状态

show slave status\G;

如果

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

两项都是yes则代表OK了

排错:

Slave_IO_Running:no

一般是主库配置不对,检查host和账号密码,账号是否有权限

Slave_SQL_Running: no

slave status的Last_SQL_Errno有报错信息

先停止slave:stop slave;

运行SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

start slave;

查看是否还有报错信息,有就再执行一遍SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1;直到没有报错为止;

SQL_SLAVE_SKIP_COUNTER这个命令有待研究,执行前要看一下sql报错信息是否允许跳过;

实在不行就重新导出一份主库,把从库删了重新来一遍;

相关文章

网友评论

      本文标题:Mysql主从配置记录

      本文链接:https://www.haomeiwen.com/subject/qwjugrtx.html