1.账号分角色进行管理,分为运维权限,主程权限,普通开发者权限,网站的权限,同一个库的不通账号要区别对待。
2.最好不要使用默认的3306端口,不过这一条不是那么必要,因为如果有人真的要搞你的话,无论你换成哪个端口,别人都可以发现,对于端口的防护最好是不要把数据库的访问开放到公网上去。
3.检查是否设置禁止mysql对本地文件存取:
revoke file on *.* from 'user'@'127.0.0.1';
利用这个漏洞,结合root启动的话,你的服务器就悲剧了,别人可以随意存储文件到你的系统上,如authorized_keys文件。
4.检查test库是否已被删除。
show databases like 'test';
drop database "test";
5.检查默认管理员账号是否已更名,这个配置主要是防止别人通过爆破工具对你的数据库的一个爆破成功率。
use mysql;
update user set user="newUserName" where user="root";
flush privileges;
6.设置mysql的启动用户为非root用户。
7.禁用掉mysql命令历史记录,因为一般的Mysql的命令历史会被记录,该历史文件如果被别人拿到,是很危险的,通过下面的配置,禁止掉:
echo "export MYSQL_HISTFILE=/dev/null"
或者
ln -s /dev/null $HOME/.mysql_history
8.设定备份策略,最好使用异地备份的方式对数据库进行备份。