MySql数据库同步方案

假设有A,B两台数据库,且能相互通信。

A数据库IP:192.168.1.10

B数据库IP:192.168.1.20

 

准备:

数据库操作,务必提前备份好原始数据。
两台服务器的MySQL数据,先同步一次。保证数据完全一致。停止mysql服务,防止有数据生成。

 

第一步:

配置主数据库:

在主数据库上进行配置,打开MySQL配置文件,参数设置:

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=your_database_name

 

使用SSH登陆到Linux后台,输入:

mysql -u root -pPassword

Password是你的密码

 

操作SQL命令:

创建用户并授权复制权限。

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

 接着输入:

SHOW MASTER STATUS;

记录File和Position的值,等会儿要用。

 

第二步:

配置从数据库:

在主数据库上进行配置,打开MySQL配置文件,参数设置:

[mysqld]
server-id=2

使用SSH登陆到Linux后台,输入:

mysql -u root -pPassword

Password是你的密码

 

操作SQL命令:

创建用户并授权复制权限。

复制代码
STOP SLAVE;

CHANGE MASTER TO
MASTER_HOST='192.168.1.10',
MASTER_USER='repl',
MASTER_PASSWORD='yourpassword',
MASTER_LOG_FILE='mysql-bin.000040',
MASTER_LOG_POS=1747;

START SLAVE;
复制代码

 注意:

这里的IP是主数据库的IP

MASTER_LOG_FILE=File的值

MASTER_LOG_POS=Position的值

 

接着输入:

SHOW SLAVE STATUS\G;

查看数据库的同步状态。

 

如果以下两项都为Yes代表复制建立完成。否则请检测服务器是否能连通,参数是否设置正确。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

 

 

 

 

 

 

posted @   Colin.liu  阅读(18)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示