参考代码:

-- 使用mysql数据库
USE mysql-- 创建用户
CREATE USER myuser IDENTIFIED BY 'mypass';-- 查看用户
SELECT user, host, authentication_string FROM USER WHERE USER='myuser';-- 修改用户密码
update user set authentication_string='' where user='myuser';
ALTER USER 'myuser'@'%' IDENTIFIED BY 'mypass';-- 删除用户
DROP USER myuser;-- 查看权限
SHOW GRANTS FOR myuser;-- 授予权限
-- grant all privileges on databasename.tablename to 'user'@'host' identified by 'password';
-- 授予myuser用户全局级全部权限:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypass' WITH GRANT OPTION;
-- 授予myuser用户针对testdb数据库全部权限:
GRANT ALL PRIVILEGES ON testdb.* TO 'myuser'-- 生效(刷新权限)
FLUSH PRIVILEGES;-- 撤销权限
-- revoke privileges on databasename.tablename from 'username'@'host';
REVOKE ALL PRIVILEGES FROM myuser;

GRANT命令说明:

  • priveleges(权限列表),可以是all priveleges, 表示所有权限,也可以是select、update等权限,多个权限的名词,相互之间用逗号分开。
  • on用来指定权限针对哪些库和表。
  • *.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。
  • to 表示将权限赋予某个用户,@后面接限制的主机,可以是IP,IP段,域名以及%,%表示任何地方。注意:这里%有的版本不包括本地,以前碰到过给某个用户设置了%允许任何地方登录,但是在本地登录不了,这个和版本有关系,遇到这个问题再加一个localhost的用户就可以了。
  • identified by指定用户的登录密码,该项可以省略。
  • WITH GRANT OPTION 这个选项表示该用户可以将自己拥有的权限授权给别人。注意:经常有人在创建操作用户的时候不指定WITH GRANT OPTION选项导致后来该用户不能使用GRANT命令创建用户或者给其它用户授权。

备注:可以使用GRANT重复给用户添加权限,权限叠加,比如你先给用户添加一个select权限,然后又给用户添加一个insert权限,那么该用户就同时拥有了select和insert权限。

授权原则说明:

权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:

  1. 只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。
  2. 创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。
  3. 初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。
  4. 为每个用户设置满足密码复杂度的密码。
  5. 定期清理不需要的用户。回收权限或者删除用户。

Mysql8.0 添加用户和权限相关推荐

  1. mysql8.0设置用户权限_MySQL8.0添加用户和权限

    参考代码: -- 使用mysql数据库 USE mysql -- 创建用户 CREATE USER myuser IDENTIFIED BY 'mypass'; -- 查看用户 SELECT user ...

  2. mysql8.0创建用户授予权限报错解决方法

    Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your My ...

  3. MySQL8.0添加新用户并授予远程访问权限

    MySQL8.0添加用户并授权远程访问 Win10安装MySQL8.0的详细步骤可以看我的博客内容 MySQL8.0添加用户并授权远程访问 详细步骤: [1].打开cmd界面,输入mysql -u r ...

  4. mysql8.0查看用户_MySQL 8.0用户和角色管理

    MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理, 默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置, 这样方面用户的管理和权限的 ...

  5. vue路由添加.html,怎么使用VueRouter的addRoutes方法实现动态添加用户的权限路由

    怎么使用VueRouter的addRoutes方法实现动态添加用户的权限路由 发布时间:2021-04-26 13:34:44 来源:亿速云 阅读:76 作者:小新 小编给大家分享一下怎么使用VueR ...

  6. linux 下如何添加用户、权限

    linux 下如何添加用户.权限 转载点击访问 useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/ ...

  7. 在Tomcat中添加用户和权限

    Tomcat中添加用户和权限 1.添加用户和权限 2.验证添加的用户和权限是否可以使用 在使用Tomcat时, 我们往往会需要添加用户和权限, 如: Jenkins 在部署项目到 Tomcat 服务器 ...

  8. mysql8.0修改用户权限使用外网连接

    一.配置用户权限 1.查看用户目前的权限 use mysql; select Host,User from user where user='root'; 我这里已经开放了外网权限,没有开放%显示的是 ...

  9. win7安装mysql8.0创建用户_CentOS如何安装MySQL8.0、创建用户并授权的详细步骤

    # 安装相关软件 yum install -y gcc gcc-c++ openssl openssl-devel ncurses ncurses-devel make cmake # 获取MySQL ...

最新文章

  1. 如何用 ndctl/ipmctl 管理工具 配置不同访问模式的pmem设备
  2. 区分docker stack/service/task
  3. 第3章 衡量线性回归的指标:MSE,RMSE,MAE
  4. c语言3368题目,电大《C语言程序设计课程》期末考试复习资料
  5. 异常:fatal: unable to access 'https://git.oschina.net/pcmpcs/library.git/': Could not resolve host...
  6. Linux下的tty和pts:PTS之间标准输入输出的交互
  7. python 获取照片拍摄时间_Python实现获取照片拍摄日期并重命名的方法
  8. DSGE模型的Stata实现简介
  9. python socket编程详细教程_最基础的Python的socket编程入门教程
  10. java 2的64次幂_2的N次方对照表 2的64次方等于几?
  11. 基于POP3协议收取邮件
  12. 卧槽!迅雷的代码结构竟然被扒了精光!
  13. SEO技术:外链建设操作要点
  14. 输入、输出电阻与带负载能力的总结
  15. 轻松获得3D打印和2D定制产品及相关设备/展会/创业等最新资讯
  16. java银行安全性_Java使用同步方法解决银行取钱的安全问题案例分析
  17. 2022届秋招面经--秋招面试(4)
  18. Flutter: 把本地相册图片转换成Base64的方法
  19. 蝰蛇峡谷如何组RAID
  20. 如何将录音转换成文字?实现录音转文字简单方法介绍

热门文章

  1. win10正在连接到服务器,win10系统提示DNF正在连接服务器的解决方法
  2. 膝盖中了一箭之康复篇-第六个月
  3. 几种常用的UE4粒子材质制作(雨水,烟雾,闪星)
  4. 深入理解Python异步编程
  5. 基于C++的OpenCV项目实战——文档照片转换成扫描文件
  6. iOS开源加密相册Agony的实现(二)
  7. Java类与对象详细讲解(上)
  8. 2023年测试工程师核心竞争力?功能到自动化测试开发收割28k的offer...
  9. nodejs爬虫实战_简单高效的 nodejs 爬虫模型
  10. Linux系统查看磁盘可用空间命令