视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
关于加强MYSQL安全的几点建议_MySQL
2020-11-09 20:19:03 责编:小采
文档

通常我们在连接MySQL的服务器时,要使用到口令。这个口令在网络上传输的时候是加过密的。可是其它的内容都是以明文的方式来进行传输的。

当然如果担心这个不安全的话,可以使用压缩协议(MySQL3.22和以上版本),这样可以让其它的内容不那么容易就被看到。甚至为了让它更加安全,可以考虑下安装ssh。装上它之后,你就能在MySQL服务器与MySQL客户之间,搭建一条加密的TCP/IP连接。
为了使你的MySQL系统更安全,强烈建议考虑以下建议:


1.为每个MySQL用户使用口令。如果你不加设口令的话,其他人可以通过mysql --user other_user database的方式访问你的数据库,在使用MySQL进行检测的时候系统也会给你相应的警告信息。


2.通过mysql_install_db脚本建立mySQL的授权表,你可以通过mysql -u root进行测试,正确的情况下应该不会发生错误。更改root的密码:

shell> mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD( ew_password)
WHERE user= root;
mysql> FLUSH PRIVILEGES;


3.不要用root方式启动MySQL服务。MySQL可以以任何用户启动。你可以通过添加一个新用户的方式来启动数据库服务(也就是mysql低权限运行)。这也不会对系统造成任何影响,因为MySQL的用户和Unix的用户根本来说就使不同的。


4.如果你把Unix root用户口令放在了mysql.server脚本中,那么必须确保这个脚本只对root是可读的。检查那个运行mysqld的用户,确保这个用户是唯一在数据库目录下有读/写权限的用户。


5.不要把process权限给任何人。mysqladmin processlist的输出会显示出当前正在执行的查询正文,这时如果有另外的用户发出一个UPDATE user SET password=PASSWORD( ot_secure)查询,则会被有process权限的用户看得到查询。mysqld为有process权限的用户保留一个额外的连接, 以便一个MySQL root用户能登录并检查,即使所有的正常连接在使用。


6.不要把file权限给所有的用户。有这权限的用户能在拥有mysqld守护进程权限的文件系统那里写一个文件! file权限也可以被用来读取任何作为运行服务器的Unix用户可存取的文件。这可能被利用,例如,通过使用LOAD DATA装载"/etc/passwd"进一个数据库表,然后它能用SELECT被读入。


7. 如果你不信任你的DNS,你应当使用IP来取代主机名。在任何情况下,你应该非常小心地使用包含通配符的主机名!
相信通过以上的设置过后,你的Mysql主机应该已经相对比较安全,不是那么轻松就会让人攻陷的。

下载本文
显示全文
专题