1、概述

1)MySQL数据库中root用户具有最高的权限(超级用户),可以对任何数据库,任何表进行操作。

2)权限账户,只拥有部分权限(CRUD) 。例如:只能操作某个数据库的某张表等等。

2、mysql的用户权限设置

  2.1、连接数据库

mysql> use mysql; -- 连接mysql数据库

  2.2、查看所有用户

mysql> select host,user,password from user;

  2.3、创建用户

mysql> create user dshore identified by '';  -- identified by 会将纯文本的密码加密后,作为散列值存储。

  2.4、修改指定用户的名称

mysql> rename user dshore to shore;

  2.5、删除指定用户

mysql> drop user shore;

  2.6、修改指定用户密码

mysql> update user set password = password('') where user = 'shore';

注意:修改完密码后,必须重启MySQL的服务,否则无法登陆该用户。

  2.7、将指定用户的密码用MD5加密函数(单向加密)

mysql> select password('shore');

  2.8、查看指定用户的权限

mysql> show grants for shore;

  2.9、对指定用户授权

 mysql> grant select on *.* to shore; -- 授予shore用户查看所有数据库及其对应数据库下的所有表的权限
mysql> grant select on school.* to shore; -- 授予shore用户查看school数据库下的所有表的权限
mysql> grant select on school.student to shore; -- 授予shore用户只能查看school数据库下的student表的权限

  2.10、回收指定用户的权限

mysql> revoke  select on *.* to shore; -- 回收shore用户查看所有数据库及其对应数据库下的所有表的查看权限
mysql> revoke select on school.* to shore; -- 回收shore用户查看school数据库下的所有表的权限
mysql> revoke select on school.student to shore; -- 回收shore用户查看school数据库下的student表的权限

上面的命令也可使用多个权限同时赋予和回收,权限之间使用逗号分隔
 grant/revoke select,update,delete,insert  on *.*  to  shore;

 grant all on *.* to 'shore'@'localhost'; -- 这时,shore用户的权限相当于root 用户,没有实际意义,不建议这样授权。( @'localhost' 指本地操作的权限 )
grant all on school.* to 'shore'@'localhost'; -- 只授予对school数据库的所有操作权限
revoke all on *.* from 'shore'@'localhost'; -- 回收shore用户的所有权限

  2.11、user表中host列中的值的意义

%
匹配所有主机
    localhost            localhost不会被解析成IP地址,直接通过UNIXsocket连接       
127.0.0.1 会通过TCP/IP协议连接,并且只能在本机访问;
::1 ::1就是兼容支持ipv6的,表示同ipv4的127.0.0.1

原创作者:DSHORE

作者主页:http://www.cnblogs.com/dshore123/

原文出自:https://www.cnblogs.com/dshore123/p/10575681.html

欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

Java基础91 mysql的用户权限设置问题的更多相关文章

  1. mysql grant用户权限设置

    MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. grant sele ...

  2. mysql数据库用户权限设置

    设置用户权限:格式:grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' identified by '密码'; * 权限列表:用于列出授权的各种数据库操作,通过逗号进行分割,如 ...

  3. day43 mysql 基本管理,[破解密码以及用户权限设置]以及慢日志查询配置

    配置文件:详细步骤, 1,找到mysql的安装包,然后打开后会看到一个my.ini命名的程序,把它拖拽到notepad++里面来打开,(应该是其他文本形式也可以打开,可以试一下),直接拖拽即可打开该文 ...

  4. 重置Mysql的root密码及用户权限设置

     一.重置Mysql的root密码 方法一: 直接进入localhost/phpmyadmin修改用户root的权限,设置密码: 方法二: 进入mysql控制台:mysql->use mysql ...

  5. 转: MySQL 赋予用户权限(grant %-远程和localhost-本地区别)

    相关参考资料: MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删除 数据库中所有表数据的权利. gr ...

  6. MySQL 赋予用户权限(grant %-远程和localhost-本地区别)

    不过有些时候(有些版本)'%'不包括localhost,要单独对@'localhost'进行赋值,这事真让我遇上了,在对mysql5.1.32建立远程用户时. 分别对'%'和'localhost'授权 ...

  7. mysql 操作用户权限

    使用可以对mysql数据库用户表有操作权限的用户名登陆mysqlinsert into user(Host,User,Password) values('%','name','password');如 ...

  8. linux普通用户权限设置为超级用户权限方法、sudo不用登陆密码

    以用户zato为例 普通用户权限设置为超级用户权限 进入有超级用户权限的账号 添加文件可写(w)权限 sudo chmod u+x /etc/sudoers 编辑/etc/sudoers文件 添加语句 ...

  9. MYSQL 备份用户权限

    MYSQL 备份用户权限 datadbblack 192.168.1.10 是 SELECT, RELOAD, SHOW DATABASES, LOCK TABLES  否 权限列表 1.Select ...

随机推荐

  1. SpringBoot 5.SpringBoot小知识讲解

    1.修改 server 端口: 在 application.properties 中添加 server.port=9090,我们的端口号就会变成9090了. 2.自定义配置Web: 2.1 创建 Cu ...

  2. google学术登陆不上的解决办法

    打开我的电脑,依次打开C盘,Windows,System32,drivers,etc 即C:\Windows\System32\drivers\etc   用记事本打开etc文件夹中的hosts. 在 ...

  3. 【设计模式】—— 解释器模式Interpret

    前言:[模式总览]——————————by xingoo 模式意图 自定义某种语言后,给定一种文法标准,定义解释器,进行解析. 做过搜索的朋友们可能更了解一些,平时我们搜索所需要的词库,通常就需要用这 ...

  4. BZOJ5462 APIO2018新家(线段树+堆)

    一个显然的做法是二分答案后转化为查询区间颜色数,可持久化线段树记录每个位置上一个同色位置,离线后set+树状数组套线段树维护.这样是三个log的. 注意到我们要知道的其实只是是否所有颜色都在该区间出现 ...

  5. 使用Ubuntu的Crontab定时任务需要注意的地方

    Ubuntu使用crontab定时任务  网上有很多教程,现在记录下我遇到的一些问题,需要注意的地方: 1.定时任务的日志存放路径 网上的说法:cron的日志存放在 /var/log/cron 里面 ...

  6. Ansible批量在远程主机执行命令

    Ansible直接执行远程命令,不用ssh登陆交互执行. 如下: ansible all -i 192.168.199.180, -m shell -a "ifconfig" -u ...

  7. 解题:HNOI 2014 世界树

    题面 首先建虚树 DFS求虚树上每个点所属的点和到它所属点的距离,然后在=考虑虚树所有的边(对应原树一条链).如果两个端点所属节点不同就倍增出分界点统计答案,否则不用管(之后会统计到的):注意根节点特 ...

  8. Jenkins与Docker的自动化CI/CD实战

    Jenkins与Docker的自动化CI/CD实战 互联网Java架构 2018-09-19 15:46:13 一.发布流程设计 工作流程: 开发人员提交代码到Git版本仓库:Jenkins人工/定时 ...

  9. 修改Visual Studio项目中程序集信息默认公司名称的两种方法

    这个公司名就是安装系统时注册的单位名称.可以通过修改注册表修改 Windows 系统的注册信息,方法如下:1.在开始"运行"中输入regedit,打开注册表编辑器.2.依次展开:H ...

  10. JavaScript常用模块

    JavaScript常用模块 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.序列化与反序列化 JSON.stringify(obj)   序列化 JSON.parse(str) ...