MySQL主从复制架构实战

3.28MySQL主从复制架构实战

环境准备:192.168.1.103为master主服务器,192.168.33.11为slave从服务器。
在主和从服务器都安装mysql相关软件,命令如下:
yum install -y mysql mysql-devel mysql-server mysql-libs
安装完毕后,在Master修改vi /etc/my.cnf内容为如下:
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin=mysql-bin
server-id = 1
auto_increment_offset=1
auto_increment_increment=2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
replicate-do-db =jfedu
创建/data/mysql数据目录,mkdir –p /data/mysql ;chown –R mysqld:mysqld /data/mysql
启动mysql即可,service mysqld restart
然后修改slave Mysql数据库my.cnf配置文件内容如下:
[mysqld]
datadir=/data/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
#Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
server-id = 2
auto_increment_offset=2
auto_increment_increment=2
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

在Master数据库服务器上设置权限,执行如下命令:
grant replication slave on . to ‘tongbu’@’%’ identified by ‘123456’;
在Master 数据库执行如下命令:
mysql> show master status;
±-----------------±---------±-------------±-----------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
±-----------------±---------±-------------±-----------------+
| mysql-bin.000006 | 98 | | |
±-----------------±---------±-------------±-----------------+
1 row in set (0.00 sec)
然后在slave服务器指定master IP和同步的pos点:
change master to
master_host=‘192.168.1.103’,master_user=‘tongbu’,master_password=‘123456’,master_log_file=‘mysql-bin.000006’,master_log_pos=98;
在slave启动slave start,并执行show slave status\G查看Mysql主从状态:
在这里插入图片描述
Slave_IO_Running: Yes
Slave_SQL_Running: Yes两个状态为YES,代表slave已经启动两个线程,一个为IO线程,一个为SQL线程。
然后在Master服务器创建一个数据库和表,命令如下:
在这里插入图片描述
然后去slave服务器查看是否有mysql_ab_test数据库和相应t0的表,如果存在则代表Mysql主从同步搭建成功:
在这里插入图片描述
同样还可以测试在master服务器插入两条数据,在slave查看insert数据是否已同步:
128 master上执行如下图:
在这里插入图片描述
129 slave上执行如下图,在master插入的数据已经同步到slave上:
在这里插入图片描述
自此Mysql主从搭建完毕,现在有一个问题,如果master服务器down机了,如何快速恢复服务呢?
可以通过两种方法:
第一种方法,如果程序连接的是master的IP,直接在slave服务器上添加master的IP即可。这个手动去操作,而且需要花费时间比较长,可能还会出现误操作的情况,不推荐。
第二种方法,可以使用keepalived、heartbeat作为HA检测软件,检查MySQL服务是否正常,不正常则自动切换到slave上,推荐使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值