MYSQL5.5 主从同步 window

一,主服务器上的操作
1.--将主机阻断写操作并导出数据
执行如下命令进去mysql命令窗口:
mysql -uroot -p密码;
--加锁,以免导数据时数据库数据发生变化。
mysql>FLUSH TABLES WITH READ LOCK;
--打开一个新的命令窗口导出主机数据库
mysqldump -u root -p密码 --opt -R jq > jq.sql
--在mysql命令窗口为主机解锁
mysql> UNLOCK TABLES;
 
 
2.配置主服务器,找到mysql的配置文件 my.ini
往文件最末尾添加如下内容:
server-id=1  #这个要唯一,从服务器待会填不一样的数字
log-bin=mysql-bin #开启二进制日志功能
binlog-do-db = jq # 要复制同步的数据库
重启mysql服务以便让配置生效。
net stop mysql;
net start mysql;
 
3.启动服务后,执行如下命令进去mysql命令窗口:
mysql -uroot -p密码;
在命令窗口查看主服务器的状态。并记录以下信息:file:mysql-bin.000002  Position:1529881(从服务器需要用到)
SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000002 | 1529881 | jq |   |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
 
 
二.配置并导入数据到从服务器。
 
1.执行如下命令进去mysql命令窗口:
mysql -uroot -p密码;
删除已经有的库并创建新的数据库
drop database jq;
create database jq;
将数据导入数据库中,也可以使用工具实现导入。
mysql -u root -p密码 jq< 存放的路径/jq.sql
 
 
2.配置从服务器的my.ini文件。
往文件最末尾添加如下内容:
server-id=2  #这个要唯一,主服务器填不一样的数字
log-bin=mysql-bin #开启二进制日志功能
binlog-do-db = jq # 要复制同步的数据库
重启mysql服务以便让配置生效。
net stop mysql;
net start mysql;
 
3.--从机操作(在mysql命令窗口执行)
SLAVE STOP;
reset slave;
CHANGE MASTER TO MASTER_HOST='主机IP',
MASTER_USER='主机root用户',
MASTER_PASSWORD='主机root密码',
MASTER_LOG_FILE=' mysql-bin.000002',
MASTER_LOG_POS= 1529881;
start slave;
show slave status\G
如果有以下显示就表示配置成功。
 
 Slave_IO_Running: Yes    
 Slave_SQL_Running: Yes 
 
备注:程序去写数据时,配置的链接URL数据库名一定要和数据库一致(大小写一致),
配置的my.ini要同步的数据库也是如此,都保持大小写一致。要不然产生不了binlog。

 

猜你喜欢

转载自rockethj8.iteye.com/blog/2001669