手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Mysql>列表

如何实现MySQL中的用户管理?

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

values
('%','customers','custom','Y','Y','Y','Y','Y','Y');

3、授权数据表

授权数据表对表的行操作包括select,insert,update和delete,对表和数据库的操作包括create和drop。其他的授权还包括如LOAD DATA INFILE和SELECT INTO OUTFILE和管理命令:shutdown, reload, refresh 和process.三个授权数据表的结构如下所示:
user表
字段 类型 健 默认值
Host char(60) PRI ""
User char(16) PRI ""
Password char(16) - ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N
Reload_priv enum('N','Y') - N
Shutdown_priv enum('N','Y') - N
Process_priv enum('N','Y') - N
File_priv enum('N','Y') - N

db表
字段 类型 健 默认值
Host char(60) PRI ""
Db char(64) PRI ""
User char(16) PRI ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N

host 表只有在db的数据项中出现host为空的情况下使用。
字段 类型 健 默认值
Host char(60) PRI ""
Db char(64) PRI ""
Select_priv enum('N','Y') - N
Insert_priv enum('N','Y') - N
Update_priv enum('N','Y') - N
Delete_priv enum('N','Y') - N
Create_priv enum('N','Y') - N
Drop_priv enum('N','Y') - N

在数据表中能够使用统配符号。

4、最常见的Access denied出现错误的原因

(1)您是否通过mysql_install_db脚本建立mySQL的授权表,您能够通过mysql -u root进行测试,正确的情况下应该不会发生错误。或,您是否有一个文档为:user.ISD,通常其位置在install_dir/var/mysql/user.ISD。
(2)最初使用的时候您应该使用mysql -u root mysql以存取数据库,或以root身份进行操作。
(3)更改了授权之后是否使用了mysqladmin reload进行了更新?
(4)在以测试为目的的时候,您应当选用--without-grant-tables选项启动mysqld服务,您能够在这时更改授权表的相关内容,也能够用mysqlaccess检查您的授权是否到位。
(5)没有使用password("口令")设定了口令,结果也会出现错误,在使用-p的选项的时候,注意-ppassword之间没有空格。

5、如何使得MySQL更加安全?

(1)为每个MySQL用户使用口令。记住,假如您不加设口令的话,其他人能够通过mysql --user other_user database的方式访问您的数据库,在使用MySQL进行检测的时候系统也会给您相应的警告信息。
(2)不要用root方式启动MySQL服务。MySQL能够以任何用户启动。您能够通过添加一个新用户的方式来启动数据库服务。这也不会对系统造成任何影响,因为MySQL的用户和Unix的用户根本来说就使不同的。
(3)不要把'Process_priv','File_priv'等权限授予任何人。
(4)假如您不信任您的DNS,您应当使用IP来取代主机名。在任何情况下都要小心带匹佩符的主机名。以下的一些选项能够影响到您的系统的安全:
--secure
顾名思义,能够使系统根加安全,因为他能够检查IP地址的一致性。(实际连接IP地址和通过解析的IP地址),但是这使得mySQL在防火墙工作的时候很难被防火墙外的人所访问。
--skip-grant-tables
一般情况下不要使用这个选项,这能够试的任何人不受限制地访问您的系统。
--skip-name-resolve
不进行主机名的解析。在授权数据表中的任何主机名必须为ip地址或'localhost'.
--skip-networking
不允许通过网络进行连接。任何的连接必须通过Unix Socket。



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!