Linux系统中MySQL 数据库的主从同步

在主数据库服务器上配置:

  1. 编辑主数据库服务器的配置文件(my.cnf)

    • 打开 MySQL 配置文件,一般路径为 /etc/my.cnf 或 /etc/mysql/my.cnf。

    • 确保以下参数已启用或配置正确:

      复制代码
      server_id = 1
      log_bin = /var/log/mysql/mysql-bin.log 
      binlog_do_db = your_database_name

      注: 一定是mysqld代码块中

  1. 创建用于复制的用户

    • 登录到 MySQL 控制台:mysql -u root -p

    • 创建用于复制的用户并授予 REPLICATION SLAVE 权限:

      sql 复制代码
      CREATE USER 'replication_user'@'%' IDENTIFIED BY 'your_password'; 
      sql 复制代码
      GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
  2. 执行备份操作

    • 在主数据库上执行备份操作,将数据导出为 SQL 文件:

      sql 复制代码
      mysqldump -u root -p your_database_name > backup.sql

在从数据库服务器上配置:

  1. 编辑从数据库服务器的配置文件(my.cnf)

    • 打开 MySQL 配置文件,一般路径为 /etc/my.cnf 或 /etc/mysql/my.cnf。

    • 确保以下参数已启用或配置正确:

      sql 复制代码
      server_id = 2 
      relay_log = /var/log/mysql/mysql-relay-bin.log
  2. 导入数据

    • 将备份的 SQL 文件传输到从数据库服务器,并导入数据:

      sql 复制代码
      mysql -u root -p your_database_name < backup.sql
  3. 启动主从复制

    • 登录到 MySQL 控制台:

      sql 复制代码
      mysql -u root -p
    • 执行以下命令配置主从复制:

      sql 复制代码
      CHANGE MASTER TO MASTER_HOST='master_host_ip', 
      MASTER_USER='replication_user', 
      MASTER_PASSWORD='your_password', 
      MASTER_LOG_FILE='mysql-bin.xxxxxx', 
      MASTER_LOG_POS=xxx; 
      sql 复制代码
      START SLAVE;
  4. 验证主从同步是否正常

    • 在从数据库上执行命令:

      sql 复制代码
      SHOW SLAVE STATUS\G; 

      查看 Slave_IO_Running 和 Slave_SQL_Running 是否为 Yes,确保主从同步已经正常工作。

相关推荐
Super 含4 小时前
Android 启动优化(五):线程、GC 与 IO 为什么会拖慢启动?
java·服务器·数据库
ltl4 小时前
向量检索引擎选型:决策树、RAG 回链与开放问题
数据库
坚持学习前端日记4 小时前
Python SQLAlchemy ORM 从0到1精通实战手册(基础到复杂高阶)
数据库·python·oracle
灯澜忆梦4 小时前
【MySQL17】进阶篇 | InnoDB引擎
数据库·mysql
anxiao_m5 小时前
2026制造业云桌面选型攻略,不同生产场景适配方案汇总
大数据·网络·数据库
许彰午5 小时前
# 数据库配拦截器,不用改BPMN
数据库
lv__pf6 小时前
redis【msb 2026金三银四redis上】
数据库·redis·缓存
布莱克6056 小时前
理解数据库聚簇索引:原理、优势与适用场景
数据库·mysql
Nturmoils7 小时前
只面对一张表:KingbaseES 超表如何简化海量时序数据管理
数据库