Mysql数据库双机热备份技术文档

时间:2022-09-23 14:28:39
 

 

 

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-password=1qaz@WSX

       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-password=1qaz@WSX

       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进程