【Linux】MySQL主从配置

以下配置是在两个服务器分别安装完MySQL基础上完成。

一、配置主库

systemctl stop firewalld.service    // 关闭防火墙

systemctl disable firewalld.service  // 禁止开机自启

1、开启log-bin(二进制日志)

目的:开启二进制日志,记录所有对库有修改的操作(查询操作不算修改)。
操作:
1)修改MySQL配置文件:my.cnf
在mysqld下加入
log-bin=/var/lib/mysql/mysql-bin
server-id=1
log-slave-updatesbinlog-do-db=cattle
binlog-ignore-db=mysql
2)重启服务:
service mysqld restart
3)查看是否修改成功

mysql -uroot -pmysql -S /var/lib/mysql/mysql.sock -e "show variables like 'log_bin';"  

 // 输入此命令行时,会显示当前是第几个日志和第几行,此时需要记下日志号和行号,例如:

日志号:mysql-bin.000004,行号:214 

(从库以后配置时便从此位置开始,是同步的起始点)

2、加入可以让从机访问的账号

grant replication slave on *.* to 'rep' @'192.168.137.%' identified by 'o123';  

  // 192.168.137. 可以访问的从库的范围; rep:用户名;  o123:密码

flush privileges;    // 使上面的操作生效
flush tables with read lock;  // 加入只读锁
mysqldump -uroot -pmysql -S /var/lib/mysql/mysql.sock -A -B --events|gzip >/opt/rep.sql.gz  // 导出主库的数据
(gunzip 解压缩 sz下载)

unlock tables;  // 操作完成后,解开只读锁

二、配置从库:

mysql -uroot -pmysql -S /var/lib/mysql/mysql.sock </opt/rep.sql  // 导入主库的数据

          CHANGE MASTER TO
MASTER_HOST='192.168.137.11',
MASTER_PORT=3306,
MASTER_USER='rep',
MASTER_PASSWORD='o123',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=214;

start slave;  // 开始执行
show slave status\G  // 显示主从配置的状态

Slave_IO_Running: Connecting
Slave_SQL_Running: Yes  // 出现这两行,即说明配置成功。


猜你喜欢

转载自blog.csdn.net/wkx18330698534/article/details/79521224