阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL主从备份和主主备份配置+Keepalived+MySQL读写分离

427次阅读
没有评论

共计 4387 个字符,预计需要花费 11 分钟才能阅读完成。

一、MySQL 主从备份

为保证数据库的安全和效率,可以使用主从备份,当有写的操作可以在主服务器上操作,操作完之后备份到从服务器上,当有读操作时可以访问从服务器,这样在一定程度上保证了数据库的安全,当主服务器的 mysql 挂掉之后,数据也不会丢失,同时也提高了数据库的效率。

1. 环境

master 192.168.174.129

slave 192.168.174.130

master 和 slave 的防火墙都为关闭状态,selinux 也为 disabled,不然会出错,selinux 设置重启生效。

2. 在 master 和 slave 上安装 mysql 和 mysql-server

注:mysql master 数据库版本和 slave 数据库版本要相同,或者 slave 版本比 master 高

mysql 安装可以 yum 安装也可以源码安装,本文采用 yum 安装

yum -y install mysql mysql-server

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

在主服务器和从服务器上打开 mysql 服务,并设置开机自启

service mysqld restart

chkconfig mysqld on

3.mysql mater 配置

打开 mysql 配置文件 /etc/my.cnf,在 mysqld 下添加

log-bin=mysql-bin      ——— 启动二进制日志系统

binlog-do-db=test      ——— 要同步的数据库

server-id=1                ——— 服务 id,主服务器 server-id 比从服务器 server-id 小

binlog-ignore-db=mysql —— 避免同步 mysql 用户配置

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

重启 mysql

service mysqld restart

进入数据库 mysql

mysql -u root -p

初始状态 mysql 默认没有密码,如果要设置密码可以使用 mysqladmin -u root -p “password”,设置密码,这样也会更安全一些

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

创建一个同步账号,并赋予权限

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

查看 master 的状态信息,记录下 file 和 position 的值,在后边的 slave 配置中会用到

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

4.mysql slave 配置

打开 mysql 配置文件 /etc/my.cnf,在 mysqld 下添加

 server-id=2                    ——– 服务 id,从服务器 server-id 比主服务器 server-id 大

 replication-ignore-db=mysql  — 屏蔽对 mysql 库的同步

 replication-do-db=test    ——— 要同步的数据库名,与主服务器配置保持一致

 master-connect-retry=60 ——– 断点重连时间

 master-host=192.168.174.129

 master-user=test

 master-password=test

 master-port=3306

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

进入 mysql

mysql -u root -p

停止 slave 服务:stop slave;

配置 slave 同步,完成后开启 slave 服务

change master to master_host=’192.168.174.129′,master_user=’test’,master_password=’test’,master_log_file=’mysql-bin.000026′,master_log_pos=346;

这里的 master_log_file 和 master_log_pos 要和前面记录的 file 和 position 一致

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

查看 slave 状态

show slave status\G;

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

当两个 running 都为 yes 时即配置成功,可以在主服务上对 test 数据库操作,看是否这些操作会同步到从服务器上

二、MySQL 主主备份

主主备份的设置就是将从服务器上的设置在主服务器上操作一遍,主服务器上的操作在从服务器上操作一遍,这里就不再赘述

三、MySQL+Keepalived

环境:

keepalived 主机:192.168.174.129

keepalived 备机:192.168.174.130

VIP:192.168.174.222

测试主机:192.168.174.133

master、slave、keepalived 主机、keepalived 备机、测试主机的防火墙都为关闭状态,selinux 也为 disabled,不然会出错,selinux 设置重启生效。

1.keepalived

keepalived 可以监控服务状态,当主服务宕机后可以将服务自动漂移至从服务,利用 keepalived+mysql 可以实现 mysql 的高可用性,当 mysql 主服务器宕机后,从服务器接管主服务器的工作,保证对外服务,keepalived 还可以实现虚拟 ip 对外服务,保证内部服务器安全,同时 keepalived 的主从机制也保证了服务的高可用性

2.keepalived 安装

这里和前边博文中 keepalived 安装步骤基本一样,主要是配置文件不一样,博主为熟悉 keepalived 安装又啰嗦了一遍,下载 keepalived 源码安装包,解压

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

进入 keepalived 解压目录,执行

./configure –prefix=/usr/local/keepalived

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

拷贝 keepalived 启动文件到 /etc/init.d 下,这样 keepalived 服务才能为系统识别

cp /root/package/keepalived-1.4.5/keepalived/etc/init.d /etc/init.d

执行

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/

cp /usr/local/keepalived/sbin/keepalived /usr/sbin

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

新建文件夹 keepalived

mkdir /etc/keepalived

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

将 keepalived 的配置文件拷贝过来,keepalived 启动时会从 /etc/keepalived 目录下查找 keepalived.conf 配置文件,如果没有找到则使用默认的配置。

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

以上操作在 keepalived 主机和备机上都执行

修改主机配置文件

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

修改备机配置文件

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

主机和备机配置文件只有 router_id 和 vrrp_instance 的 state 和 priority 不同

开启主机和备机的 keepalived 服务

service keepalived start

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

在测试机上 ping 虚拟 IP192.168.174.222,成功,而且我的内网内 192.168.174.222 的 ip

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

使用虚拟 IP192.168.174.222 连接 3306 端口的 mysql 服务,连接之前需要在 mysql 主服务和 mysql 从服务器为测试机 ip 赋予权限

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

使用虚拟 IP192.168.174.222 连接 3306 端口的 mysql 服务,使用授权的用户和密码,成功

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

查看当前数据库

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

查看 mysql 从服务器数据库可知连接的应该是从数据库

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

停止 mysql 从服务器服务:service mysqld stop, 再次在测试机连接虚拟 IP192.168.174.222 连接 3306 端口的 mysql 服务, 成功

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

也可以查出数据库

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

keepalived+mysql 主从同步成功

四、MySQL 读写分离

mysql 读写分离是在 mysql 主从同步的基础上做的,mysql 主服务器负责写,多台 mysql 从服务器负责读,mysql 主从同步仅仅是把 mysql 主服务器的数据库同步到了 mysql 从服务器上,如果要实现读写分离,还需要一个服务器去协调。这个服务就是 mysql-proxy。

1. 环境配置

mysql 主服务器:192.168.174.129

mysql 从服务器:192.168.174.130

mysql-proxy 服务器:192.168.174.131

master、slave 以及 mysql-proxy 服务器的防火墙都为关闭状态,selinux 也为 disabled,不然会出错,selinux 设置重启生效。

2.mysql-proxy 安装

mysql 的读写分离是靠过 rw-splitting.lua 脚本实现的,因此需要安装 lua。

安装之前先安装包依赖

yum -y install gcc* gcc-c++ autoconf automake zlib* libxml* ncurses-devel libmcrypt libtool* flex* pkgconfig* libevent* glib*

wget 下载 lua,很小,很快就能下载完成,解压

wget http://www.lua.org/ftp/lua-5.1.4.tar.gz

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

进入 lua 解压后目录,执行

make linux

make && make install

export LUA_CFLAGS=”-I/usr/local/include” LUA_LIBS=”-L/usr/local/lib -llua -ldl” LDFLAGS=”-lm”

下载 mysql-proxy,解压

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

执行

mkdir /usr/local/mysql-proxy

cp * /usr/local/mysql-proxy

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

cd /usr/local/mysql-proxy

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

修改 rw-splitting.lua 文件

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

修改连接数,默认为 4,即只有当有四台 mysql 服务器时才启用读写分离,为了试验成功,改为 1

vim /usr/local/mysql-proxy/rw-splitting.lua

MySQL 主从备份和主主备份配置 +Keepalived+MySQL 读写分离

启动 msyql-proxy

cd /usr/local/mysql-proxy/bin

./mysql-proxy –proxy-read-only-backend-addresses=192.168.174.130:3306 –proxy-backend-addresses=192.168.174.129:3306 –proxy-lua-script=/usr/local/mysql-proxy/rw-splitting.lua &

参数说明:

 –proxy-read-only-backend-addresses ——— 只读服务器 ip 地址

 –proxy-backend-addresses  ———————- 服务器地址(mysql 主服务器)

 –proxy-lua-script          —————————-lua 脚本路径

 &    —————————————————– 表示后台执行

mysql 主从备份 +mysql 读写分离配置完成。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计4387字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7802152
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...