windows MYSQL的主从复制

windows MYSQL的主从复制(一主一从)(转)



主从复制做起来很简单,关键要注意的是二进制日志的问题,默认情况下,MYSQL FOR WIN装好之后是不开启二进制日志的,这一点决定了你的成败。

两个数据库保持一致,其实很简单,别想太多,直接复制\mysql\data,整个data拷过去就可以了。这是最简单,也最快的。(前提,首先net stop mysql 停止数据库)


环境:
win 2003 两台
MYSQL 4.1版本,在这里有人会说我的版本比较老了,我不多做解释,性能上各有需求。

master主库的配置:
进入到\mysql下面,打开my.ini 在[mysqld]下添加如下配置:
server-id=1  #服务器ID,不能相同
binlog-do-db=mysqltest #需要同步的数据库名称为mysqltest
log-bin=mysql-log  #开启二进制日志,二进制日志名为:mysql-log

这个名称是自己定义的,开启二进制日志后,每次开启数据库会在\mysql\data下自动生成一个mysql-log.000001,按照顺序,每次重 启数据库会生成这样的一个二进制日志文件。master上开启二进制后还会自动生成一个mysql-log.index文件。

slave从库的配置:
同master一样,配置my.ini,在[mysqld]下添加如下:
server-id=2   #主机ID
master-host=10.1.1.10   #master主库的IP地址
master-port=3306    #主库的端口 默认为3306
master-user=slave    #同步帐号
master-password=test123   #同步帐号密码
replicate-do-db=mysqltest   #同步的数据库
master-connect-retry=10     #重试间隔时间为10s,实际时间自己按需求来。
read-only=1   #1为只读 0为可读写

保存即可。


此段为我个人添加,也是添加在[mysqld]下,用来实时记录日志的,可添加在主库,也可从库。文件夹需要自己创建
##############################
log-error="D:/mysql/logs/error.log"   #错误日志记录
log="D:/mysql/logs/mysql.log"           #实时同步数据的日志记录
long_query_time=1                                #查询时间为1秒,根据日志大小时间来定
log-slow-queries="D:/mysql/logs/slowquery.log"  #开启慢查询,看实际要求看是否需要开启
#################################


配置完毕,net start mysql 开启两个数据库。

验证:在主库使用show master status;
可以看到同步的数据库名和post值

在从库使用show slave status\G;

Relay_Master_Log_File: mysql-log.000001
      Slave_IO_Running: Yes
     Slave_SQL_Running: Yes

这样就表示已经成功连接上了。主从其实就那么简单,从库在配置好之后,在\mysql\data下会自动生成如下文件:master.info和relay-log.info
从库是不需要开启二进制日志的。

原文地址:https://www.cnblogs.com/jcgh/p/2256744.html