mysql主从库配置
1.主库
1.登录主库mysql并创建同步用户:mysync
mysql> CREATE USER 'mysync'@'%' IDENTIFIED BY '123456';
2.授权
mysql> grant replication slave on *.* to 'mysync'@'%' identified by '123456';
3.配置文件:my.cnf
# vi /etc/mysql/my.cnf
# 在 mysqld 中增加
server-id=1
log_bin=master-bin
binlog_format=MIXED
expire_logs_days=7
binlog-do-db=test
binlog-do-db=test1
#binlog-ignore-db=mysql
# 说明:
# server-id :唯一 ID ,主库建议为 1 ,必须
# log_bin :是否开启二进制日志,必须
# binlog_format :日志记录格式,推荐
# expire_logs_days 日志过期删除的时间
# binlog-do-db :需要同步的数据库,多个时配多行
# binlog-ignore-db :不需要同步的数据库
4.重启数据库
# service restart mysqld
或者 systemctl restart mysqld
5. 查看状态
mysql> show master status;
+-------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 | 1285 | | |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
2.从库
1. 配置文件
# vi /etc/mysql/my.cnf
# 在 mysqld 中增加
server-id=2
#log_bin=slave-bin
expire_logs_days=7
relay_log=mysql-relay-bin
#log_slave_updates=1
read_only=1
replicate-do-db=test
replicate-do-db=test1
#replicate-ignore-db=mysql
# 说明:
# server-id :唯一 ID ,必须
# log_bin :是否开启二进制日志,单纯作为从库不需要配置
# expire_logs_days 日志过期删除的时间
# relay_log 中继日志
# log_slave_updates 将复制事件写进自己的二进制日志,单纯作为从库不需要配置
# read_only 防止改变数据
# replicate-do-db :需要同步的数据库(多个写多行)
# replicate-ignore-db :不需要同步的数据库
2.重启
# service restart mysqld
或者 systemctl restart mysqld
3.启动主从
mysql> stop slave;
mysql> change master to master_host='192.168.1.1',
master_user='mysync',
master_password='Xs123456!',
master_log_file='master-bin.000001',
master_log_pos=0,
master_port=3306;
mysql> start slave;
4.检查状态
mysql> show slave status\G;
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.2.222 // 主服务器地址
Master_User: mysync // 授权帐户名,尽量避免使用 root
Master_Port: 3306 // 数据库端口,部分版本没有此行
Connect_Retry: 60
Master_Log_File: master-bin.000004
Read_Master_Log_Pos: 600 //#同步读取二进制日志的位置,大于等于 Exec_Master_Log_Pos
Relay_Log_File: ddte-relay-bin.000003
Relay_Log_Pos: 251
Relay_Master_Log_File: mysql-bin.000004
Slave_IO_Running: Yes // 此状态必须 YES
Slave_SQL_Running: Yes // 此状态必须 YES
主要检查:Slave_IO_Running、Slave_SQL_Running,两个必须为YES
本文地址:https://blog.csdn.net/qq_35210826/article/details/107336945