mysql两个数据库怎么同步

avatar
作者
筋斗云
阅读量:0

要实现MySQL两个数据库之间的同步,可以使用MySQL自带的主从复制(Master-Slave Replication)功能。下面是配置主从复制的基本步骤:

  1. 在主服务器(Master)上设置: a. 修改my.cnf文件,通常位于/etc/mysql/my.cnf/etc/my.cnf。 b. 在[mysqld]部分添加以下内容:

    server-id=1 log-bin=mysql-bin binlog-do-db=<需要同步的数据库名> binlog-format=row 

    c. 重启MySQL服务。 d. 登录MySQL,创建一个专门用于同步的用户并授权:

    CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; 

    e. 查询主服务器的二进制日志文件名和位置:

    SHOW MASTER STATUS; 

    记下FilePosition的值,稍后在配置从服务器时需要用到。

  2. 在从服务器(Slave)上设置: a. 修改my.cnf文件,通常位于/etc/mysql/my.cnf/etc/my.cnf。 b. 在[mysqld]部分添加以下内容:

    server-id=2 relay-log=relay-bin relay-log-index=relay-bin.index 

    c. 重启MySQL服务。 d. 登录MySQL,配置主服务器信息:

    CHANGE MASTER TO   MASTER_HOST='主服务器IP',   MASTER_USER='repl',   MASTER_PASSWORD='your_password',   MASTER_LOG_FILE='从主服务器查询到的File名',   MASTER_LOG_POS=从主服务器查询到的Position值; 

    e. 启动从服务器同步:

    START SLAVE; 

完成以上步骤后,从服务器将开始与主服务器进行数据同步。你可以通过以下命令查看从服务器的同步状态:

SHOW SLAVE STATUS\G; 

如果Slave_IO_RunningSlave_SQL_Running都显示为"Yes",则表示同步正常进行中。

注意:这里的同步是单向的,只有主服务器上的数据变更会反映到从服务器上。从服务器上的数据变更不会影响到主服务器。此外,在进行数据库同步前,请确保两台服务器的MySQL版本相同,并对数据库进行备份,以防止数据丢失。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!