环境描述:
操作系统
IP 地址
软件
7
192.168.11.83
web01
+
7
192.168.11.84
web02
+
准备:
(1)关闭两台服务器上的防火墙和应用程序。
[root@web01 ~]# 0[root@web01~]# 停止
[root@web02~]# 0[root@web02~]# 停止
(2)两台服务器均已安装并
[root@web01 ~]# yum -y -
[root@web02~]# yum -y -
1、更改主服务器的配置文件;
[root@web01 ~]# vim /etc/f
[]
-id=1#设置服务器id,1表示主服务器
log-bin=mysql-bin #启动MySQL二进制日志系统
auto-- = 2#字段改变增量值
auto-- = 1#初始字段ID为1
slave-skip- =all #忽略所有复制错误
--db=mysql, #忽略写日志的库
:wq #保存退出
[root@web01~]#
2.从服务器更改配置文件
[root@web02 ~]# vim /etc/f
[]
-id=2#设置服务器id,2表示从服务器
log-bin=mysql-bin #启动MySQL二进制日志系统
auto-- = 2#字段改变增量值
auto-- = 1#初始字段ID为1
slave-skip- =all #忽略所有复制错误
--db=mysql, #忽略写日志的库
:wq #保存退出
[root@web02~]#
3.主从服务器配置相同(由于我们的数据库中没有数据,所以需要手动添加进行测试)
[root@web01 ~]# mysql -u root -p #输入密码进入
[(none)]> test;#创建数据库
[(none)]>use test;#进入数据库
[(none)]> TABLE (name char(15), price int, pages int); #创建表单
[(none)]> INTO (name,price,pages) ('', '60', '518'); #向表单添加数据
[(none)]> *FROM ; #查看格式为 +------------+-------+-------+ 的数据
| 名称 | 价格 | 页数 |
+----------------+--------+--------+
| | 60 | 518 |
+----------------+-------+-------+rowin 设置(0.00 秒)
4.配置主服务器(创建同步数据库的账户)
[test]> grant slave on *.* to 'check'@'%' by ''; #用户名是check,密码是
[(none)]>show ;#记录File中的数据,稍后会填入到从服务器配置中+------------------+---------+--------------+------------------+
| 文件 | | | |
+------------------+----------+------------------+----------------+
| mysql-bin。| 1097 | 测试 | mysql |
+------------------+----------+------------------+------------------+rowin 设置(0.00 秒)[(无)]>刷新;
[(none)]> 到 ='192.168.11.84', ='check', ='', ='mysql-bin.', =1097;
[(无)]> 启动从属;
5.配置从服务器
[root@web02 ~]# mysql -u root -p
[(none)]> grant slave on *.* to 'check'@'%' by ''; #用户名是check,密码是
[(none)]> to ='192.168.11.83',='check',='',='mysql-bin.' ,=1097; #注意上图中File和的值一定要正确填写。
[(none)]>slave start; #启动从服务器同步
[(none)]>show slave \G #查看从站同步信息
: 是的
: 是的
#上面两行都显示Yes,说明同步成功
6、测试主从服务器是否同步;
(1)先在主服务器中插入一条数据,查看从服务器是否同步。
[root@web01 ~]# mysql -uroot -p
[(无)]>使用测试;
INTO (名称,价格,页面) ('linux', '100', '100');
[测试]> *来自 ;+----------------+-------+-------+
| 名称 | 价格 | 页数 |
+----------------+--------+--------+
| | 60 | 518 |
| Linux | 100 | 100 |
+----------------+--------+--------+
共 2 行 (0.00 秒)
#这显示主服务器中的数据表;
(2)进入从服务器,查看数据库与主服务器相同;
[root@web02 ~]# mysql -uroot -p
[测试]> *来自 ;+----------------+-------+-------+
| 名称 | 价格 | 页数 |
+----------------+--------+--------+
| | 60 | 518 |
| Linux | 100 | 100 |
+----------------+--------+--------+
共 2 行 (0.00 秒)
#这里显示的是从从服务器的数据表;显示和上面的主服务器一致,说明同步成功;
7.配置热备
[root@web01 ~]# vim /etc//.conf!文件
{
.0.0.#识别,双主相同
VI_1 {
状态#设置两者
ens33
# 主备相同
#优先级,设置为 90
#不主动抢占资源,只设置这个高优先级,不设置
{
经过
}
{192.168.11.90#VIP地址}
.168.11.90 3306{
# rr #LVS 算法,如果不需要,我们会禁用它
#NAT#LVS模式,如果不关闭,备份服务器无法通过VIP连接主MySQL
TCP
.168.11.83 3306{ #检测本地mysql,也写入检测本地mysql
/etc//mysql.sh#当mysql服务器down掉时,执行此脚本进行kill切换
{
}
[root@web01 ~]# vim /etc//mysql.sh#!/bin/
[root@web01 ~]# chmod +x /etc//mysql.sh
#只从服务器文件改为90,不设置,设置本地IP。
#授权两台Mysql服务器允许root远程登录,用于登录其他服务器进行测试!
[(none)]> 授予 *.* 上的所有权限至 'root'@'%' by '';[(none)]> 刷新;
[root@web01 ~]#
[root@web02 ~]#
8. 测试高可用性
1、通过MySQL客户端通过VIP进行连接,查看是否连接成功。
2、停止web01上的MySQL服务,检查是否可以正常切换到web02,可以使用ip addr命令检查VIP地址的漂移情况。
3、可以通过查看/var/log/日志来查看主从切换过程。
4、web01服务器故障恢复后,是否主动抢占资源,成为活跃服务器,可以通过ip addr命令查看VIP地址是否恢复。
扫一扫在手机端查看
-
Tags : keepalived 实现双主maridb
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。