`我们这里做的是centos6的操作 其实6和7 的操作差不多 只是7上面的数据库换成了mariadb`
1. 下载MySQL 以及MySQL服务端
yum -y install mysql mysql-server
2.开启MySQL
service restart mysqld
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是否漂移到备份主机上,如成功飘逸则是配置成功