版权声明:Dirichlet_zju https://blog.csdn.net/Dirichlet_zju/article/details/82841344
环境要求:Windows 操作系统 以及 Mysql 5.7
假设数据库A为主机,数据库B为从机(A向B提供同步服务,即B中的数据来自A)
A机器:IP=192.168.4.134
B机器:IP=192.168.4.117
下面看单向同步的配置步骤:
1 在机器A中建立一个新的数据库
检查是否开启InnoDB引擎
为数据库启动InnoDB引擎的方法
Mysql中默认的是MyISAM数据引擎,可惜此引擎不支持事务处理,我们需要将默认的数据引擎改为InnoDB。
其中InnoDB和BerkeleyDB支持事务处理,只是默认的情况下都是被disable的。所有的引擎里面,InnoDB性能最强大,算是商业级的。
启动InnoDB引擎的方法如下:
1)关闭mysql的服务
2)修改my.ini
将default-storage-engine=INNODB前的注释(#)去掉
将skip-innodb这行注释(加上#)
3)保存后重启mysql服务
2 打开A机器的mysql安装目录下的my.ini文件
在文件最后添加:
server-id=1
log-bin=c:\mysqlback #启动同步事件的日志记录文件
binlog-do-db=valverig #提供数据同步服务的数据库
3 在机器B中建立一个和机器A结构相同的数据库:
同样检查是否开启InnoDB引擎
注:机器A和B的数据库结构必须一致,否则无法构成同步
4 打开B机器的mysql安装目录下的my.ini文件,在文件最后添加:
#lyxadding
server-id=2
#同步的数据库
replicate-do-db=valverig
在mysql的shell界面输入:
change master to
master_host='192.168.4.134',
master_port=3306,
master_user='hterp',
master_password='123456',
master_log_file='loglog920.000002',
master_log_pos=2021;
5.完成以上配置之后,在机器A的mysql控制台中输入:
GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO [email protected] IDENTIFIED BY '123456' ;
#这句是为让从服务器有足够的权限从主服务器是哪个接收二进制日志文件
6 重启机器A和B的mysql数据库,
在机器B的mysql控制台:
mysql>start slave;
如果想查看同步配置的情况,可以按如下输入:
机器A的mysql控制台:
Mysql>show master status;
机器B的mysql控制台:
Mysql>show slave status;
7 在机器A中test数据库中的backup_table表中插入一些数据,查看机器B中test数据库中的backup_table表应该同步实现了数据的改动。