mysql主从复制配置

参考

https://blog.csdn.net/deeplearnings/article/details/78398526

两个mysql版本最好相同,或者前面的版本相同,如5.7.x

 

MASTER

vim /etc/my.cnf

# 添加如下配置,如提示这个文件只读,把权限改成777,改完后再改回664,要不然mysql无法启动
[mysqld]
log-bin=mysql-bin   //启用二进制日志
server-id=222      //唯一,不能和slave重复

启动mysql并连接

# 创建slave 的账号密码
GRANT REPLICATION SLAVE ON *.* to 'slave'@'%' identified by 'dengbin97mysql';
# 刷新权限
flush privileges;

# 查看master的状态,记录下file和position字段,slave会用到
show master status;

+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      590 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+

SLAVE

# 同master,修改server的id,不重复即可,
# slave 不需要开启二进制日志,master开启二进制日志是用来给slave同步用的
server-id=1024

启动mysql并连接

# 执行如下命令
change master to
master_host='119.29.161.XXX',   # master的ip
master_user='slave',            # 之前创建的用户名
master_password='dengbin97mysql', # 密码
master_log_file='mysql-bin.000001', # master上查看的状态中的日志文件名和position
master_log_pos=590;

# 开启slave
start slave;

# 查看slave状态

show slave status\G;

# 这两项为yes即可,master的操作会同步到slave
# Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
# Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

你可能感兴趣的:(mysql,主从)