对于信息,MySQL root帐户与系统root帐户不同,它们之间没有任何关系。(相关推荐:MySQL教程)
1、在MySQL中创建新用户
使用具有shell访问权限的root用户登录MySQL服务器并创建名为“rahul”的新用户。下面的命令只允许从localhost系统访问用户rahul的MySQL服务器。
mysql> CREATE USER 'rahul'@'localhost' IDENTIFIED BY 'password';
现在将权限分配给特定数据库。下面的命令将允许用户rahul拥有数据库“mydb”的所有权限。
mysql> GRANT ALL ON mydb.* TO 'rahul'@'localhost';
创建用户并分配适当的权限后,请确保重新加载权限。
mysql> FLUSH PRIVILEGES;
2.创建可远程访问的MySQL用户
允许任何用户从远程系统连接MySQL服务器。您需要指定远程系统的主机名或IP地址。还可以使用%来允许任何主机
mysql> CREATE USER 'rahul'@'123.45.67.89' IDENTIFIED BY 'password'; mysql> CREATE USER 'rahul'@'%' IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES;
3、在MySQL中授予特定用户权限
下面是MySQL用户常用权限列表。访问此处以获取MySQL用户的完整权限列表。
ALL [PRIVILEGES] -授予用户所有权限。
CREATE -授予用户创建新数据库和表的权限。
DROP -授予用户删除(drop)数据库和表的权限。
DELETE -授予用户删除表中的行的权限。
ALTER -授予用户修改表结构的权限。
INSERT -授予用户在表中插入(add)行的权限。
SELECT -授予用户运行select命令以从表中读取数据的权限。
UPDATE -授予用户更新表中的数据的权限。
EXECUTE -授予用户执行存储的例程的权限。
FILE -授予用户访问服务器主机上的文件的权限。
GRANT OPTION -授予用户授予或删除其他用户权限的权限。
在这里,可以指定用逗号分隔的权限来代替所有权限。例如,允许对数据库mydb上的'rahul'@'localhost'进行CREATE,DELETE,INSERT,UPDATE访问。
mysql> GRANT CREATE,DELETE,INSERT,UPDATE ON mydb.* TO 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
4、撤消MySQL中的用户权限
使用REVOKE命令从用户中删除任何特定权限。例如,从mydb数据库上的用户'rahul'@'localhost'中删除DELETE权限。
mysql> REVOKE DELETE ON mydb.* TO 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;
5、在MySQL中删除用户
您可以使用DROP命令从MySQL中删除任何用户。例如,要删除用户'rahul'@'localhost',可以使用以下命令。
mysql> DROP USER 'rahul'@'localhost'; mysql> FLUSH PRIVILEGES;