慢慢看吧
mysql中可以给你一个用户授予如select,insert,update,delete等其中的一个或者多个权限,主要使用grant命令,用法格式为: 
grant 权限 on 数据库对象 to 用户 
一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 
grant select on testdb.* to common_user@’%’ 
grant insert on testdb.* to common_user@’%’ 
grant update on testdb.* to common_user@’%’ 
grant delete on testdb.* to common_user@’%’ 
或者,用一条 MySQL 命令来替代: 
grant select, insert, update, delete on testdb.* to common_user@’%’

二、grant 数据库开发人员,创建表、索引、视图、存储过程、函数。。。等权限。 
grant 创建、修改、删除 MySQL 数据表结构权限。 
grant create on testdb.* to developer@’192.168.0.%’; 
grant alter on testdb.* to developer@’192.168.0.%’; 
grant drop on testdb.* to developer@’192.168.0.%’; 
grant 操作 MySQL 外键权限。 
grant references on testdb.* to developer@’192.168.0.%’; 
grant 操作 MySQL 临时表权限。 
grant create temporary tables on testdb.* to developer@’192.168.0.%’; 
grant 操作 MySQL 索引权限。 
grant index on testdb.* to developer@’192.168.0.%’; 
grant 操作 MySQL 视图、查看视图源代码 权限。 
grant create view on testdb.* to developer@’192.168.0.%’; 
grant show view on testdb.* to developer@’192.168.0.%’; 
grant 操作 MySQL 存储过程、函数 权限。 
grant create routine on testdb.* to developer@’192.168.0.%’; -- now, can show procedure status 
grant alter routine on testdb.* to developer@’192.168.0.%’; -- now, you can drop a procedure 
grant execute on testdb.* to developer@’192.168.0.%’;

三、grant 普通 DBA 管理某个 MySQL 数据库的权限。 
grant all privileges on testdb to dba@’localhost’ 
其中,关键字 “privileges” 可以省略。

四、grant 高级 DBA 管理 MySQL 中所有数据库的权限。 
grant all on *.* to dba@’localhost’

五、MySQL grant 权限,分别可以作用在多个层次上。 
1. grant 作用在整个 MySQL 服务器上: 
grant select on *.* to dba@localhost; -- dba 可以查询 MySQL 中所有数据库中的表。 
grant all on *.* to dba@localhost; -- dba 可以管理 MySQL 中的所有数据库 
2. grant 作用在单个数据库上: 
grant select on testdb.* to dba@localhost; -- dba 可以查询 testdb 中的表。 
3. grant 作用在单个数据表上: 
grant select, insert, update, delete on testdb.orders to dba@localhost; 
4. grant 作用在表中的列上: 
grant select(id, se, rank) on testdb.apache_log to dba@localhost; 
5. grant 作用在存储过程、函数上: 
grant execute on procedure testdb.pr_add to ’dba’@’localhost’ 
grant execute on function testdb.fn_add to ’dba’@’localhost’

六、查看 MySQL 用户权限 
查看当前用户(自己)权限: 
show grants; 
查看其他 MySQL 用户权限: 
show grants for dba@localhost;

七、撤销已经赋予给 MySQL 用户权限的权限。 
revoke 跟 grant 的语法差不多,只需要把关键字 “to” 换成 “from” 即可: 
grant all on *.* to dba@localhost; 
revoke all on *.* from dba@localhost;

八、MySQL grant、revoke 用户权限注意事项 
1. grant, revoke 用户权限后,该用户只有重新连接 MySQL 数据库,权限才能生效。 
2. 如果想让授权的用户,也可以将这些权限 grant 给其他用户,需要选项 “grant option“ 
grant select on testdb.* to dba@localhost with grant option; 
这个特性一般用不到。实际中,数据库权限最好由 DBA 来统一管理。

注意:修改完权限以后 一定要刷新服务,或者重启服务,刷新服务用:FLUSH PRIVILEGES。

-------------------------------------------------------------------------------------------------------------------------------

MySQL 默认有个root用户,但是这个用户权限太大,一般只在管理数据库时候才用。如果在项目中要连接 MySQL 数据库,则建议新建一个权限较小的用户来连接。

在 MySQL 命令行模式下输入如下命令可以为 MySQL 创建一个新用户:

1
CREATE USER username IDENTIFIED BY 'password';

新用户创建完成,但是此刻如果以此用户登陆的话,会报错,因为我们还没有为这个用户分配相应权限,分配权限的命令如下:

1
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password';

授予username用户在所有数据库上的所有权限。

如果此时发现刚刚给的权限太大了,如果我们只是想授予它在某个数据库上的权限,那么需要切换到root 用户撤销刚才的权限,重新授权:

1
2
EVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
GRANT ALL PRIVILEGES ON wordpress.* TO 'username'@'localhost' IDENTIFIED BY 'password';

甚至还可以指定该用户只能执行 select 和 update 命令:

1
GRANT SELECT, UPDATE ON wordpress.* TO 'username'@'localhost' IDENTIFIED BY 'password';

这样一来,再次以username登陆 MySQL,只有wordpress数据库是对其可见的,并且如果你只授权它select权限,那么它就不能执行delete 语句。

另外每当调整权限后,通常需要执行以下语句刷新权限:

1
FLUSH PRIVILEGES;

删除刚才创建的用户:

1
DROP USER username@localhost;

仔细上面几个命令,可以发现不管是授权,还是撤销授权,都要指定响应的host(即 @ 符号后面的内容),因为以上及格命令实际上都是在操作mysql 数据库中的user表,可以用如下命令查看相应用户及对应的host:

1
SELECT User, Host FROM user;

mysql权限操作(转)的更多相关文章

  1. mysql权限操作

    1.mysql权限操作 grant select,insert on test1.tb1 to ltx2@127.0.0.1 默认权限:什么都没有 2.用户管理特殊命令: 创建用户:create us ...

  2. Mysql权限操作、用户管理、密码操作

    Mysql的权限 mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表. mysql权限表的验证过程为: 先从user表中的Host,Use ...

  3. MySQL权限操作:Grant、Revoke

    数据库操作: 创建数据库.创建表——CREATE 删除数据库.删除表——DROP 删除表内容——TRUNCATE.DELETE(后者效率低.一行一行地删除记录) 查询数据库.查询表——SELECT 插 ...

  4. MySql 用户 及权限操作

    bin/msyql -h host -u user -p    bin/mysql -u mysql -p  本地登录 如无密码按回车直接进入mySql   bin/mysqladmin -u roo ...

  5. 打通MySQL的操作权限

    打通MySQL的操作权限 前面已经总结了<XAMPP的配置与使用>,虽然可以直接通过GUI控制面板去启动MySQL服务,但是有些相关的操作则需要在Windows中的CMD命令窗口中去对My ...

  6. mysql用户权限操作

    mysql用户权限操作1.创建用户mysql -urootcreate database zabbix default charset utf8;grant all on zabbix.* to za ...

  7. mysql用户与权限操作

    本文所有操作均在mysql8.1下验证,mysql5.x部分语句不适用. 1.创建用户 '; # 创建用户test,密码123456,%表示允许在所有主机登陆 用户表为mysql库小的user表,Ho ...

  8. MySQL常用权限操作

    MySQL常用权限操作 ** ubuntu mysql 8.0.21修改root密码 ** 1.查看默认安装密码: sudo cat /etc/mysql/debian.cnf 2. 登录mysql ...

  9. MYSQL权限表user操作

        MYSQL权限表user cmd中进人mysql找到mysql安装目录     E:\wamp\bin\mysql\mysql5.6.12\bin>mysql.exe -u 用户名  - ...

随机推荐

  1. C3D视频特征提取

    一.部署 1. 先把项目Clone下来 git clone https://github.com/jfzhang95/pytorch-video-recognition.git 2. 安装环境: Py ...

  2. [Notepad++]Notepad++怎么实现双视图/双窗口?

    作为windows下非常优秀的开源代码编辑器,Notepad++是工程师必备代码编辑器.相比较之下,老一辈文本编辑器如ultraedit,editplus,就显得繁琐.冗余.疲惫.我使用过Notepa ...

  3. axios与vue的配合使用事例,实现缓存和重复加载的控制

    import Vue from "vue"; import qs from "qs"; import Store from "../vuex/stor ...

  4. app:processOfficalDebugResources报错的几种解决方法;

    Error:Execution failed for task ':app:processDebugResources'. 出现这个错误的同事,大多还会伴随的R文件的报错,对!是全部R文件都报错: 1 ...

  5. 整理Xen理论知识

    XEN 简介 XEN 是一个基于X86架构.发展最快.性能最稳定.占用资源最少的开源虚拟化技术.Xen可以在一套物理硬件上安全的执行多个虚拟机,与 Linux 是一个完美的开源组合,Novell SU ...

  6. Javascript面向对象编程(二)

    子承父业 该方法利用了call,apply,按照原有的方式进行复制,做一些改进,最后进行事务处理.废话不多说,直接看例子. 在这里我提一下,call和apply的异同:它们两个都可以改变this指向, ...

  7. js将一维数组转化为二维数组

    遇到的问题: 后端返回的是一组一维数组,但是需要展示的格式是二维数组,常见的场景举例:后台返回10个长度的数组,需要分成3个一组展示在banner上. 例:[1,2,3,4,5,6,7,8,9,10] ...

  8. Android 开发 Camera类的拍照与录像

    前言 在开发Android应用的时候,如果需要调用摄像头拍照或者录像,除了通过Intent调用系统现有相机应用进行拍照录像之外,还可以通过直接调用Camera硬件去去获取摄像头进行拍照录像的操作.本篇 ...

  9. OOP AOP

    OOP 一切皆对象,,,对象交互---功能,,,功能叠加---模块,,,模块叠加----系统 AOP   面向切面, 业务逻辑外,添加公共逻辑,增加日志功能,权限控制功能,缓存处理,异常处理,事务,性 ...

  10. django 创建视图和APP

    .创建视图views 1.在项目目录下创建views.py文件 2.from django.http import HttpResponse 3.在urls 导入模板: from django.con ...