一、背景
了解并熟悉MySQL的主从同步的搭建过程,并解决搭建过程中所碰到的问题。
二、目标
了解并熟悉MySQL的主从同步的搭建过程,并解决搭建过程中所碰到的问题。
IP地址 | MySQL版本 | 主从关系 |
---|---|---|
192.168.3.244 | 5.6.51 | Master |
192.168.3.245 | 5.7.41 | Slaver |
192.168.3.246 | 8.0.33 | Slaver |
三、过程
1、安装对应版本的MySQL
MySQL安装部署-5.6.51-rpm
MySQL安装部署-5.7.41-rpm
MySQL安装部署-8.0.33-rpm
2、配置主(Master)数据库
(1) 修改数据库配置文件
vim /etc/my.cnf
更改配置文件:
[mysqld]#开启二进制日志
log-bin=mysql-bin #标识唯一id(必须),一般使用ip最后位
server-id=254
(2) 初始化
mysql_install_db --user=mysql --defaults-file=/etc/my.cnf
(3) 启动服务
mysql -uroot -p
(4) 修改密码
SET PASSWORD = PASSWORD(
'123456'
);
mysql -uroot -p123456
(5)设置可远程连接的权限
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
(6) 查看主服务器状态 默认初始值:
show master status;
master_log_file='mysql-bin.000005'
master_log_pos=120;
如果不是初始值,是因为设置了copy用户导致Position数据增加 需要重置一下状态
重置状态:
reset master;
(7) 对主库来说依然需要创建一个用于同步数据的账号,授权用户
grant replication slave on *.* to 'copy'@'%' identified by '123456';
3. 配置从(Master)数据库
3.1 [5.7.41]配置
1)配置文件
vim /etc/my.cnf
加入如下配置:
server-id=255
重新启动mysql服務:
systemctl restart mysqld
2)查看服务器状态 初始状态:Empty set
show slave status;
如果不是初始状态,建议重置一下
重置命令如下:
stop slave; #停止复制,相当于终止从服务器上的IO和SQL线程
reset slave;
3)设置从服务器的master
change master to master_host='192.168.3.244',
master_user='copy',
master_port=3306,master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=120;
4)执行开始复制
start slave;
5)查看主从复制是否搭建完成
show slave status \G
3.2 [8.0.33]配置
1)配置文件
vim /etc/my.cnf
加入如下配置:
server-id=256
重新启动mysql服務:
systemctl restart mysqld
2)查看服务器状态 初始状态:Empty set
show slave status;
如果不是初始状态,建议重置一下
重置命令如下:
stop slave; #停止复制,相当于终止从服务器上的IO和SQL线程
reset slave;
3)进入mysql后,设置从服务器的master
change master to master_host='192.168.3.244',
master_user='copy',
master_port=3306,master_password='123456',
master_log_file='mysql-bin.000001',master_log_pos=120;
4)执行开始复制
start slave;
5)查看主从复制是否搭建完成
show slave status \G
如果 Slave_IO_Running: 为no 执行如下命令:
stop slave;
reset slave;
start slave;
四、结果
1)在主服务器中建立一个testdb数据库:
2)在主服务器的testdb中建立一个t_user表并插入数据
3)可以发现主服务器的表中添加了值,从服务器中的表中也会添加一模一样的值
从库[5.7.41]:
从库[8.0.33]:
文章来源:https://www.toymoban.com/news/detail-457413.html
巨人的肩膀:
MySQL主从复制的简单搭建_mysql 主从复制_yuwenS.的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-457413.html
到了这里,关于MySQL主从同步(不开GTID)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!