Mysql的实时同步 - 双机互备
来源:互联网 发布:有什么变声软件 编辑:程序博客网 时间:2024/06/11 00:17
Mysql的实时同步 - 双机互备.
设置方法:
步一 设
A 服务服 (192.168.1.43) 上 用户为 backup, 123456 , 同步的数据库为test;
B 服务服 (192.168.1.23) 上 用户为 root, 123456, 同步的数据库为test;
步二 配置 mysql.ini:
A服务器
#Replication master
server-id = 10
log-bin="E:\MySQL\logs\mysql_binary_log"
binlog-do-db=test
# Replication slave
master-host="192.168.1.23"
master-user=root
master-password="123456"
master-port=3306
master-connect-retry=60
replicate-do-db=test
B服务器
#Replication master
server-id = 2
log-bin="c:\mysql5\logs\mysql_binary_log"
binlog-do-db=test
# Replication slave
master-host="192.168.1.43"
master-user=backup
master-password=123456
master-port=3306
master-connect-retry=60
replicate-do-db=test
=============================================================
解释:
3)binlog-do-db=test 表示需要备份的数据库是test这个数据库,
如果需要备份多个数据库,那么应该写多行,如下所示:
binlog-do-db=backup1
binlog-do-db=backup2
binlog-do-db=backup3
解释:
1) server-id=2表示本机器的序号, A,B的server-id 不能相同;
2)log-bin表示打开binlog,打开该选项才可以通过I/O写到Slave的relay-log,也是可以进行replication的前提;
其中mysql_binary_log是日志文件的名称,mysql将建立不同扩展名,文件名为mysql_binary_log的几个日志文件.
3) master-host="192.168.1.23" 表示A做slave时的master为192.168.1.23;
4) master-user=root 这里表示master上开放的一个有权限的用户,使其可以从slave连接到master并进行复制;
5) master-password=123456 表示授权用户的密码;
6) master-port=3306 master上MySQL服务Listen3306端口;
7) master-connect-retry=60 同步间隔时间;
8) replicate-do-db=test 表示同步backup数据库;
最后重新启动两台机器的mysql.
------------------------------------------------
查看状态 及调试
1,查看master的状态
SHOW MASTER STATUS;
Position 不应为0
2,查看slave的状态
show slave status;
Slave_IO_Running | Slave_SQL_Running 这两个字段 应为 YES|YES.
show processlist;
会有两条记录与同步有关 state为 Has read all relay log; waiting for the slave I/O thread to update it
和s Waiting for master to send event .
3,错误日志
MySQL安装目录\data\Hostname.err
4,CHANGE MASTER TO
如果A 的 Slave 未启动 ,Slave_IO_Running 为No.
可能会是B的master 的信息有变化,
查看B SHOW MASTER STATUS;
记录下 File,Position 字段. 假设为'mysql_binary_log.000004',98 ;
在A 下执行:
Stop Slave;
CHANGE MASTER TO
MASTER_LOG_FILE = 'mysql_binary_log.000004',
MASTER_LOG_POS = 98 ;
Start Slave;
5,SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;如果A的Slave_SQL_Running 为No.
Err文件中记录:
Slave: Error 'Duplicate entry '1' for key 1' on query....
可能是master 未向slave 同步成功,但slave中已经有了记录。造成的冲突.
可以在A上执行
SET GLOBAL SQL_SLAVE_SKIP_COUNTER = n;
跳过几步。再
restart salve;
就可以了。
原文:点击打开链接
- Mysql的实时同步 - 双机互备
- Mysql的实时同步 - 双机互备
- Mysql的实时同步 - 双机互备.
- Mysql的实时同步 - 双机互备
- mysql的实时同步-双机互备
- 双机热备(实时数据同步)
- mysql双机实时备份
- mysql 数据库的同步问题(双机热备)
- mysql双机互备
- mysql 双机互备
- mysql双机互备
- mysql双机互备
- mysql的双机热备
- mysql的双机热备
- 如何设置MySQL同步(mysql双机热备)
- 如何设置MySQL同步(mysql双机热备)
- 设置MySQL数据库同步-mysql双机热备资料集锦
- mysql集群--双机互备
- Java Properties 类读取配置文件信息
- 如何使输入框得到焦点且选中文本框
- android Ad hoc 问题
- Ext Js 列布局-- ColumnLayout
- Encoding is Not Encryption 编码和加密的区别
- Mysql的实时同步 - 双机互备
- C/C++源代码的网站
- Jquery信息专题收集
- Jetty安装部署
- HTML 中的表格
- 【WIN7深度揭秘】将你的笔记本打造成WI-FI基站实现无线共享上网
- How I explained OOD to my wife
- Tomcat6.0配置
- 如何使用BHO定制你的Internet Explorer浏览器