《MYSQL互为主从+高可用keepalived》
《MYSQL互为主从+高可用keepalived》
1.使用yum安装部署mysql两台
服务器A
yum -y install mysql mysql-server -----安装mysql服务
服务器B
yum -y install mysql mysql-server -----安装mysql服务
2. 关闭防火墙和selinux
服务器A
service iptables stop -----关闭防火墙
setenforce 0 -----关闭selinux
服务器B
service iptables stop -----关闭防火墙
setenforce 0 -----关闭selinux
3.查看mysql的版本信息
mysql --version -----查看mysql版本信息
4.启动mysql服务,查看系统中是否存在mysql进程,并查看mysql的端口号
service mysqld start -----启动mysql服务
ps -ef | grep mysql -----查看mysql进程
netstat -nltp | grep mysql -----查看mysql端口
5.修改配置两台mysql的主配置文件
服务器A
vim /etc/my.cnf -----mysql修改配置文件
[MYSQL]
server-id=1
log-bin=mysql-bin -----二进制日志
relay-log=mysql-relay -----中继日志
服务器B
vim /etc/my.cnf -----mysql修改配置文件
[MYSQL]
server-id=2
log-bin=mysql-bin -----二进制日志
relay-log=mysql-relay -----中继日志
6.在mysql中新建数据库名
服务器A
mysql -----登录mysql
create database wg; -----创建数据库wg
服务器B
mysql -----登录mysql
create database wg; -----创建数据库wg
7.在mysql中新建用户名并授权
服务器A
grant all on *.* to [email protected]'%' identified by '123'; -----新建用户并授权
show master status; -----查看服务器A主的状态
服务器B
grant all on *.* to [email protected]'%' identified by '123'; -----新建用户并授权
stop slave; -----关闭从服务器复制功能
change master to master_host='192.168.179.128',master_user='tom',master_password='123',master_log_file='mysql-bin.000003',master_log_pos=307; ------做主同步的操作
slave start; -----开启从服务器复制功能
show master status -----查看服务器B主的状态
服务器A
grant all on *.* to [email protected]'%' identified by '123'; -----新建用户并授权
stop slave; -----关闭从服务器复制功能
change master to master_host='192.168.179.129',master_user='tom',master_password='123',master_log_file='mysql-bin.000003',master_log_pos=386; ------做主同步的操作
slave start; -----开启从服务器复制功能
8.最后查看两台服务器从的状态
服务器A
show slave status \G; ------查看从的状态
服务器B
show slave status \G; ------查看从的状态
最后出现双YSE表示MYSQL互为主从成功!!!
服务器A(master)
yum -y install keepalived -----安装keepalived
vim /etc/keepalived/mysql.sh -----这是一个检测脚本,作用是当mysql停止工作时自动关闭本机的keepalived,当MySQL正常启动之后,要手动启动keepalived服务。
vim /etc/keepalived/keepalived.conf -----修改配置文件
service keepalived start -----启动keepalived
ip addr show dev eth0 -----测试查看高可用
服务器B(backup)
yum -y install keepalived -----安装keepalived
vim /etc/keepalived/mysql.sh -----这是一个检测脚本,作用是当mysql停止工作时自动关闭本机的keepalived,当MySQL正常启动之后,要手动启动keepalived服务。
vim /etc/keepalived/keepalived.conf -----修改配置文件
service keepalived start -----启动keepalived
ip addr show dev eth0 -----测试查看高可用
测试:
服务器B:
mysql -utom -p123 -h192.168.179.128 -P3306 -----远程登录服务器A数据库
show variables like 'server_id'; -----可以看到在客户端访问VIP地址,是由mysql-A提供响应的
现在将mysql-A上的mysql服务停止
服务器A:
service mysqld stop -----停止服务器A的mysql
服务器B
show variables like 'server_id'; -----可以看到在客户端访问VIP地址,变成mysql-B提供响应的
ip addr show dev eth0 -----测试查看高可用,已经变成服务器B上的了
基于SQL语句的复制(statement-based replication,SBR)
基于行的复制(row-based replication,RBR)
基于混合模式的复制(mixed-based replication,MBR)
做数据的热备,作为后备数据库,主数据库服务器故障后,可切换从数据库继续工作,避免数据丢失。
架构的扩展,业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库 的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。
开源免费中小型关系型
它是单进程多线程
它的速度快,可靠性高
《MYSQL互为主从+高可用keepalived》相关教程