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

532次阅读
没有评论

文章出自:芥末花生

windows MYSQL 的主从复制(一主一从)
对于 MYSQL 的主从复制,我也看过网上不少帖子,N 多了,个人觉得采取地方虽然很多,可是介绍不够全面,很容易让新手走入误区啊。

主从复制做起来很简单,关键要注意的是二进制日志的问题,默认情况下,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
从库是不需要开启二进制日志的。

正文结束
 
欢迎加入 Telegram 群 https://t.me/Fit10086
文章教程好用记得留言支持啊
评论(没有评论)
载入中...