MySQL8.0 主从同步不锁表(指定库备份)

文章详细介绍了如何进行MySQL主库的数据备份,包括使用mysqldump工具,设置--master-data参数,以及查看masterstatus。接着,讲述了如何将备份文件复制到从服务器并导入数据,设置从库的同步配置,启动slave并检查同步状态。同时,提到了创建主从同步专用账号的安全性考虑,以及关闭SELinux以允许服务运行的步骤。
摘要由CSDN通过智能技术生成

主库备份数据

  1. 查看主库当前binlog文件和位置

    此步骤省略:调整至第二步(使用–master-data=2参数将日志位置写入导出文件开头部分)
    mysql -uroot -p
    show master status;
    
  2. 备份数据库

mysqldump -uroot -p dbname > mydatabase.sql

#文件可指定位置#

mysqldump -uroot -p dbname > D:/bak/mydatabase.sql

mysqldump --skip-lock-tables --single-transaction --flush-logs --hex-blob --master-data=2 -uyourusername -pyourpassword --databases yourdatabase -e --max_allowed_packet=67108864 --net_buffer_length=16384 --ignore-table=notneedtable >D:/bak/filename.sql
  1. 将备份文件复制到从服务器

  2. 导入数据

mysql -uroot -p
mysql> source /tmp/mydatabase.sql
  1. 查看第二步备份的文件头部存储的信息

使用more命令(文件太大了)打开第二步备份的文件头部
查看主服务器日志文件名与pos值

 more +20 mydatabase.sql

例:图中所示

日志文件名
WIN-H7TETN00JMA-bin.000445
pos位置
155


在这里插入图片描述

  1. 设置从库的同步配置
change master to master_host = '172.16.19.159', master_user = 'salve', master_port=3306, master_password='111111', master_log_file = '第5步中获取的file', master_log_pos=第5步中获取的position;
  1. 启动同步
mysql -uroot -p
mysql> start slave;
mysql> show slave status\G 

以下几个位置检查同步状态与错误信息,若为以下内容,则配置成功

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Slave_SQL_Running_State: Replica has read all relay log; waiting for more updates

问题排查

  1. 检查主从服务器配置文件my.cnf配置文件是否配置正确(主服务器是否开启日志,主从服务器ServerId是否冲突 等等 相关资料非常多)
  2. 同步使用的账户是否授权
  3. 检查从服务器环境配置,可根据Slave_SQL_Running_State显示的错误信息,进行针对性排查修复

相关内容

创建主从同步专用账号

--为从库服务器 设置用户名和密码 账号为 slave 密码为 slave123
CREATE USER 'slave'@'%' IDENTIFIED WITH sha256_password BY 'slave123'
-- '出于安全性考虑,最好限制此账号登录Ip'
CREATE USER 'slave'@'172.16.19.159' IDENTIFIED WITH sha256_password BY 'slave123'
--设置权限
grant replication slave, replication client on *.* to 'slave'@'%'; 
--权限生效
flush privileges;

关闭selinux
1、临时关闭(重启机器后失效):
[root@cccc-218-62 ~]# setenforce
2、永久关闭(需要重启机器):
sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值