有奖调研 | 人脸辨认功能在互联网行业认知度情况
数据库的安然性无疑很重要,这里教大年夜家几招简单办法进步安然性。
1. 精确设置 datadir 权限模式
关于 datadir 精确的权限模式是 0750,甚至是 0700。
也就是最多只许可 mysqld 过程属主用户及其地点用户组可拜访,但只有属主可修改文件。
最好是直接设置成 0700,相对更安然些,避免数据文件不测泄漏。
- [yejr@imysql.com]# chown -R mysql.mysql /data/mysql57
- [yejr@imysql.com]# chmod 0700 /data/mysql57
- [yejr@imysql.com]# ls -la /data/
- drwxr-x---. 8 mysql mysql 4096 Feb 14 08:08 mysql57
2. 将 mysql socket 文件放在 datadir 下
很多人习惯将 mysql socket文件放在 /tmp 目次下。
要留意,mysql.sock 文件默认的权限模式是 0777,也就是任何人都有机会经由过程 /tmp 目次下的 socket 文件直接登入 mysql,尤其是root暗码为空或弱暗码,并且还许可本地 socket 方法登入时,是个比较危险的安然隐患。
是以,我们强烈建议把 mysql socket 文件放置在每个实例本身的 datadir 下,并且参考第一条建议,设置精确的权限模式。同时甚至也可以把 mysql.sock 文件权限模式修改为 0700。
- [yejr@imysql.com]# chmod 0700 /data/mysql57/mysql.sock
- [yejr@imysql.com]# ls -la /data/mysql57/mysql.sock
- srwx------. 1 mysql mysql 0 Feb 12 16:00 /data/mysql57/mysql.sock
3. 应用login-path
每次登入都要输入暗码,尤其是调用mysql client对象时,如不雅直接周详码写在client对象的选项里,则是异常危险的行动,大年夜汗青敕令就能看到暗码了,并且会有类似下面的提示:
一般来说,我们会为每个mysql账户设置暗码,如许是平俺了棘但应用和保护起来就不便利了。
- mysql: [Warning] Using a password on the command line interface can be insecure.
这时刻,我们其实可以应用 login-path 功能来进步安然性及便利性。
login-path 特点是MySQL 5.6新增的。
起首,应用 mysql_config_editor 设备login-path:
- #选项 ”-G lp-mysql57-3306”设定login-path的别号
- mysql_config_editor set -G lp-mysql57-3306 -S /data/mysql57/mysql.sock -uroot -p
- [yejr@imysql.com]# ls -la ~/.mylogin.cnf
- -rw-------. 1 yejr users 152 Feb 11 22:42 /home/yejr/.mylogin.cnf
- [yejr@imysql.com]# file ~/.mylogin.cnf
- /home/yejr/.mylogin.cnf: data
接下来可以应用 login-path 很便利的登入 mysqld 而无需额外的暗码:
设置完后,就会在该用户的 $HOME目次下生成 .mylogin.cnf 文件:
这是个加密的二进制文件,即便用明文方法查看,也是无法显示暗码的: