参考文章:linux mysql5.7主从配置 详细步骤,按步骤绝对能够成功_mysql 5.7.44 配置主从集群-CSDN博客
一. 主库
1. 创建log日志
mkdir -p /var/lib/mysql
chown mysql:mysql -R /var/lib/mysql
2. 修改my.conf文件(一般都是/etc下)
vim /etc/my.conf
在[mysqld]下添加以下内容
server-id=201
log_bin=/var/lib/mysql/mysql-bin.log
expire_logs_days=10
max_binlog_size=200M
binlog_ignore_db=mysql
3. 重启MySQL
service mysql restart
4. 进入MySQL
如果你没有配置环境变量就需要进入到MySQL5.7/bin目录下执行
mysql -u root -p
5. 新增有复制权限的用户(如果提示密码不符合规则,要么换密码,要么修改密码策略)
create user 'Slave'@'%' identified by '123456';
grant all privileges on *.* to 'Slave'@'%';
flush privileges;
6. 查看节点信息
show master status;
保留File和Position信息
主库完成.
二. 从库
1. 修改配置文件
vim /etc/my.cnf
2. 添加信息
在[mysqld]下添加以下内容
server-id=202
expire_logs_days=10
max_binlog_size=200M
replicate_ignore_db=mysql
3. 重启mysql
service mysql restart
4.运行连接语句
(mysql8需要加上get_master_public_key=刚才设置的server-id)
如果你的主库端口号不是默认的3306,需要在后面加上MASTER_PORT参数
master_user:刚才创建的用户
master_password:密码
master_host主机ip
master_log_file刚才让记住的file信息
master_log_pos:刚才让记住的Position信息
master_port: 主库的端口号
change master to
master_user='Slave',
master_password='123456',
master_host='192.168.1.1',
master_log_file='mysql-bin.000001',
master_log_pos=28009735,
master_port=3307;
5. 如果连接成功就继续,如果没有连接成功就检查语句是否有问题
设置忽略错误继续执行
set global sql_slave_skip_counter=1;
6. 开启从节点
start slave;
7 .查看状态
show slave status\G;
如果这两个是Yes就是成功了,可以自己在主库上添加数据测试下.