mysql数据库异地备份方案(1) FTP备份服务器的设置

一、前言

最近一位"无中生友"询问我如何解决他们公司的mysql数据库的异地备份解决方案, 今天在网上搜索了几个比较可行的方案, 整理了一下, 发上来送给我这位老友.

二、FTP服务器的设置

1. 自行准备一台FTP备份服务器

我这里准备的是centos 7.9 的服务器.

2. 安装vsftpd软件包

yum -y install  vsftpd db4 db4-utils

3. 创建vsftpd用户

# 创建备份用户并指定用户家目录
useradd -s /sbin/nologin -d /opt/data  mysqlbak

# 设置密码
passwd mysqlbak

# 输入密码和确认密码后即可

4. 配置vsftpd

vim /etc/vsftpd/vsftpd.conf

# 开启如下选项
local_enable=YES                            # 允许本地用户登入
write_enable=YES                            # 允许本地用户写
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES                       # 所有的本地用户限制在自己的家目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO                            # 只有/etc/vsftpd/user_list文件下用户可以登入ftp服务器
allow_writeable_chroot=YES                  # vsftpd 2.5.3后给用户主目录的写权限
guest_enable=YES                            # 开启虚拟用户
guest_username=mysqlbak                     # 虚拟用户对应本地用户
tcp_wrappers=YES
virtual_use_local_privs=YES

# 关闭如下选项
listen_ipv6=YES                             # 注释掉此项

5. 创建虚拟用户文件

touch /etc/vsftpd/vuser.txt
echo "webbak" > /etc/vsftpd/vuser.txt
echo "webbak" >> /etc/vsftpd/vuser.txt

6. 添加允许登入ftp服务器用户到/etc/vsftpd/user_list文件

echo "mysqlbak" >> /etc/vsftpd/user_list

7. 启动vsftpd服务, 并设置开机启动

# 开启vsftp
service vsftpd start

# 开机自启动
chkconfig vsftpd on

三、测试FTP服务器是否正常运行

1. 安装ftp软件包

yum -y install ftp

2. 连接本机的ftp进行测试

ftp 0.0

# 输入账号密码后, 会出现登录成功或登录失败提示
# 登录成功会提示: 230 Login successful

3. 出现530 Login incorrect. Login failed错误时的设置

vim /etc/shells

# 如果文件中没有/sbin/nologin, 则在文件最后一行将其填入

4. 出现vsftpd 500 OOPS: chroot错误时的设置

vim /etc/selinux/config

SELINUX=disabled

# 设置完, 重启服务器
# shutdown -r now

5. 补充说明

# 光标一直在ftp> 时的退出方法
# 1. 输入exit
# 2. ctrl + D

# 输入账号时按退格出现^H的解决办法
# 使用ctrl + 退格即可

四、参考资料

1. 本文基于https://blog.51cto.com/davidbj/1200783 进行制作和补充, 在此对文章作者表示感谢.

2. vsftp登录时提示:“vsftpd 500 OOPS: chroot”, https://blog.51cto.com/sndapk/922748

3. ftp登陆报错530 Login incorrect. Login failed., https://blog.youkuaiyun.com/hahahaxiaoyu/article/details/100582853

4. vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法, https://blog.youkuaiyun.com/bluishglc/article/details/42399439

五、本文首发说明

本文首发于老刘博客http://laoliu.pro/php/17.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值