0
点赞
收藏
分享

微信扫一扫

mysql 并库

上古神龙 2023-07-18 阅读 76

MySQL并库实现流程

1. 创建主库和从库

首先需要创建一个主库和一个或多个从库。主库用于写入数据,从库用于读取数据。

2. 配置主库

在主库上进行以下配置:

  1. 修改主配置文件 my.cnf,添加以下配置项:

    server-id = 1              # 设置主库的唯一标识ID
    log_bin = /var/log/mysql/mysql-bin.log   # 启用二进制日志,用于主从同步
    binlog-do-db = database_name   # 需要同步的数据库名称
    
  2. 重启主库使配置生效。

3. 创建从库账号

在主库上创建一个用于同步的从库账号,并授权访问权限。

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;

4. 配置从库

在从库上进行以下配置:

  1. 修改从配置文件 my.cnf,添加以下配置项:

    server-id = 2             # 设置从库的唯一标识ID(与主库不同)
    relay-log = /var/log/mysql/mysql-relay-bin.log   # 中继日志文件,用于将主库的二进制日志转发给从库
    log_bin = /var/log/mysql/mysql-bin.log   # 启用二进制日志,用于从库作为其他从库的主库时使用
    
  2. 重启从库使配置生效。

5. 备份主库数据

在主库上进行数据备份,用于初始化从库。

6. 导入备份数据到从库

在从库上导入主库的备份数据。

mysql -u root -p < backup.sql

7. 配置从库的主库信息

在从库上配置连接主库的信息。

CHANGE MASTER TO 
    MASTER_HOST='master_ip',     # 主库的IP地址
    MASTER_PORT=3306,            # 主库的端口号
    MASTER_USER='replication_user',    # 同步账号
    MASTER_PASSWORD='password';   # 同步账号密码

8. 启动从库同步

在从库上启动同步。

START SLAVE;

9. 检查同步状态

可以通过以下命令来检查从库和主库的同步状态。

SHOW SLAVE STATUS\G

如果状态中的 Slave_IO_RunningSlave_SQL_Running 都为 Yes,则表示同步成功。

10. 测试主从同步

在主库上进行数据写入操作,然后在从库上进行读取操作,检查数据是否同步。

代码示例

创建从库账号

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;

配置从库的主库信息

CHANGE MASTER TO 
    MASTER_HOST='master_ip',     # 主库的IP地址
    MASTER_PORT=3306,            # 主库的端口号
    MASTER_USER='replication_user',    # 同步账号
    MASTER_PASSWORD='password';   # 同步账号密码

启动从库同步

START SLAVE;

检查同步状态

SHOW SLAVE STATUS\G

以上是实现MySQL并库的流程和相关代码示例,通过按照以上步骤进行配置,即可实现主库和从库之间的数据同步。

举报

相关推荐

0 条评论