接上一篇:企业实战_08_MyCat 搭建Mysql 一主二从复制环境
https://gblfy.blog.csdn.net/article/details/118651265
文章目录
- 一、解决同步和数据初始化
- 1. 主节点node1脚本同步
- 2. 数据初始化
- 二、创建复制链路
- 2.1. 登陆数据库
- 2.2. 建立复制的链路
- 2.3. 查看链路
- 2.4. 设置过滤链路 进行数据库名映射
- 2.5. 启动复制链路
- 2.6. 查看链路
- 三、测试验证主从复制
- 3.1. 服务器分布
- 3.2. 一主三从验证
- 3.3. 得出结论
一、解决同步和数据初始化
1. 主节点node1脚本同步
# 脚本同步
# 将bak_imooc.sql同步到从机node4节点
[root@node1 ~]# scp bak_imooc.sql root@192.168.92.104:/root
2. 数据初始化
从节点node3,执行数据初始化
# 创建customer_db数据库
mysql -uroot -p -e"create database customer_db"
# 将bak_imooc.sql导入到product_db数据库中
mysql -uroot -p customer_db< bak_imooc.sql
二、创建复制链路
2.1. 登陆数据库
# 登陆数据库
mysql -uroot -p
2.2. 建立复制的链路
change master to master_host='192.168.92.101',master_user='im_repl',master_password='123456',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
- master_host:主节点的ip
- master_user:在主节点创建数据复制同步的用户
- master_password:主从复制用户的密码
- MASTER_LOG_FILE:同步开始的时间点(开始同步的文件名,开始复制日志的事务点),这个记录在备份同步的文件中
[root@node2 ~]# more bak_imooc.sql # 内容
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;
2.3. 查看链路
show slave status \G
2.4. 设置过滤链路 进行数据库名映射
声明:如果master数据库名和从节点数据库名一致的话,设置过滤链路 可以跳过.这里是进行垂直拆分,主从数据库名不一致,因此,需要设置过滤链路。
# 主从数据库名映射change replication filter replicate_rewrite_db=((imooc_db,customer_db));
2.5. 启动复制链路
start slave;
2.6. 查看链路
show slave status \G
三、测试验证主从复制
3.1. 服务器分布
# 使用product_db
use customer_db;# 查询region_info 表数据
select * from region_info ;
3.2. 一主三从验证
node1
# 登录node1节点添
[root@node1 mysql]# mysql -uroot -p
Enter password: 123456# 使用imooc_db数据库
mysql> use imooc_db;# 修改一条数据
update region_info set region_name = "中国(china)" where region_id =1;# 查询修改后的数据
select * from region_info;
node2
# 登录node2节点添
[root@node1 mysql]# mysql -uroot -p
Enter password: 123456# 使用order_db数据库
mysql> use order_db;# 查询region_info表的数据(node1修改后的数据)
select * from region_info;
node3
# 登录node3节点添
[root@node1 mysql]# mysql -uroot -p
Enter password: 123456# 使用product_db数据库
mysql> use product_db;# 查询region_info表的数据(node1修改后的数据)
select * from region_info;
node4
# 登录node4节点添
[root@node1 mysql]# mysql -uroot -p
Enter password: 123456# 使用customer_db数据库
mysql> use customer_db;# 查询region_info表的数据(node1修改后的数据)
select * from region_info;
3.3. 得出结论
这条数据是咱们在master节点修改的,现在node1、node2、node3、node4都数据同步了,因此,一主三从环境经过验证是没问题的!
下一篇:企业实战_10_MyCat Mysql 主复制总结
https://gblfy.blog.csdn.net/article/details/118652742