配置环境
主机一:192.168.182.129
主机二:192.168.182.130
1、下载yum源(主从)
$ wget https://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
2、安装yum源,安装mysql(主从)
$ yum localinstall mysql57-community-release-el7-8.noarch.rpm
$ yum install mysql-community-server
3、启动mysql服务(主从)
$ systemctl enable mysqld
$ systemctl daemon-reload
默认登录密码在/var/log/mysqld.log中查看,我这里是:404TzTzlVK/n
4、修改mysql默认密码(主从)
$ mysql -uroot -p404TzTzlVK/n
mysql> set global validate_password_policy=LOW; #设置密码的验证强度等级
mysql> set global validate_password_length=6; #设置密码长度为6
mysql> alter user root@localhost identified by '123456';
5、配置主从配置文件
主:
vim /etc/my.cnf
# 唯一
server-id=100
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin
mysql -uroot -p123456
mysql> CREATE USER 'slave'@'%' IDENTIFIED BY '#^$jfduier3143g.';
mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
从:
vim /etc/my.cnf
# 唯一(不要与主的重复了)
server-id=101
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin
重启主从mysql服务(主从执行)
systemctl restart mysqld
查看是否开启成功(从执行)
show master status;
mysql -uroot -p123456
mysql> change master to master_host='192.168.182.129', master_user='slave', master_password='#^$jfduier3143g.', master_port=3306, master_log_file='mysql-bin.000001', master_log_pos= 1, master_connect_retry=30;
start slave;
show slave status \G;
下面这两个字段为:yes 即配置成功
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
注:
master_host :Master的地址
master_port:Master的端口号
master_user:用于数据同步的用户
master_password:用于同步的用户的密码
master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值
master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值
master_connect_retry:如果连接失败,重试的时间间隔,单位是秒,默认是60秒