日期:2014-05-16 浏览次数:20720 次
1. 添加用户
可以使用CREATE USER语法添加一个或多个用户,并设置相应的密码。 语法格式:
CREATE USER user [identified BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...
其中,user的格式为: 'user_name'@ 'host name'
说明:
user_name为用户名,host_name为主机名,password为该用户的密码。在大多数SQL产品中,用户名和密码只由字母和数字组成。
使用自选的IDENTIFIED BY子句,可以为账户给定一个密码。特别是要在纯文本中指定密码,需忽略PASSWORD关键词。如果不想以明文发送密码,而且知道PASSWORD()函数返回给密码的混编值,则可以指定该混编值,但要加关键字PASSWORD。
CREATE USER用于创建新的MySQL账户。CREATE USER会在系统本身的mysql数据库的user表中添加一个新记录。要使用CREATE USER,必须拥有mysql数据库的全局CREATE USER权限或INSERT权限。如果账户已经存在,则出现错误。
例: 添加两个新的用户,king的密码为queen,palo的密码为530415。
CREATE USER
'king'@'localhost'IDENTIFIED BY 'queen',
'palo'@'localhost'IDENTIFIED BY '530415';
说明:
在用户名的后面声明了关键字localhost。这个关键字指定了用户创建的使用MySQL的连接所来自的主机。如果一个用户名和主机名中包含特殊符号如“_”,或通配符如“%”,则需要用单引号将其括起。“%”表示一组主机,所有人都可以访问。
如果两个用户具有相同的用户名但主机不同,MySQL将其视为不同的用户,允许为这两个用户分配不同的权限集合。
如果没有输入密码,那么MySQL允许相关的用户不使用密码登录。但是从安全的角度并不推荐这种做法。
刚刚创建的用户还没有很多权限。它们可以登录到MySQL,但是它们不能使用USE语句来让用户已经创建的任何数据库成为当前数据库,因此,它们无法访问那些数据库的表,只允许进行不需要权限的操作,例如,用一条SHOW语句查询所有存储引擎和字符集的列表。
2. 删除用户
语法格式:DROP USER user [, user_name] ...
DROP USER语句用于删除一个或多个MySQL账户,并取消其权限。要使用DROPUSER,必须拥有mysql数据库的全局CREATE USER权限或DELETE权限。
例: 删除用户TOM :DROP USER TOM@localhost;
如果删除的用户已经创建了表、索引或其他的数据库对象,它们将继续保留,因为MySQL并没有记录是谁创建了这些对象。
3. 修改用户
可以使用rename USER语句来修改一个已经存在的SQL用户的名字。 语法格式:RENAME USER old_user TO new_user,
[, old_user TO new_user] ...
说明:
old_user为已经存在的SQL用户。new_user为新的SQL用户。
RENAME USER语句用于对原有MySQL账户进行重命名。要使用RENAME USER,必须拥有全局CREATE USER权限或mysql数据库UPDATE权限。如果旧账户不存在或者新账户已存在,则会出现错误。