1:先介绍环境
两台阿里云服务器 : Master(34)阿里云 Slave(226)阿里云 操作系统:CentOS 7.9 64位 Mysql版本:8.0.28 通信:采用内网IP
2:每台服务器安装Mysql
之前写过一篇安装Mysql 教程可用
3:搭建主从复制
1:主节点的搭建
(1):编辑配置文件
vim /etc/my.conf 文件, 在[mysqld] 下添加
log-bin=mysql-bin
server-id=34
skip_name_resolve=ON
(2):查看binlog是否开启
重启mysql服务,并连接mysql,查看binlog是否开启
重启mysql服务
systemctl restart mysqld
查询binlog是否开启
show global variables like '%log%';
(3):查看binlog日志列表
show master logs;
(4):查看主节点的server-id是否生效
show global variables like '%server%';
(5):在主节点上创建用于备份账号
create user 'username'@'%' identified by 'password';
GRANT REPLICATION SLAVE ON *.* TO 'username'@'%';
(6):刷新
flush privileges;
2:从节点的搭建
(1):编辑配置文件
vim /etc/my.conf 文件, 在[mysqld] 下添加
relay-log=relay-log
relay-log-index=relay-log.index
skip-log-bin
server-id=226
skip_name_resolve=ON
innodb_file_per_table=ON
(2):查看中继日志
重启mysql服务,并连接mysql,查看中继日志是否开启
重启mysql服务
systemctl restart mysqld
show global variables like '%log%';
(3):查看server-id是否生效
show global variables like '%server%';
(4):从节点配置主从连接信息
需要主节点查出 binlog 日志最新的文件和索引
show master logs
myster_log_file 和 master_log_pos 通过主节点的 命令查看。 对应Log_name 和 File_size
从节点命令
CHANGE MASTER TO MASTER_HOST='172.29.114.155',
MASTER_USER='username',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=875;
(5):开启同步
查看同步状态信息
show slave status\G;
开启同步
start slave;
再次查看状态信息,至此主从复制配置完成
4:测试
主节点上操作
create database mydb1;
show master status;
主节点图 从节点上操作
show databases;
show slave status\G;
从节点图
5:遇到的一些问题
1:从节点关闭 binlog
如果没关闭,会导致复制无效 vim /etc/my.cnf
skip-log-bin
|