数据库备份和安全

 

对于一个网站来说,数据库的重要性不言而喻,如何保护数据库的安全,加强防护和备灾补救措施,对一个web应用来说...



对于一个网站来说,数据库的重要性不言而喻,如何保护数据库的安全,加强防护和备灾补救措施,对一个web应用来说不言而喻,本文是笔者的一些总结,运维初级入门水平尚浅,还望资深读者不吝赐教。

1、修改数据库服务密码

一般默认安装好的mysql服务用户root密码root,为了安全起见还是修改一个复杂点的数据库密码比较好。

2、关闭没有使用的端口,开启防火墙

用了哪些端口开启哪些端口,比如我这里只用到了三个端口,那我只开启这三个端口的访问权限。

3、干掉数据库drop和delete权限

命令行或phpmyadmin登录操作,干掉drop和delete权限,保存
4、禁止外网访问mysql操作,限制127.0.0.1即服务器本地

进入服务器,编辑/etc/my.cnf,将mysql访问绑定ip为127.0.0.1
5、脚本自动定期备份数据库

写好数据库备份脚本,设置定期自动执行

有需要的朋友可以参考:
https://github.com/yubang/mysqlBackupTools/blob/master/mysqlBackupTools.py

修改一些配置参数就可以拿来用了
PS.执行的脚本文件路径要写成绝对路径;由于mysqldump的执行时会消耗服务器资源,所以建议设置深夜自动备份

执行自动备份脚本遇到的问题:
mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that

corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)

这是因为系统默认的mysqldump版本太低,我们应该将脚本中执行的mysqldump指向mysql server目录下mysqldump

(1)使用mysqldump --version可以查看mysqldump的版本
很明显我的版本太低了,因为mysql的版本是5.6

(2)使用which mysqldump可以查看默认的mysqldump目录
(3)使用locate查看还有那些mysqldump

可以看到有三处地方有mysqldump,由于/usr/bin/nysqldump是指向/usr/local/mysql/bin/mysqldump的软链接,所以很明显/usr/local/mysql.bak/bin/mysqldump才是我们想要的,把脚本中的mysqldump写全路径替换成/usr/local/mysql.bak/bin/mysqldump,再手动执行一次脚本,发现执行成功没有报错。


查看设置的备份文件目录/backup,备份成功
这里是华农人的编程社区,欢迎关注SCAU-码农之家!


    关注 SCAU码农之家


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册