mysql主从配置vip_MySQL主从搭建以及高可用

`我们这里做的是centos6的操作    其实6和7 的操作差不多 只是7上面的数据库换成了mariadb`

1. 下载MySQL 以及MySQL服务端

yum -y install mysql mysql-server

2.开启MySQL

service restart mysqld

mysql主从配置vip_MySQL主从搭建以及高可用_第1张图片

3. 创建MySQL的用户并授权

1 create user '用户'@'主机' identified by '123';2

3 grant 权限 on 级别(全局、库级别、表级别、列级别) to '用户'@'主机' identified by '密码';4

5 flush privileges;

在主上的操作如下:

1. 关闭防火墙,如果我们不关闭防火墙的话以后的操作可能会有错误

1  service iptables stop

2 setenforce 0

2. 安装MySQL客户端和服务端

1 yum -y install mysql mysql-server

3. 启动MySQL服务

service mysqld start

chkconfig mysqld on (把MySQL服务设为开机自启)

4. 更改配置文件,开启二进制日志

vim /etc/my.cnf

在mysqld下增加内容:

server-id=1

log-bin=mysql-bin

保存退出后重启MySQL

service mysqld restart

5.登录到本地mysql上,给从(slave)主机授权 同步日志的权限

grant replication slave on *.* to 'tom'@'192.168.153.%' identified by '123';

flush privileges;

6.查看二进制日志和位置

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 | 331 | | |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

主(master)配置完毕

从(slave)主机的操作

1.关闭防火墙

service iptables stop

setenforce 0

2.安装MySQL客户端和服务端

yum -y install mysql mysql-server

3.启动MySQL服务

service mysqld start

chkconfig mysqld on

4.更改配置文件,开启中继日志

vim /etc/my.cnf

在mysqld下增加内容:

server-id=2

relay-log=mysql-relay

保存退出后重启MySQL

service mysqld restart

登录本地mysql上,执行同步master二进制日志操作

mysql> stop slave; \\停止slave同步

mysql> change master to

-> master_host='192.168.153.128', \\master主机的ip地址

-> master_user='tom', \\登录master主机的账号

-> master_password='123', \\登录的密码

-> master_log_file='mysql-bin.000001', \\二进制日志文件

-> master_log_pos=331; \\二进制日志文件的位置

mysql> start slave; \\开启slave同步

查询slave状态

mysql> show slave status \G;

注意以下两个线程的状态都为Yes,说明配置成功

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

测试

在主上创建一个数据库,在从查看能够成功同步既是成功!

MySQL高可用

基础环境:

基于MySQL互为主从(双主、主主),请观看上面配置

主的操作

1.在keepalived主服务器上安装keepalived

yum -y install keepalived

2.编辑配置文件

vim /etc/keepalived/keepalived.conf

1 内容更改如下:2 vrrp_instance VI_1 {3 state MASTER \\初始状态:MASTER/BACKUP4 interfaceeth0 \\生成VIP的网卡设备5 virtual_router_id 51\\广播的路由ID6 priority 100\\优先级7 advert_int 1

8 authentication {9 auth_type PASS10 auth_pass 1111

11 }12 virtual_ipaddress {13 192.168.189.181\\VIP地址14 }15 }16

17 virtual_server 192.168.153.181 3306{ \\虚拟机服务器18 delay_loop 6

19 nat_mask 255.255.255.0

20 protocol TCP21

22 real_server 192.168.153.128 3306{ \\真实服务器23 weight 1

24 notify_down /root/kill.sh \\当检测的真实服务器器3306端口不可用时,要执行的脚本25 TCP_CHECK {26 connect_timeout 3

27 connect_port 3306\\检测的端口28 nb_get_retry 3

29 delay_before_retry 3

30 }31 }32 }

3. 生成停止mysql的脚本

vim /root/kill.sh

内容:

#!/bin/bash

service keepalived stop

4.脚本保存退出后重启keepalived

service keepalived restart

5.查看VIP是否生成

ip a

备份主机的操作

操作和主基本一致,需要更改的有:初始状态、优先级、真实服务器ip地址

1.复制主的keepalived的配置文件到服务器

scp 192.168.153.128:/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf

2.编辑配置文件

vim /etc/keepalived/keepalived.conf

注意如下配置:

state BACKUPinterfaceeth0

priority90..

real_server192.168.153.129 3306

3. 生成停止mysql的脚本

vim /root/kill.sh

内容:

#!/bin/bash

service keepalived stop

4.更改完毕后重启keepalived

service keepalived restart

测试

停止主的mysql查看 VIP是否漂移到备份主机上,如成功飘逸则是配置成功

你可能感兴趣的:(mysql主从配置vip)