目标
完成mysql的主从同步,为以后学习读写分离和分库分表做准备
环境
为了搭建方便,使用过rancher搭建,使用物理机和docker类似。
ip:192.168.0.240
master:192.168.0.240:31810
slave1:192.168.0.240:30128
slave2:192.168.0.240:32555
1、主数据库环境搭建
master配置文件
说明:
1、端口映射可以修改成固定端口,因为我的这台服务器有很多服务,且端口都有规则,所以使用随机端口以免影响正常服务
2、因为rancher是在一台物理机上,所以不需要设置其他ip可以访问设置
如果需要其他物理机访问,添加ip地址。
-- 授权
CREATE USER 'master'@'192.168.0.240' IDENTIFIED WITH mysql_native_password BY 'asdfd@123';
GRANT REPLICATION SLAVE ON *.* TO 'master'@'192.168.0.240';
#刷新授权信息
flush privileges;
3、master和slave区别仅仅是配置文件中的server-id不同,注意不要重复,并且master的id是1
2、从数据库环境搭建
slave2同理
3、连接数据库
4、主数据库查看
5、在从数据库上运行命令(slave1和slave2)
CHANGE MASTER TO MASTER_HOST='192.168.0.240',
master_port=31810, -- 主数据库端口
MASTER_USER='root', -- 用户名,也新建用户,参照操作1的说明2
MASTER_PASSWORD='*****',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=156;
6、测试
1、在所有数据库上新建demo数据库
2、在主数据库上新建表user_table
3、在主数据库上的user_table插入数据
4、查看从数据库上是否新建user_table表,在表中是否有数据