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

相关推荐
phltxy7 分钟前
Redis 事务
数据库·redis·缓存
康乾隆25 分钟前
SQL Server Always On 重新添加从库步骤
数据库·sqlserver
环流_1 小时前
redis核心数据类型在java中的操作
java·数据库·redis
雨辰AI1 小时前
SpringBoot3 项目国产化改造完整流程|从 MySQL 到人大金仓落地
java·数据库·后端·mysql·政务
一个天蝎座 白勺 程序猿1 小时前
存储治理:表空间自动目录创建与国产操作系统生态适配
数据库·kingbasees
2401_884454151 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
weelinking2 小时前
【企业级】企业级大模型合规实战:数据安全与跨境传输的技术解决方案
数据库·人工智能·机器学习·云计算·github
m0_470857642 小时前
golang如何实现目录大小统计_golang目录大小统计实现方案
jvm·数据库·python
穗余2 小时前
RAG为什么必须用向量数据库?
数据库
weixin_444012932 小时前
如何在多实例管理时隐藏MySQL版本信息_安全混淆与配置
jvm·数据库·python