mysql主从复制(linux主+windows从)

环境:1、(主)阿里云ECS服务器  linux centOS 7.2 64位

      2、(从) windows 10 64位

      3、(mysql)要求版本一致,均采用 mysql-5.7.22-winx64 版本

一、主服务设置

在linux中的 /etc/my.cnf (mysql的配置文件路径)

执行 vi my.cnf  进行编辑

在文件的 [mysqld] 下 添加设置,保存

log-bin = mysql-bin

server-id = 1

binlog-do-db = test


参数注解:

binlog-do-db=test 表示需要备份的数据库为test 
binlog-ignore-db=mysql 表示不需要备份的数据库为mysql 
如果两个都不设的话,从服务器会复制主服务器的全部数据库 
log-bin=mysql-bin 表示开启二进制日志,并把二进制日志前缀改为mysql-bin

二、从服务设置

在 mysql 的 my.ini 中的 [mysqld] 中添加设置,保存

log-bin=mysql-bin  (与主服务的一致)
server-id = 2
replicate-do-db=test
#同步某表用  replicate-wild-do-table
replicate-wild-do-table =test.test
replicate-wild-do-table =test.test1

replicate-wild-do-table =test.test2


三、分别启动主从服务的mysql

主:mysql中执行

在 mysql.user表中创建 mytest用户:

create user 'mytest'@'%' identified by '123456';   

给mytest用户配置主从复制的权限:

grant replication slave on *.* to 'mytest'@'%' identified by '123456';

刷新权限:

flush privileges; 

查看主服务状态:

show master status;



从:mysql中执行  

主从设置:

change master to master_host='服务器地址',master_user='mytest',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=5759;

参数详解: 
master_host: 主服务器的IP 
master_user: 主服务器上新创建的用户名 
master_password: 用户的密码 
master_port: 主服务器的端口,如果未曾修改,默认即可。 
master_log_file: 主服务器二进制日志文件的名称,填写查看主服务器的master状态时显示的File的值 
master_log_pos: 日志的位置,填写查看主服务器的master状态时显示的Position的值

启动从服务:

start slave;

查看从服务状态:

show slave status \G   ( Slave_IO_Running  和  Slave_SQL_Running  都是yes即可 


完成

猜你喜欢

转载自blog.csdn.net/langqingj/article/details/80924251