Home  >  Article  >  Database  >  关于加强MYSQL安全的几点建议_MySQL

关于加强MYSQL安全的几点建议_MySQL

PHP中文网
PHP中文网Original
2016-05-27 13:44:36892browse

通常我们在连接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主机应该已经相对比较安全,不是那么轻松就会让人攻陷的。

以上就是关于加强MYSQL安全的几点建议_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn