MySql用户权限控制

文章摘自《MySQL必知必会》

这本书我要推荐下,书只有250页不到。但是比较全面的讲解了MySQL的实践方面的操作,用来入门不错。网上有pdf的电子书

本文将介绍MySql创建帐号,删除帐号,设置和介绍各种帐号的权限

创建用户帐号:

CREATE USER user_name IDENTIFIED BY 'your_password';


改名

RENAME USER old_name TO new_name;


删除用户帐号

DROP USER user_name;


查看用户的权限可以用

SHOW GRANTS FOR user_name;

如果显示为:GRANT USAGE ON *.* TO 'user_name'@'%' 则表示无任何权限!!!!   前面一个*表示任意数据库,后面一个表示数据库里的任意表

注意:用户必须具有GRANT OPTION权限才能使用GRANT和INVOKE为别的用户赋予或者撤销权限

例子:赋予SELECT权限

GRANT SELECT ON testdb.* TO user_name;  表示将对testdb数据库下的所有表的SELECT权限赋予user_name用户.

撤销权限:

REVOKE SELECT ON testdb.* FROM user_name; 表示将用户对testdb数据库中所有表的SELECT权限撤销.

可以一次写多个如:GRANT SELECT, INSERT ON testdb.* TO user_name;


MySql的权限如下表所示:

ALL除GRANT OPTION外的所有权限
ALTER使用ALTER TABLE
ALTER ROUTING使用ALTER PROCEDURE和DROP PROCEDURE
CREATE使用CREATE TABLE
CREATE ROUTING使用CREATE PROCEDURE
CREATE TEMPORARY TABLES使用CREATE TEMPORARY TABLE
CREATE USER使用CREATE USER、DROP USER、RENAME USER和REVOKE ALL PRIVILLEAGES
CREATE VIEW使用CREATE VIEW
DELETE使用DELETE
DROP使用DROP TABLE
EXECUTE使用CALL和存储过程
FILE使用SELECT INTO OUTFILE和LOAD DATA INFILE
GRANT OPTION使用GRANT和REVOKE
INDEX使用CREATE INDEX和DROP INDEX
INSERT使用INSERT
LOCK TABLES使用LOCK TABLES
PROCESS使用SHOW FULL PROCESSLIST
RELOAD使用FFLUSH
REPLICATION CLIENT服务器位置的访问
REPLICATION SLAVE由复制从属使用
SELECT使用SELECT
SHOW DATABASES使用SHOW DATABASES
SHOW VIEW使用SHOW CREATE VIEW
SHUTDOWN使用mysqladmin shutdown(用来关闭MySQL)
SUPER使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER和SET GLOBAL。还允许mysqladmin调试登录
UPDATE使用UPDATE
USAGE无访问权限

 

更改口令

SET PASSWORD FOR user_name = PASSWORD('new_password');

或者SET PASSWORD = PASSWORD('new_password');   这个是更改自己的口令



GRANT和REVOKE可以在几个层次上控制访问权限:

整个服务器,使用GRANT ALL和REVOKE ALL;

整个数据库,使用ON database.*;

特定的表,使用ON database.table;

特定的列     ,不知道

特定的存储过程, 不知道



补充一点,

我们在linux系统下直接输入mysql时,会以本地匿名账号登陆,即''@localhost

而这个账户一开始没权限即USAGE *.* ,,所以很多时候操作都不成功。

这时我们如果只是学习的话,可以首先用root登陆即mysql -u root -p  <CR>然后输入root密码(也可以没有密码,则不加-p)

然后GRANT ALL ON *.*  FOR  ''@localhost;

这样即可。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值