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

相关推荐
国服第二切图仔12 分钟前
【KWDB 创作者计划】一文掌握KWDB的时序表管理
数据库·kwdb
dundunmm22 分钟前
【数据挖掘】Apriori算法
数据库·python·apriori算法·频繁项集·关联规则
吾日三省吾码30 分钟前
强啊!Oracle Database 23aiOracle Database 23ai:使用列别名进行分组排序!
数据库·oracle
秋夜Autumn1 小时前
内容社区系统开发文档
数据库·mysql
暗恋 懒羊羊2 小时前
【MySQL】内置函数
数据库·mysql
杨江2 小时前
SQL Server执行安装python环境
运维·服务器·数据库
Gauss松鼠会2 小时前
GaussDB数据库事务管理:高可靠与高性能的实践之道
数据库·gaussdb
极小狐2 小时前
极狐Gitlab 里程碑功能介绍
运维·数据库·安全·c#·gitlab
张哈大3 小时前
【Redis | 基础总结篇 】
数据库·redis·缓存