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

相关推荐
听雪楼主.22 分钟前
Oracle Undo Tablespace 使用率暴涨案例分析
数据库·oracle·架构
我科绝伦(Huanhuan Zhou)22 分钟前
KINGBASE集群日常维护管理命令总结
数据库·database
妖灵翎幺27 分钟前
Java应届生求职八股(2)---Mysql篇
数据库·mysql
HMBBLOVEPDX30 分钟前
MySQL的事务日志:
数据库·mysql
weixin_419658313 小时前
MySQL数据库备份与恢复
数据库·mysql
wml000003 小时前
CentOS启动两个MySQL实例
mysql·centos·3406
专注API从业者4 小时前
基于 Flink 的淘宝实时数据管道设计:商品详情流式处理与异构存储
大数据·前端·数据库·数据挖掘·flink
小猿姐5 小时前
KubeBlocks for Milvus 揭秘
数据库·云原生
AI 嗯啦5 小时前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
杜子不疼.6 小时前
《Python学习之文件操作:从入门到精通》
数据库·python·学习