ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

【MySQL】主从配置

2022-02-01 18:32:26  阅读:150  来源: 互联网

标签:主库 SLAVE -- 配置 centos7 Master MySQL MASTER 主从


 

 

参考博客:

https://www.cnblogs.com/lelehellow/p/9633315.html

 

正好借着3台机器,可以做一个 1主 2从的分配

192.168.101.12 centos7-02
192.168.101.12 centos7-03
192.168.101.12 centos7-04

3台机器都已经安装好RPM版的8.0.27

 

主库需要做的事情是

1、开启Binlog日志

1.5、设置服务ID

2、分配从库的监听账号

3、拿到binlog文件名

首先找到配置文件:

[root@centos7-03 ~]# find / -name my.cnf
/etc/my.cnf

配置这两个参数项:

[mysqld]
# 开启二进制日志 log-bin=mysql-bin # 设置server-id server-id=1

保存后重启mysqld服务,生效配置

systemctl restart mysqld

 

然后登陆上主库,分配从库的账号及其权限

-- 创建两个从库的监听账号
CREATE USER 'SLAVE-01'@'centos7-03' IDENTIFIED BY '123456';
CREATE USER 'SLAVE-02'@'centos7-04' IDENTIFIED BY '123456';

-- 分配分配【从库副本权限】给监听账号
GRANT REPLICATION SLAVE ON *.* TO 'SLAVE-01'@'centos7-03';
GRANT REPLICATION SLAVE ON *.* TO 'SLAVE-02'@'centos7-04';

-- 刷新权限
FLUSH PRIVILEGES;

 

获取主库的bin日志文件

SHOW MASTER STATUS;

展示信息:

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 |      156 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.02 sec)

 

然后从库要和主库一样设置服务ID,为了区分MySQL

# centos7-03 机器 设置
vim /etc/my.cnf
server-id=2

# centos7-04 机器 设置
vim /etc/my.cnf
server-id=3 

# 然后都重启服务
systemctl restart mysqld

 

登陆上从库的MySQL,执行绑定SQL:

-- centos7-03的mysql执行
CHANGE MASTER TO
   -- 主库连接信息
    MASTER_PORT= 3306, -- 主库端口
    MASTER_HOST='centos7-02', -- 主库地址
    MASTER_USER='SLAVE-01', -- 主库提供的同步账号
    MASTER_PASSWORD='123456', -- 主库提供的同步账号密码
        
   -- 主库的 SHOW MASTER STATUS 展示的信息
    MASTER_LOG_FILE='mysql-bin.000001', -- 主库的日志文件名称
    MASTER_LOG_POS=156; -- 主库的日志文件最后位置6


-- centos7-04的mysql执行
CHANGE MASTER TO
   -- 主库连接信息
    MASTER_PORT= 3306, -- 主库端口
    MASTER_HOST='centos7-02', -- 主库地址
    MASTER_USER='SLAVE-02', -- 主库提供的同步账号
    MASTER_PASSWORD='123456', -- 主库提供的同步账号密码
        
   -- 主库的 SHOW MASTER STATUS 展示的信息
    MASTER_LOG_FILE='mysql-bin.000001', -- 主库的日志文件名称
    MASTER_LOG_POS=156; -- 主库的日志文件最后位置6

然后开启从库同步:

START SLAVE;

 

关闭从库同步:

STOP SLAVE;

 

查看从库同步状态:

SHOW SLAVE STATUS;
注意两个参数 Slave_IO_Running & Slave_SQL_Running 值都为Yes的时候,才算主从配置成功
mysql> SHOW SLAVE STATUS;
+----------------------+-------------+-------------+-------------+---------------+------------------+---------------------+-----------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------+----------------+-----------------------------+------------------+-------------+-------------------------+-----------+---------------------+----------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+-------------------+
| Slave_IO_State       | Master_Host | Master_User | Master_Port | Connect_Retry | Master_Log_File  | Read_Master_Log_Pos | Relay_Log_File              | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_Do_DB | Replicate_Ignore_DB | Replicate_Do_Table | Replicate_Ignore_Table | Replicate_Wild_Do_Table | Replicate_Wild_Ignore_Table | Last_Errno | Last_Error | Skip_Counter | Exec_Master_Log_Pos | Relay_Log_Space | Until_Condition | Until_Log_File | Until_Log_Pos | Master_SSL_Allowed | Master_SSL_CA_File | Master_SSL_CA_Path | Master_SSL_Cert | Master_SSL_Cipher | Master_SSL_Key | Seconds_Behind_Master | Master_SSL_Verify_Server_Cert | Last_IO_Errno | Last_IO_Error                                                                                                                                                                                        | Last_SQL_Errno | Last_SQL_Error | Replicate_Ignore_Server_Ids | Master_Server_Id | Master_UUID | Master_Info_File        | SQL_Delay | SQL_Remaining_Delay | Slave_SQL_Running_State                                  | Master_Retry_Count | Master_Bind | Last_IO_Error_Timestamp | Last_SQL_Error_Timestamp | Master_SSL_Crl | Master_SSL_Crlpath | Retrieved_Gtid_Set | Executed_Gtid_Set | Auto_Position | Replicate_Rewrite_DB | Channel_Name | Master_TLS_Version | Master_public_key_path | Get_master_public_key | Network_Namespace |
+----------------------+-------------+-------------+-------------+---------------+------------------+---------------------+-----------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------+----------------+-----------------------------+------------------+-------------+-------------------------+-----------+---------------------+----------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+-------------------+
| Connecting to source | centos7-02  | SLAVE-02    |        3306 |            60 | mysql-bin.000001 |                 156 | centos7-04-relay-bin.000001 |             4 | mysql-bin.000001      | Connecting       | Yes               |                 |                     |                    |                        |                         |                             |          0 |            |            0 |                 156 |             156 | None            |                |             0 | No                 |                    |                    |                 |                   |                | NULL                  | No                            |          2061 | error connecting to master 'SLAVE-02@centos7-02:3306' - retry-time: 60 retries: 31 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection. |              0 |                |                             |                0 |             | mysql.slave_master_info |         0 | NULL                | Replica has read all relay log; waiting for more updates |              86400 |             | 220201 18:09:21         |                          |                |                    |                    |                   |             0 |                      |              |                    |                        |                     0 |                   |
+----------------------+-------------+-------------+-------------+---------------+------------------+---------------------+-----------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+--------------------+------------------------+-------------------------+-----------------------------+------------+------------+--------------+---------------------+-----------------+-----------------+----------------+---------------+--------------------+--------------------+--------------------+-----------------+-------------------+----------------+-----------------------+-------------------------------+---------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------+----------------+-----------------------------+------------------+-------------+-------------------------+-----------+---------------------+----------------------------------------------------------+--------------------+-------------+-------------------------+--------------------------+----------------+--------------------+--------------------+-------------------+---------------+----------------------+--------------+--------------------+------------------------+-----------------------+-------------------+
1 row in set (0.04 sec)

 

报错原因在 【Last_IO_Error】

error connecting to master 'SLAVE-02@centos7-02:3306' - retry-time: 60 retries: 31 message: Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

连接要求密码配有加密插件

回到主库更改账号的密码插件项:

ALTER USER 'SLAVE-01'@'centos7-03' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'SLAVE-02'@'centos7-04' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;
UNLOCK TABLES;

 

停止从库绑定:

STOP SLAVE;

重置从库

RESET SLAVE;

再检查主库binlog的pos值

SHOW MASTER STATUS;

然后重新配置SLAVE,再启动即可

 

标签:主库,SLAVE,--,配置,centos7,Master,MySQL,MASTER,主从
来源: https://www.cnblogs.com/mindzone/p/15859421.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有