双机热备配置
来源:互联网 发布:淘宝店转让平台 编辑:程序博客网 时间:2024/05/01 08:43
******************************************************************************************
* 硬件环境
******************************************************************************************
mysql版本:mysql-5.0.67-win32
A:主服务器/从服务器
操作系统:Windows xp
IP地址:10.26.12.31
B:主服务器/从服务器
操作系统:Windows xp
的IP地址:10.26.12.28
******************************************************************************************
* 注意:要实现双机热备,则两台服务器上要同步的数据库的结构必须完全一致,即要求用相同的
* 造库语句。在执行后续操作前,需要在两个主机上都建好数据库和表,统一造表语句如下:
******************************************************************************************
use test;
create table bank(
id varchar(32) primary key not null,
name varchar(50),
password varchar(20),
count double,
time timestamp
);
******************************************************************************************
* 配置过程:
******************************************************************************************
1、对A服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:
server-id=1
log-bin="C:/Program Files/MySQL/MySQL Server 5.0/log-bin.log"
binlog-do-db = test #需要同步的数据库
binlog-ignore-db = mysql #不需要同步的数据库,忽略掉
master-host = 10.26.12.28 #同步的主机地址,这个服务器可以向本服务器更新数据
master-user = back #同步主机登陆本服务器的帐户
master-password = back #同步主机登陆本服务器的口令
master-port = 3306 #默认端口号
replicate-do-db = test #同步的同步数据库,对该数据库的更新会反映到本服务器
replicate-ignore-db = mysql #不需要同步的数据库,忽略掉
重启MySQL,创建一个MySQL帐号为同步专用
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@10.26.12.28 IDENTIFIED BY 'back';
建立一个帐户back,并且只能允许从10.26.12.28这个地址上来登陆,密码是back
在B服务器上做连接测试:
mysql -h 10.26.12.31 -u back -p
FLUSH PRIVILEGES;
2、对B服务器的配置进行修改,打开mysql/my.ini文件,在[mysqld]下面添加如下内容:
server-id=2
log-bin="G:/Program Files/MySQL/MySQL Server 5.0/log-bin.log"
binlog-do-db = test #需要同步的数据库
binlog-ignore-db = mysql #不需要同步的数据库,忽略掉
master-host = 10.26.12.31 #同步的主机地址,这个服务器可以向本服务器更新数据
master-user = back #同步主机登陆本服务器的帐户
master-password = back #同步主机登陆本服务器的口令
master-port = 3306 #默认端口号
replicate-do-db = test #同步的同步数据库,对该数据库的更新会反映到本服务器
replicate-ignore-db = mysql #不需要同步的数据库,忽略掉
重启MySQL,创建一个MySQL帐号为同步专用
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@10.26.12.31 IDENTIFIED BY 'back';
建立一个帐户back,并且只能允许从10.26.12.31这个地址上来登陆,密码是back
在B服务器上做连接测试:
mysql -h 10.26.12.28 -u back -p
FLUSH PRIVILEGES ;
3、启动同步——A master/B slave
在服务器A的MySQL命令符下:
show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+---------------+----------+--------------+-----------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB|
+---------------+----------+--------------+-----------------+
| log-bin.000002| 98 | test | mysql |
+---------------+----------+--------------+-----------------+
在服务器B的MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='log-bin.000002',MASTER_LOG_POS=98;
slave start;
用show slave status;查看从服务器的同步情况,主要看如下几项。
+----------------------------------+-------------+-------------+-----------------+
| Slave_IO_State | Master_Host | Master_User | Master_Log_File |
+----------------------------------+-------------+-------------+-----------------+
| Waiting for master to send event | 10.26.12.31 | back | log-bin.000002 |
+----------------------------------+-------------+-------------+-----------------+
Slave_IO_State:Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如上所示,代表已经在同步,否则表示未能同步。
4、启动同步——B master/A slave,实现双向同步
在服务器A的MySQL命令符下:
show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+---------------+----------+--------------+-----------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB|
+---------------+----------+--------------+-----------------+
| log-bin.000003| 498 | test | mysql |
+---------------+----------+--------------+-----------------+
在服务器B的MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='log-bin.000003',MASTER_LOG_POS=498;
slave start;
用show slave status;查看从服务器的同步情况,主要看如下几项。
+----------------------------------+-------------+-------------+-----------------+
| Slave_IO_State | Master_Host | Master_User | Master_Log_File |
+----------------------------------+-------------+-------------+-----------------+
| Waiting for master to send event | 10.26.12.28 | back | log-bin.000003 |
+----------------------------------+-------------+-------------+-----------------+
Slave_IO_State:Waiting for master to send event
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如上所示,代表已经在同步,否则表示未能同步。
******************************************************************************************
* show master status;可以用以下语句将其封装
******************************************************************************************
锁定数据库:
MySQL> FLUSH TABLES WITH READ LOCK;
把数据库的锁定打开:
UNLOCK TABLES;
- 双机热备配置
- Mysql双机热备配置
- HA双机热备配置
- Mysql双机热备配置
- Oracle双机热备配置步骤
- MYSQL 双机热备配置手册()
- PostgreSQL9.0 HA 双机热备配置
- MYSQL5.1双机热备配置
- mysql双机热备的配置步骤
- Mysql双机热备主从配置
- mysql主从配置(双机热备)
- MySQL双机热备配置过程
- CentOS系统MySQL双机热备配置
- mysql主从双机热备配置
- MYSQL双机热备配置(主-主)
- 双机热备方案
- 双机热备
- 双机热备初步
- 传智播客学习之读取配置文件
- js改变表格颜色
- 微软Chart控件导学--从头开始
- mysql存储引擎之------InnoDB
- 转字符串
- 双机热备配置
- 人生12个经典领悟
- 人生三道题
- Membership.CreateUser方法与web.config中的membership defaultProvider相关联
- oracle 中日期函数的使用
- EJB3.0的性能问题
- 配置管理之trunk branches tags
- 没道理
- 我们是否需要成为好的程序员