MySQL数据库在网络安全方面的功能
2007-02-14 10:54:55 来源:WEB开发网核心提示: ·Process通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令,MySQL数据库在网络安全方面的功能(3),这些命令可以查看MySQL的处理进程,可以通过这种方式查看SQL执行的细节,也面的命令是查看你的MySQL是否打开了SSL功能,SHOW VA
·Process
通过这个权限,用户可以执行SHOW PROCESSLIST和KILL命令。这些命令可以查看MySQL的处理进程,可以通过这种方式查看SQL执行的细节。
·File
这个权限决定用户是否可以执行LOAD DATA INFILE命令。给用户这个权限要慎重,因为有这个权限的用户可以将任意的文件装载到表中,这样对MySQL是十分危险的。
·Super
这个权限允许用户终止任何查询(这些查询可能并不是这个用户执行的)。
以上几种权限是非常危险的,在给用户授权限时要非常谨慎。
MySQL中的SSL
以上的帐户安全只是以普通的Socket进行数据传输的,这样非常不安全。因此,MySQL在4.1版以后提供了对SSL(Secure Scokets Layer)的支持。MySQL使用的是免费的OpenSSL库。
由于MySQL的Linux版本一般都是随Linux本身一起发布,因此,它们默认时都不使用SSL进行传输数据。如果要打开SSL功能,需要对hava_openssl变量进行设置:
MySQL的Windows版本已经将OpenSSL加入了。也面的命令是查看你的MySQL是否打开了SSL功能。
SHOW VARIABLES LIKE 'have_openssl';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| have_openssl | NO |
+---------------+-------+
1 row in set (0.00 sec)
如果返回的是NO,那么说明你需要将OpenSSL编译进自己的MySQL在有时你可能需要将用户名和密码进行加密传输。在这时可以使用下面GRANT命令:
GRANT ALL PRIVILEGES ON ssl_only_db.
* to 'abc'@'%' IDENTIFIED BY "password!" REQUIRE SSL;
还可以通过 REQUIRE x509 选项进行SSL传输:
更多精彩
赞助商链接