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,确保主从同步已经正常工作。

相关推荐
陈文锦丫2 分钟前
Redis原理篇
数据库·redis·缓存
xuanloyer10 分钟前
oracle从入门到精通--oracle基础
数据库·oracle
陈聪.12 分钟前
MySQL全平台安装指南:Windows与Linux详细教程
linux·windows·mysql
老华带你飞17 分钟前
动物救助|流浪狗救助|基于Springboot+vue的流浪狗救助平台设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·流浪动物救助平台
w***741727 分钟前
MySQL压缩版安装详细图解
android·mysql·adb
曹牧42 分钟前
Oracle中ROW_NUMBER() OVER()
java·数据库·sql
jnrjian1 小时前
MOS oracle rman backup 脚本
数据库·oracle
zhangfeng11331 小时前
KAT-Coder-Pro V1免费活动继续,免费原来定于北京时间 2025年11月11日 ,快手也加入了模型集成商的队伍了,支持国内各种开原模型
数据库
Amarantine、沐风倩✨1 小时前
深度解析:轨迹数据抽稀到底该放数据库还是 Java?(以 56800 条数据为例)
java·开发语言·数据库
欢乐的小猪1 小时前
win10如何更改mysql的密码
数据库·mysql