十五、mysql主从同步结构模式 ----主从从(链式复制)
配置mysql主从从结构
主库 192.168.4.51 从库 192.168.4.52 ( 做51主机从库) 从库 192.168.4.53 ( 做53主机从库)
要求:客户端访问主库51 时 创建库表记录 在52 和53 数据库服务器都可以看到
主从同步未配置之前,要保证从库上要有主库上的数据。
禁用selinux ]# setenforce 0 关闭防火墙服务]# systemctl stop firewalld
物理连接正常 ]# ping -c 2 192.168.4.51/52 数据库正常运行,管理可以从本机登录
配置51
vim /etc/my.cnf //1. 启用binlog日志
[mysqld]
server_id=51
log_bin=master51
binlog_format="mixed"
systemctl restart mysqld //重启服务
mysql> grant replication slave on *.* to repluser@"192.168.4.52" identified by"123456"; //2. 创建用户授权
mysql> show master status; //3. 查看正在使用binlog日志信息
配置52
mysql -h192.168.4.51 -urepluser -p123456 //1.验证主库的用户授权
vim /etc/my.cnf //2. 启用binlog日志,指定server_id 和 允许级联复制
[mysqld]
server_id=52
log_bin=master52
binlog_format="mixed"
log_slave_updates //允许级联复制
systemctl restart mysqld //重启服务
change master to master_host="192.168.4.51", master_user="repluser", master_password="123456", master_log_file="master51.000001",master_log_pos=750; //3.数据库管理员本机登录,指定主数据库服务器的信息
mysql> start slave ; //4.启动slave 进程
mysql> show slave status; //5.查看从库进程状态信息,Slave_IO_Running: Yes Slave_SQL_Running: Yes 需为yes
mysql> grant replication slave on *.* to user52@"192.168.4.53" identified by"123456"; //6.创建用户授权
mysql> show master status; //7.查看正在使用binlog日志信息
配置53
mysql -h192.168.4.52 -uuser52 -p123456 //1.验证主库的用户授权
vim /etc/my.cnf //2. 指定server_id
[mysqld]
server_id=53
systemctl restart mysqld //重启服务
change master to master_host="192.168.4.52", master_user="user52", master_password="123456", master_log_file="master52.000001",master_log_pos=437; //3.数据库管理员本机登录,指定主数据库服务器的信息
mysql> start slave ; //4.启动slave 进程
mysql> show slave status; //5.查看从库进程状态信息,Slave_IO_Running: Yes Slave_SQL_Running: Yes 需为yes
客户端验证配置
在主库上授权访问gamedb库的用户;客户端使用授权用户连接主库,建库、表、插入记录;客户端使用授权用户连接2台从库时,也可以看到主库上新的库表记录
把从库恢复成独立的数据库服务器?
]# rm -rf /var/lib/mysql/master.info 主机名-relay-bin.XXXXXX 主机名-relay-bin.index relay-log.info
]# systemctl restart mysqld