mysql主从复制

主库 10.0.40.200
从库 10.0.50.20

主库配置

  1. 登录主库,添加一个副库用来复制的账号
mysql -uroot -p123456axc666

GRANT REPLICATION SLAVE ON *.* to 'slave1'@'10.0.50.20' identified by '123456qqq666';
FLUSH PRIVILEGES;
  1. 修改主库配置文件,开启binlog,并设置server-id
    vim /etc/my.cnf
server-id=400101 # 主库的唯一标识
log-bin=mysql-bin
expire_logs_days=3

image.png
不加 binlog-do-db 则是所有库
3. 重启服务,查看状态

systemctl restart mysqld.service

登录 mysql 输入命令,获取当前最新数据偏移量作为从库同步开启的配置节点

show master status;

image.png
获取到 File 和 Position 参数

从库配置

  1. 配置文件修改
    vim /etc/my.cnf
server-id=22 # 唯一的值

重启服务
2. 进入从库 配置链接主库的信息
mysq -uroot -p123456

mysql> CHANGE MASTER TO MASTER_HOST='10.0.40.200',
  MASTER_PORT=3306,
  MASTER_USER='slave1',
  MASTER_PASSWORD='Report_123',
  MASTER_LOG_FILE='mysql-bin.000036',
  MASTER_LOG_POS=1250;
  1. 启动slave进程
start slave;
  1. 查看同步状态
show slave status\G;

image.png

qa
  • 只同步指定数据库
    主库配置文件 my.cnf 中添加 binlog-do-db=test1
    从库配置文件 my.cnf 中添加 replicate-do-db=test1
  • 主从配置前,主库数据迁移
    主库中 mysql data数据目录全部拷贝到从库后,由于 uuid 在data数据目录中,需要修改为原来的获取随便改一个,不然启动从库同步 start slave 会报错
    uuid 存放默认位置 数据目录/auto.cnf
    image.png
  • 迁移数据前,建议停止主库的数据更新操作锁库或者停止服务
  • stop slave; 停止同步 start slave; 开始同步
  • 后台迁移数据命令
nohup scp -P 22 -r mysql root@10.0.50.20:/usr/local/mysql >/dev/null 2>&1 &
  • 意外情况主从断开后,需重新配置同步的节点和日志 File Position
可能遇到的报错 
 [ERROR 3021(HY000):this operation cannot be performed with a running salve io thread](https://www.cnblogs.com/jichi/p/12233037.html)
处理方法
1、停止已经启动的绑定
stop slave
2、重置绑定
reset master
3、执行复制主机命令
CHANGE MASTER TO MASTER_HOST='10.0.40.200',MASTER_PORT=3306,MASTER_USER='slave1',MASTER_PASSWORD='Report_123',MASTER_LOG_FILE='mysql-bin.000043',MASTER_LOG_POS=37954082;
4、发现此时已经不报错
5、启动复制
start slave

屏蔽主从错误

mysql主从复制,经常会遇到错误而导致slave端复制中断,这个时候一般就需要人工干预,跳过错误才能继续
修改mysql的配置文件,通过slave_skip_errors参数来跳过指定类型的错误或跳过所有错误

vi /etc/my.cnf
[mysqld]
#slave-skip-errors=1062,1053,1146 #跳过1062,1053,1146类型的错误
#slave-skip-errors=all #跳过所有错误
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值