MYSQL双机热备份配置文档
1,准备两台服务器分别安装CentOS 5.5,并安装mysql服务
yum -y install gcc gcc-c++
yum -y install mysql mysql-server
service mysqld start
mysqladmin -u root password '123.com'
chkconfig mysqld on
#两台服务器主机名分别为mysql1.cluster.org和mysql2.cluster.org
2, 配置服务器网络设置
mysql1:
eth0:192.168.1.2 eth1:10.1.1.2
mysql2:
eth0:192.168.1.10 eth1:10.1.1.10
3, 配置mysql1
#在这里就用mysql自带的test数据库做测试
mysql -u root -p123.com
mysql>use test;
mysql>create table data(name VARCHAR(20),address VARCHAR(50),phone VARCHAR(20));
mysql>insert into data(name,address,phone) values('alans','shanghai','13482159920');
mysql>select * from data
--------------------------------
4, 设置数据同步账户
mysql> grant replication slave,replication client,reload,super on *.* to 'backup'@'192.168.1.10' identified by'1qaz@WSX';
mysql>flush privileges;
mysql>use mysql;
mysql>select user,host,password from user;//从这个结果中可以看到添加的数据同步账户。
5,修改mysql配置文件
service mysqld stop
vi /etc/my.cnf
**************在[mysqld]中加入以下内容**************************
server-id=1 #设置服务器的ID号
log-bin #设置同步log
binlog-do-db=test #设置同步数据库
max_binlog_size=104857600
replicate-same-server-id
master-host=192.168.1.10 #对等服务器IP
master-user=backup
master-port=3306
master-connect-retry=60 #断点重试间隔时间为60秒
replicate-do-db=test #表示同步test数据库
binlog-ignore-db=mysql #不同步的数据库
service myslqd start //先启动数据库
mysqldump -h localhost -u root -p123.com test > test.sql
#备份test数据库
scp test.sql root@192.168.1.10:/ #将test.sql复制到mysql2的根目录下
#以上为mysql1中的配置,下面开始配置mysql2
6, 配置服务器mysql2
设置数据同步账户:
mysql>grant replication slave,replication client,reload,super on *.* to 'backup'@'192.168.1.10' identified by'1qaz@WSX';
mysql>flush privileges;
mysql>use mysql;
mysql>select user,host,password from user;//从这个结果中可以看到添加的数据同步账户。
修改mysql配置yywr
service mysqld stop
#vi /et c/my.cnf
******************在[mysqld]中添加以下数据*************************
server-id=2 #设置服务器的ID号
log-bin #设置同步log
binlog-do-db=test #设置同步数据库
max_binlog_size=104857600
replicate-same-server-id
master-host=192.168.1.2 #对等服务器IP
master-user=backup
master-port=3306
master-connect-retry=60 #断点重试间隔时间为60秒
replicate-do-db=test #表示同步test数据库
binlog-ignore-db=mysql #不同步的数据库
还原从mysql1备份过来的test.sql
mysql -u root -p123.com test < test.sql
重启mysql1 mysql2的数据库服务
7,查询两台服务器的配置
进入mysql数据库
mysql -u root -p123.com
show master status //查看master状态
以上命令可以查看master数据库状态
show slave status\G //查看slave状态
查询到的信息中:
Slave_IO_Running : yes
Slave_SQL_Running : yes
Replicate_Do_DB : test
若以上三项信息都是正确的那么表示是ok的,到这里你就可以在两边的数据 库中添加几条数据测试了!!!!!!
# show processlist G //查看当前线程
stop slave 停止slave进程
reset slave 重置slave进程
start slave 启动slave进程