欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql学习笔记----增加新用户权限

程序员文章站 2022-05-31 17:31:21
...
1.向MySql增加新用户权限:

第一种:使用GRANT语句

比较好的方法,更简明并且错误少
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;


超级用户,本机连接,完全权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%' 
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;


超级用户,其他主机,完全权限
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';


账户用户名admin,没有密码,只能本机连接,授予RELOA和PROCESS管理权限。
这些权限允许admin用户执行mysqladmin reload、mysqladmin refresh和
mysqladmin flush-xxx命令,以及mysqladmin processlist。
未授予访问数据库的权限。你可以通过GRANT语句添加此类权限。

mysql> GRANT USAGE ON *.* TO 'dummy'@'localhost';

一个账户有用户名dummy,没有密码。该账户只用于从本机连接。
未授予权限。
通过GRANT语句中的USAGE权限,你可以创建账户而不授予任何权限。
它可以将所有全局权限设为'N'。假定你将在以后将具体权限授予该账户。

第二种:直接用INSERT语句创建相同的账户,然后用FLUSH PRIVILEGES告诉服务器重载授权表

mysql> INSERT INTO user
-> VALUES('localhost','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user
-> VALUES('%','monty',PASSWORD('some_pass'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
mysql> INSERT INTO user SET Host='localhost',User='admin',
-> Reload_priv='Y', Process_priv='Y';
mysql> INSERT INTO user (Host,User,Password)
-> VALUES('localhost','dummy','');
mysql> FLUSH PRIVILEGES;