mysql8.0.26-主从复制
#确保主库和从库的防火墙关闭 systemctl stop firewalld systemctl disable firewalld #查看主库和从库mysql开启 systemctl status mysqld
主库配置(master)
修改主库配置文件 /etc/my.cnf
#msyql服务Id,确保整个集群环境中的唯一,默认为1 server-id=1 #当前服务器是否可读状态,1代表只读,0代表读写 read-only=0
#重启mysql服务 systemctl restart mysqld
创建主从复制用户,授予主从复制的权限
#创建用户名,并设置密码,该用户可以在任意主机连接mysql服务 create user 'cstech'@'%' identified with mysql_native_password by'Root@123456';
#给用户分配主从复制的权限 grant replication slave on *.* to 'cstech'@'%'
查看主库二进制的日志坐标
show master status; mysql> show master status; +---------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +---------------+----------+--------------+------------------+-------------------+ | binlog.000004 | 3014 | | | | +---------------+----------+--------------+------------------+-------------------+ 1 row in set (0.00 sec)
从库配置(slave)
修改从库配置文件 /etc/my.cnf
#msyql服务Id,确保整个集群环境中的唯一,默认为1 server-id=2 #当前服务器是否可读状态,1代表只读,0代表读写 read-only=1 #设置超级管理员为只读(可选) super-read-only=1
重启mysql服务
systemctl restart mysqld
登录mysql 在从库设置主库配置 --8.0.22之后语法
CHANGE REPLICATION SOURCE TO SOURCE_HOST='10.197.165.177', SOURCE_USER='cstech', SOURCE_PASSWORD='Root@123456', SOURCE_LOG_FILE='binlog.000004', SOURCE_LOG_POS=1229096; #SOURCE_HOST:主库ip地址 #SOURCE_USER:主库创建的远程用户 #SOURCE_PASSWORD:用户密码 #SOURCE_LOG_FILE:二进制日志文件 #SOURCE_LOG_POS:二进制日志文件位置 ###通过主库show master status查看
| 功能点 | MySQL 8.0.22 及之前版本(传统语法) | MySQL 8.0.23 及之后版本(新语法) | 关键版本分界点 |
|---|---|---|---|
| 启动/停止复制线程 | START SLAVE;/ STOP SLAVE; | START REPLICA;/ STOP REPLICA; | 8.0.22 |
| 查看复制状态 | SHOW SLAVE STATUS\G | SHOW REPLICA STATUS\G | 8.0.22 |
| 配置主库连接 | CHANGE MASTER TO ... | CHANGE REPLICATION SOURCE TO ... | 8.0.23 |
比如mysql8.22之前语法
CHANGE MASTER TO MASTER_HOST='10.197.165.183',MASTER_USER='cstech',MASTER_PASSWORD='Root@123456',MASTER_LOG_FILE='mysql-bin.000008',MASTER_LOG_POS=9167;
从库开启同步操作
start replica ; #8.0.22之后 start slave ; #8.0.22之前
查看主从复制的状态
show replica status\G; #8.0.22之后 show slave status\G ; #8.0.22之前
如果上面状态不为yes,需要执行以下命令断开主备库连接,检查从库设置主库配置是否正确
mysql 8.0.22之后命令如下
STOP REPLICA; RESET REPLICA ALL;
mysql 8.022之前命令
STOP SLAVE; RESET SLAVE ALL;
如果没有出现错误,那么恭喜你成功搭建mysql主从
9101

被折叠的 条评论
为什么被折叠?



