Ubuntu 16.04 Mysql主主备份配置

准备:

        服务器2台(主:172.16.1.200,从:172.16.1.201),ubuntu 16.04系统,mysql已安装

1、主服务器配置(172.16.1.200)

 sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
#master-to-master setting
server-id		= 1
log_bin			= /var/log/mysql/mysql-bin.log
log-slave-updates
sync_binlog		= 1
auto_increment_offset	= 1
auto_increment_increment = 2

 创建用于同步的用户,并赋予权限。

mysql>CREATE USER 'slave'@'172.16.1.201' IDENTIFIED BY '数据库密码';
mysql>grant all privileges on *.* to 'slave'@'172.16.1.201';

查询主机状态

mysql> show master status\G;
*************************** 1. row ***************************
             File: mysql-bin.000004
         Position: 154
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)

重启mysql服务。

 2、从服务器配置(172.16.1.201)

 sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf
#master-to-master setting
server-id		= 2
log_bin			= /var/log/mysql/mysql-bin.log
log-slave-updates
sync_binlog 		= 1
auto_increment_offset   = 2
auto_increment_increment= 2

 创建用于同步的用户,并赋予权限。

mysql>CREATE USER 'slave'@'172.16.1.200' IDENTIFIED BY '数据库密码';
mysql>grant all privileges on *.* to 'slave'@'172.16.1.200';

查询主机状态

mysql> show master status\G;
*************************** 1. row ***************************
             File: mysql-bin.000006
         Position: 156
     Binlog_Do_DB: 
 Binlog_Ignore_DB: 
Executed_Gtid_Set: 
1 row in set (0.00 sec)

重启mysql服务,并登录mysql。

mysql>stop slave;

mysql>change master to master_host='172.16.1.200',master_user='slave',master_password='数据库密码',master_log_file='mysql-bin.000004',master_log_pos=154;

开启同步服务。

start slave;

查询从机的服务状态。

mysql> show slave status\G;
*************************** 1. row ***************************

            Slave_IO_Running: Yes  //服务正常启动则为YES
            Slave_SQL_Running: Yes  //服务正常启动则为YES
             

3、配置主服务器(172.16.1.200)同步服务

登录mysql,开启同步服务。

mysql>stop slave;

mysql>change master to master_host='172.16.1.201',master_user='slave',master_password='数据库密码',master_log_file='mysql-bin.000006',master_log_pos=156;

mysql>start slave;

查询主机状态。

mysql> show slave status\G;
*************************** 1. row ***************************

            Slave_IO_Running: Yes  //服务正常启动则为YES
            Slave_SQL_Running: Yes  //服务正常启动则为YES

至此,完成主主配置,访问主机数据库,创建一个测试表,添加测试数据,打开从服务器查看数据是否同步,反之从服务器创建测试数据,查看主服务器是否同步。

上一篇:软件工程 实践者的研究方法 第六章答案


下一篇:GCD深入理解(1)