linux mysql双机备份、双机热备、高可用


http://www.centoscn.com/mysql/2016/0317/6853.html

前提两台服务器的数据库版本要一样

主服务器:192.168.1.1(Master)

从服务器:192.168.1.2(Slave)

第一步:给创建主服务器创建连接帐户,该帐户必须授予REPLICATION SLAVE权限。因为从mysql版本3.2以后就可以通过REPLICATION对其进行双机热备的功能操作

mysql> grant replication slave on . to 'master_user' @'192.168.1.2'  identified by  '123456';
mysql> flush privileges; 

创建好同步连接帐户后,我们可以通过在从服务器(Slave)上用replicat帐户对主服务器(Master)数据库进行访问下,看下是否能连接成功。 
在从服务器(Slave)上输入如下指令: 
[root@localhost ~]# mysql -h 192.168.1.1 -umaster_user –p

第二步:修改配置文件

修改主服务器配置文件/etc/my.cnf

server-id = 1 
log-bin=mysql-bin 
binlog-do-db = test
binlog-ignore-db = mysql 

其中前两行可能就有,可以不用动,没有再添加,添加下面两行即可 binlog-do-db是你要同步的数据库(据说需要同步多个数据库的,好像是binlog-do-db再写一遍,不是传统的将两个数据用逗号或者空格分开),binlog-ignore-db是不需要同步的数据库(不同步的数据如果是多个的话和binlog-do-db一样,binlog-ignore-db也是一样

修改从服务器配置文件/etc/my.cnf

server-id = 2
log-bin=mysql-bin 
binlog-do-db = test
binlog-ignore-db = mysql 

主服务器的server-id和从服务器的server-id不能一样

第三步:查看主服务器Master状态

登录到主服务器数据库用以下命令查看Master状态,如下图:

show master status\G;


第四步:最重要的一步

登录从服务器数据库,先停步slave服务线程,这个是很重要的,如果不这样做会造成以下操作不成功。

mysql>stop slave; 

mysql>change master to master_host='192.168.1.1',master_user='master_user',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=13310;

master_host是主服务器IP地址,master_user是刚才第一步创建的连接帐户用户名,master_password是密码,(最重要的来了master_log_file是第三步中主服务器数据库的Master状态的File,master_log_pos是主服务器数据库的Master状态Position。然后启动slave服务线程mysql>start slave; 

最后一步:查看从服务器slave状态:

mysql> SHOW SLAVE STATUS\G;

当看到以下两项都为yes,就说明配置成功了


Slave_IO_Running: Yes
Slave_SQL_Running: Yes

接下来在主数据库添加数据然后再看从数据库是不是也有了。


posted @ 2022-09-23 18:03  silentmuh  阅读(100)  评论(0编辑  收藏  举报
Live2D