MySql用户权限控制_MySQL

php中文网
发布: 2016-06-01 13:35:39
原创
1104人浏览过

bitsCN.com

mysql用户权限控制

 

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

创建用户帐号:  www.bitsCN.com  

[sql] 

CREATE USER user_name IDENTIFIED BY 'your_password';  

 

改名

[sql] 

RENAME USER old_name TO new_name;  

 

删除用户帐号

[sql] 

DROP USER user_name;  

 

查看用户的权限可以用  www.bitsCN.com  

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和存储过程

eshop网上书店源码
eshop网上书店源码

适合初学的标准三层架构,采用ajax,页面布局div+css符合w3c,用vs自带的sqlserver,免配置sqlserver,使用方便,里面共有5个项目,点击最外层的.sln直接可运行。网站采用asp.net 用户角色配置(membership,UserRoles),用户角色、权限可在asp.net配置里修改,注册,登陆均采用asp.net登陆控件,网站根据用户角色自定义sitemap,基本上

eshop网上书店源码 0
查看详情 eshop网上书店源码

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 无访问权限

[sql] 

  

更改口令

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  然后输入root密码(也可以没有密码,则不加-p)

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

这样即可。

bitsCN.com
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号