欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql主从库配置

程序员文章站 2022-03-10 16:45:19
1.主库1.登录主库mysql并创建同步用户:mysyncmysql> 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=1log_bin...

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

相关标签: mysql