Linux系统下MYSQL主从同步

103 篇文章 5 订阅

[以下操作使用root用户进行]

一、主从库系统环境

1.主库系统:CentOS Linux release 7.6.1810 (Core)

2.从库系统:Ubuntu 18.04.3 LTS

 

二、主从库系统MYSQL版本

1.主库MYSQL版本:mysql  Ver 8.0.16 for Linux on x86_64 (MySQL Community Server - GPL)

 

2.从库MYSQL版本:mysql  Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using  EditLine wrapper

 

三、主库(IP:192.168.117.6)MYSQL配置

1.找到mysql的配置文件my.cnf

locate my.cnf
  • 如下图,路径为/etc/my.cnf

  • 我们在修改这个my.cnf前先把这个文件备份一下
cp /etc/my.cnf /etc/my.cnf_back
  • 我们将这个my.cnf文件打开
vi /etc/my.cnf
  • [mysqld]下增加如下配置,其中binlog-do-db是指定作为要同步的数据库,如果需要所有数据库都同步,那么这一项可以去掉

  • 修改完成后重启mysql服务
service mysqld restart
  • 登录mysql,执行完下面的命令后输入root用户的密码即可
mysql -uroot -p
  • 在master数据库创建数据同步用户,授予用户 slave REPLICATION SLAVE权限和REPLICATION CLIENT权限,用于在主从库之间同步数据。
CREATE USER 'slave'@'%' IDENTIFIED BY '@#$Rfg345634523rft4fa';
ALTER USER 'slave'@'%' IDENTIFIED WITH mysql_native_password BY '@#$Rfg345634523rft4fa';
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';

 

>>语句中的%代表所有服务器都可以使用这个用户,如果想指定特定的ip,将%改成ip即可。

  • 查看主mysql的状态
show master status;

上面图中的File和Position在从库配置中会用到,记录下FilePosition的值,并且不进行其他操作以免引起Position的变化

  • 主库配置完毕

 

四、从库(IP:192.168.117.5)MYSQL配置

  • 同样找到my.cnf的位置
locate my.cnf

如下图,my.cnf的位置在 /etc/mysql/my.cnf

  • 同样备份这个文件
cp /etc/mysql/my.cnf /etc/mysql/my.cnf_back
  • 编辑my.cnf文件
vi /etc/mysql/my.cnf

[mysqld]下增加如下配置:

  • 重启mysql
service mysql restart
  • 登录mysql,执行下面命令后输入密码即可
mysql -uroot -p
  • 执行同步主库命令
change master to master_host='192.168.117.6', master_user='slave', master_password='@#$Rfg345634523rft4fa', master_port=3306, master_log_file='mysql-bin.000006', master_log_pos= 6033, master_connect_retry=30;

【参数说明】

master_host :Master的地址

master_port:Master的端口号

master_user:用于数据同步的用户

master_password:用于同步的用户的密码

master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值

master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值

master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒
 

  • 开启主从复制
start slave;

 

  • 查看主从同步状态(\G是格式化输出)
show slave status \G;

[SlaveIORunning 和 SlaveSQLRunning 都是Yes说明主从复制已经开启]

  • 从库配置完成
  • 现在可以在主库中增加一条数据,然后看从库中是否有该数据,如果有则说明,主从同步已经配置成功了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huayang183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值