MYSQL双机热备

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24549317/article/details/73485488

主服务IP:192.168.136.1;

从服务IP:192.168.136.2。

开始前请确保两台服务现有数据一致。如果是通过文件COPY方式来同步数据的,注意修改auto.cnf下的UUID,否则会出错。

主服务器配置步骤

1.修改my.cnf配置文件

log_bin
#mysql的复制机制是基于binlog的复制机制。通过配置此项可以定义日志名称,默认是本机域名localhost。
server_id = 1
#数据库的id根据需要进行设置,主从服务器必须不同。
#binlog-do-db = ... 记录日志的数据库,多个用逗号分隔。
#binlog-ignore-db = .... 不记录日志的数据库。

2.重启mysql

3.查看主服务状态

mysql> FLUSHS TABLE WITH READ LOCK;--锁表
mysql> show master status\G;
*************************** 1. row ***************************
             File: localhost-bin.000001
         Position: 120
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)
mysql> UNLOCK TABLES;

如果出现以上状态信息,表明主服务器配置成功。此时需要记住File、Position对应的值以便后用。

4.允许从服务的热备请求

mysql> grant replication slave on *.* to 'root'@'192.168.136.2' identified by '.';

从服务器配置步骤

1.修改my.cnf配置文件

server_id = 2
#数据库的id根据需要进行设置,主从服务器必须不同。

2.重启mysql

3.设置热备请求

mysql>stop slave;
mysql>change master to master_host='192.168.136.1',master_user='root',master_password='.',master_log_file='localhost-bin.000001',master_log_pos=120;
mysql>start slave;

master_log_file对应上文记录的File值,master_log_pos对应上文记录的Position值。注意Mysql版本从5.1.7以后开始就不支持“master-host”类似的参数了。如果是5.1.7以前的版本,可以参考下面的my.cnf配置:

master-host=172.25.42.83
#主服务器的IP地址或者域名

master-port=3306
#主数据库的端口号

master-user=user
#同步数据库的用户

master-password=passwd
#同步数据库的密码

master-connect-retry=60
#如果从服务器发现主服务器断掉,重新连接的时间差

4.查看从服务器状态

mysql> show slave status\G;
*************************** 1. row ***************************
……
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
……
1 row in set (0.00 sec)

若看到以上两个信息就表示主从热备配置完成。


猜你喜欢

转载自blog.csdn.net/qq_24549317/article/details/73485488