windows server2012下配置mysql主从备份

工具:

1.mysql-5.7.10-win32

2.window server 2012 R2服务器两台


步骤1:

首先在主机(Master)配置文件my.ini的[mysqld]下增加如下配置

server-id = 1 #用于标识唯一的数据库,在从库必须设置为不同的值。

log-bin=d:/mysql-5.7.10-win32/log/mysql-bin #同步日志的保存路径,也可以直接写成mysql-bin,直接写mysql-bin日志文件会生成到data文件夹的根目录

binlog-do-db=mytest #指定需要同步的数据库

添加完之后重启数据库,进入mysql控制台,赋予从库权限账号,允许用户在主库上读取日志,赋予Slave从机有File权限,只赋予Slave从机有File权限还不行,还要给它REPLICATION SLAVE的权限才可以。

grant FILE on *.* to 'mysql备份用户名'@'从机ip地址XX.XX.XX.XX' identified by '密码'; 

grant replication slave on *.* to 'mysql备份用户名'@'从机ip地址XX.XX.XX.XX' identified by '密码';

flush privileges;

重启mysql,进入mysql控制台,输入命令:show master status;查看主库信息,如果该命令没数据,说明上面配置有误;File是同步会使用到的binlog文件,Position是同步的时候也要用到的。


步骤2:

从机(Slave)配置文件my.ini的[mysqld]下增加如下配置

server-id = 2

log-bin=c:/mysql-5.7.10-win32/log/mysql-bin

log-bin-index=c:/mysql-5.7.10-win32/log/binlog.index

expire_logs_days=3

replicate-do-db=mytest

log-slave-updates

slave-skip-errors=all

slave-net-timeout=60

进入从机的mysql控制台,执行如下命令

stop slave; 

change master to master_host='主机IPXX.XX.XX.XX',master_user='mysql备份用户名',master_password='密码',master_log_file='主机的同步日志文件,最后看的那个File', master_log_pos=主机配置最后查看的那个端口; 

start slave;

查看从机配置状态,执行命令show slave status,输出信息中没有错误同步应该就配置完成了


注意事项:

1.show slave status中的position和file必须和master中的对应上!

2.同步日志的路径中的文件夹必须真实存在,否则同步日志不能正常工作!

3.防火墙测试的话可以直接关闭,生产环境就加例外即可!

希望对大家有帮助,不对之处希望指出,谢谢


你可能感兴趣的:(mysql,服务器集群)