mysql 5.7.19 linux实时同步到windows数据库

mysql 5.7.19是现在最新版本的数据库,由于业务需求,要将linux服务器上的数据库的某些表实时同步到另外一台windows服务上的数据库中。下面详细过程:
主数据库设置:linux下进入 /etc/mysql/mysql.conf.d#,修改mysqldf配置文件
修改配置文件
设置需要同步的数据库
设置完成后,重启linux数据库服务(service mysql restart),进入mysql命令行,同步授权:
grant replication slave on *.* to 'root'@'从数据库ip' identified by '主数据库密码';
刷新权限
flush privileges;
显示主服务器的状态信息,并且找到file 和 position 的值记录下来;
mysql>show master status \g;
记下file 和 position,从库配置要用,如下
mysql> show master status;
+------------------+----------+---------------------------------------------+------------------+-------------------+
| file | position | binlog_do_db | binlog_ignore_db | executed_gtid_set |
| mysql-bin.000001 | 594 | shenxianyun_console,shenxianyun_portal,test | | |
1 row in set (0.00 sec)
从数据库配置:windows服务器下找到mysql解压目录(目前5.7.19只有解压版),该目录下新增一个my.ini文件,具体内容可复制如下:
[mysqld]
port=3306
basedir=d:/mysql-5.7.19-winx64
datadir=d:/mysql-5.7.19-winx64/data/
max_connections=1000
character-set-server=utf8
default-storage-engine=innodb
lower_case_table_names = 1
sql_mode=no_engine_substitution,strict_trans_tables
#skip-grant-tables
server-id=2
replicate-ignore-db = mysql #(不复制的表,自定义添加删除)
replicate-ignore-db = forestrywarn_telit
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-wild-do-table = 数据库名.user #(需要复制的表,自定义添加删除)
replicate-wild-do-table = 数据库名.student
replicate-wild-do-table = 数据库名.school
relay-log=relay-bin
relay-log-index=relay-bin.index
[client]
default-character-set=utf8
[mysql]
保存后,重启mysql数据库。
进入mysql命令行窗口输入:
change master to master_host='主ip',master_port=3306,master_user='root',master_password='密码', master_log_file='mysql-bin.000001',master_log_pos=594;(master_log_file、master_log_pos为上文的file和position值)
接着输入:
start slave;
show slave status;
完成,查看打印的日志
两个yes,说明主从同步成功!
(预先在从数据库上新建对应的数据库,并导入主数据库上对应的表,即可完成主从数据实时同步)