Mysql相互复制(互为主从)详细配置步骤

文章目录

    • 前言
        • 1. 设置数据库的配置文件
            • 库1:
            • 库2
        • 2. 进入数据库创建从账号
            • 库1:
            • 库2:
        • 3. 查看生成的binlog日志,记录下来日志名字和起始位置。
            • 库1:
            • 库2:
        • 4. 进入数据库进行从读设置,指定要读的主服务库的地址、用户、密码、日志等
            • 库1:
            • 库2:
        • 5. 启动复制,并查看。
            • 库1:
            • 库2:

前言

环境:Centos7
数据库:Mysql5.7
库1地址:10.8.161.9
库2地址:10.8.161.18



1. 设置数据库的配置文件

库1:

vim /etc/my.cnf

[mysql] 下添加如下
server-id=1 #任意自然数n,只要保证两台MySQL主机不重复就可以
log_bin=master-bin #开启二进制日志
auto_increment_increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n
auto_increment_offset=1 #起始值。一般填第n台主MySQL。此时为第一台主MySQL
binlog-ignore=mysql #忽略mysql库
binlog-ignore=information_schema #忽略information_schema库
replicate-do-db=test #要同步的数据库,默认所有库
库2

vim /etc/my.cnf

[mysqld]下添加如下
server-id=2 #任意自然数n,只要保证两台MySQL主机不重复就可以
log_bin=master-bin #开启二进制日志
auto_increment_increment=2 #步进值auto_imcrement。一般有n台主MySQL就填n
auto_increment_offset=2 #起始值。一般填第n台主MySQL。此时为第一台主MySQL
binlog-ignore=mysql #忽略mysql库
binlog-ignore=information_schema #忽略information_schema库
replicate-do-db=test #要同步的数据库,默认所有库

2. 进入数据库创建从账号

库1:
进入数据库创建
mysql > grant replication slave on *.*  to  'test(#用户名)'@'10.8.161.18(#指定库2的地址访问)'  identified by 'aA123.com(#密码)';
mysql > exit
systemctl restart mysqld    # 重启数据库 (目的:刷新新创的用户、刷新刚刚的配置文件,例如开启了日志文件)
库2:
进入数据库创建
mysql > grant replication slave on *.*  to  'test(#用户名)'@'10.8.161.9(#指定库1的地址访问)'  identified by 'aA123.com(#密码)';
mysql > exit
systemctl restart mysqld    # 重启数据库 (目的:刷新新创的用户、刷新刚刚的配置文件,例如开启了日志文件)

3. 查看生成的binlog日志,记录下来日志名字和起始位置。

库1:
进入数据库
mysql> show master status\G

Mysql相互复制(互为主从)详细配置步骤_第1张图片

库2:
进入数据库
mysql> show master status\G

Mysql相互复制(互为主从)详细配置步骤_第2张图片

4. 进入数据库进行从读设置,指定要读的主服务库的地址、用户、密码、日志等

库1:
mysql> \e
CHANGE MASTER TO
MASTER_HOST='10.8.161.18',    # 指定库2的地址
MASTER_USER='tese',           # 指定库2创建的用户名  
MASTER_PASSWORD='aA123com',   # 指定库2创建的密码
MASTER_LOG_FILE='mysql-bin.000002',    # 指定库2的日志文件名
MASTER_LOG_POS=301;                    # 指定库2的日志起始位置307
    -> ;

库2:
mysql> \e
CHANGE MASTER TO
MASTER_HOST='10.8.161.9',     # 指定库1的地址
MASTER_USER='tese',           # 指定库1创建的用户名  
MASTER_PASSWORD='aA123com',   # 指定库1创建的密码
MASTER_LOG_FILE='mysql-bin.000002',    # 指定库1的日志文件名
MASTER_LOG_POS=321;                    # 指定库1的321
    -> ;

5. 启动复制,并查看。

库1:
mysql >  start slave;    #启动
mysql > show slave status\G     #查看

Mysql相互复制(互为主从)详细配置步骤_第3张图片

库2:
mysql >  start slave;    #启动
mysql > show slave status\G     #查看

Mysql相互复制(互为主从)详细配置步骤_第4张图片

======================================================================================================================================================================================================================================================================================================
辛苦浏览观看,如果对你有帮助,请顺手点个赞吧 (σ゚∀゚)σ…:*☆

你可能感兴趣的:(Mysql,mysql,互为主从,linux,运维)