笺注:MySQL的安装可参考 Windows2008R2_安装MySQL5.5
MySQL主从同步
让mysql-1成为主,mysql-2成为从,也就是让mysql-2可以自动同步mysql-1的指定数据库,反之不行
mysql-1:192.168.168.129
mysql-2:192.168.168.130
mysql-1:
创建测试用的库和表:
create database data1;
use data1;
create table class1 (id int,name varchar(10));
create database data2;
use data2;
create table class2 (id int,name varchar(10));
如下图:
MySQL的主配置文件:
在[mysqld]下面修改:(如果没有就手动添加)
server-id=1 # 每台服务器的ID必须是唯一的
log-bin=binlog # 启用日志
在[mysqld]下面追加:
binlog-do-db=data1 # 指明同步的库
binlog-do-db=data2
如下图:
修改完配置文件后,MySQL服务必须可以重启成功:
mysql-1赋予mysql-2可使用的权限账号 ( 用户名:zhuohua,远程客户端可访问IP:192.168.168.130,密码:888 ):
mysql> grant replication slave on *.* to zhuohua@192.168.168.130 identified by '888';
显示mysql-1的master信息;
mysql> show master status;
注释:mysql-2进行同步时要用到的数据信息(binlog.000002、488)
使用CMD命令行,切换到MySQL的安装目录下的\bin,
只是备份data1和data2这两个库到d盘,文件名为backup.sql:
mysqldump -u"root" -p"123" --databases --master-data=1 data1 data2 > d:\backup.sql
注释:加上 --master-data=1 就不用锁表。
接着,在mysql-1将d:\backup.sql,通过FTP传到mysql-2
mysql-2:
修改MySQL的主配置文件,在[mysqld]下面修改:(如果没有就手动添加)
server-id=2 # 每台服务器的ID必须是唯一的
如下图:
修改完配置文件后,MySQL服务必须可以重启成功:
使用CMD命令行,切换到MySQL的安装目录下的\bin,
导入数据库:
mysql -u"root" -p"123" < d:\backup.sql
在从数据库上设置同步:(mysql-2)
stop slave;
change master to master_host='192.168.168.129',
master_user='zhuohua',
master_password='888',
master_log_file='binlog.000002',master_log_pos=488;
start slave ;
如下图:
在mysql-2上查看从库状态,确认以下两项参数都为Yes( show slave status\G; )
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
主从测试
mysql-1:
use data1;
create table class11 (id int,name varchar(100));
use data2;
create table class22 (id int,name varchar(100));
mysql-2:
笺注:
实验中,主从同步成功;
实验中,两台MySQL服务器不论顺序重启后,同步都是正常的;
相关文章:
MySQL5.6主从/主主同步 |