什么时候会用到

  • 对接外系统时,需要给其余系统开放访问权限
  • 本系统中,分权限管理数据,防止root权限删库跑路

mysql版本

MySql8.0+

具体步骤

1.命令行进入MySql

使用 mysql -u#UserName -p#PassWord 命令进入MySql

#UserName 代表你的MySql用户名

#PassWord 代表你的MySql密码

本狗的用户名是root,密码是root

mysql -uroot -proot

2.进入数据库

如果没有创建数据库则先使用命令,若已存在数据库则跳过此步骤

create database #databaseName;

#databaseName 代表你操作的数据库

本狗要创建的是b2b数据库,切记加上分号;

create database b2b;

use databaseName;

#databaseName 代表你操作的数据库

本狗要操作的是b2b数据库,切记加上分号;

use b2b;

3.创建用户

create user '#userName'@'#host' identified by '#passWord';

#userName 代表你要创建的此数据库的新用户账号

#host 代表访问权限,如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

#passWord 代表你要创建的此数据库的新用密码

本狗要创建的用户是testUser,密码是Haier...123,并且可远程访问

️密码强度需要大小写及数字字母,否则会报密码强度不符合

️用户名如果重复,会报错ERROR 1396 (HY000): Operation CREATE USER failed for 'testUser'@'%'

create user 'testUser'@'%' identified by 'Haier...123';

4.查看用户

进入mysql系统数据库

use mysql;

查看用户的相关信息

select host, user, authentication_string, plugin from user;

use mysql;
select host, user, authentication_string, plugin from user;

若展示的信息中有刚加入的用户testUser,则添加成功。切记查看完要切换回操作的数据库,本狗需要操作的是b2b

use b2b;

5.用户授权

grant #auth on #databaseName.#table to '#userName'@'#host';

#auth 代表权限,如下

  • all privileges 全部权限
  • select 查询权限
  • select,insert,update,delete 增删改查权限
  • select,[...]增...等权限

#databaseName 代表数据库名

#table 代表具体表,如下

  • *代表全部表
  • A,B 代表具体A,B表

#userName 代表用户名

#host 代表访问权限,如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

本狗赋予b2b数据库area_code表增删改差权限

grant select,insert,update,delete on b2b.area_code to 'testUser'@'%';

6.刷新

切记一定要刷新授权才可生效

flush privileges;

7.查看用户权限

show grants for '#userName'@'#host';

#userName 代表用户名

#host 代表访问权限,如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

本狗要查看的是testUser

show grants for 'testUser'@'%';

8.验证

使用navicat等可视化工具验证

9.撤销权限

revoke #auth on #databaseName.#table from '#userName'@'#host';

#auth 代表权限,如下

  • all privileges 全部权限
  • select 查询权限
  • select,insert,update,delete 增删改查权限
  • select,[...]增...等权限

#databaseName 代表数据库名

#table 代表具体表,如下

  • *代表全部表
  • A,B 代表具体A,B表

#userName 代表用户名

#host 代表访问权限,如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

本狗要撤销testUser用户对b2b数据库中的area_code表的增删改差权限

revoke select,insert,update,delete on b2b.area_code from 'testUser'@'%';

本狗再查看用户权限

show grants for 'testUser'@'%';

10.删除用户

drop user '#userName'@'#host';

#userName 代表用户名

#host 代表访问权限,如下

  • %代表通配所有host地址权限(可远程访问)
  • localhost为本地权限(不可远程访问)
  • 指定特殊Ip访问权限 如10.138.106.102

本狗要删除用户是testUser

drop user 'testUser'@'%';



我是JavaDog,谢谢博友耐心看完, 抽空来我狗窝瞅瞅呗 blog.javadog.net

MySQL8.0 创建用户及授权 - 看这篇就足够了的更多相关文章

  1. CentOS如何安装MySQL8.0、创建用户并授权的详细步骤

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

  2. python 全栈开发,Day63(子查询,MySQl创建用户和授权,可视化工具Navicat的使用,pymysql模块的使用)

    昨日内容回顾 外键的变种三种关系: 多对一: 左表的多 对右表一 成立 左边的一 对右表多 不成立 foreign key(从表的id) refreences 主表的(id) 多对多 建立第三张表(f ...

  3. Mysql 创建用户并授权

    设置MySQL用户账号,指定哪个用户可以连接服务器,从哪里连接,连接后能做什么. MySQL管理员应该知道如何设置MySQL用户账号,指出哪个用户可以连接服务器,从哪里连接,连接后能做什么? GRAN ...

  4. mysql(单表查询,多表查询,MySQl创建用户和授权,可视化工具Navicat的使用)

    单表查询 语法: 一.单表查询的语法 SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY field HAVING 筛选 ORDER BY field LIMIT ...

  5. 制作MySQL的Windows服务+创建用户及授权

         在上一篇随笔中详述了MySQL的Windows 64位版本的安装,以及初始化操作.启动服务端.客户端连接.一些基本的文件操作等.然而在进行这些操作的时候,需要我们去输入一长串的路径和命令才能 ...

  6. oracle11g 创建用户并授权

    Oracle创建用户并给用户授权查询指定表或视图的权限用sys账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND DEFAUL ...

  7. MySQL创建用户与授权(CentOS6.5)

    1.相关SQL语句 #创建用户与授权方法 ##本地访问 create user 'zend'@'localhost' IDENTIFIED BY '123456'; grant ALL privile ...

  8. Day054--MySQL, 创建用户和授权, 数据类型, 枚举和集合, 约束,唯一, 主键,外键

    创建用户和授权 1.创建用户: # 指定ip:192.118.1.1的mjj用户登录 create user 'mjj'@'192.118.1.1' identified by '123'; # 指定 ...

  9. oracle创建表空间、创建用户、授权角色和导入导出用户数据

    使用数据库管理员身份登录 -- log as sysdba sqlplus / as sysdba; 创建临时表空间 -- create temporary tablespace create tem ...

  10. Mysql创建用户并授权以及开启远程访问

    Mysql创建用户并授权以及开启远程访问     一.创建用户并授权 1.登录mysql mysql -u root -p 2.创建数据库 create database test;//以创建test ...

随机推荐

  1. iOS block相关面试题

    一.前言本文重点来研究一下 objc 的 block,并具体来分析一下以下一些面试题目:block 的内部实现,结构体是什么样?block 是类吗?有哪些类型?一个 int 变量被 __block 修 ...

  2. 2020-2021第一学期2024"DCDD"小组第十二周讨论

    2020-2021第一学期"DCDD"第十二周讨论 这次不同的是,先来一个密文吧: 53fd95b7c2bd8c1383cdcbf5b04e3880 求解! 小组名称:DCDD 小 ...

  3. R语言原生管道绘图

    前言 最近写论文的时候又一次用到了R.这次我是对Java有一定程度了解后再次转向R,才真正认识到R这门语言在统计编程和数据可视化领域的优雅和快速. 首先可以看一段Java的stream代码: redi ...

  4. HidController控件下载安装

    用Delphi 或 C++ 开发 USB 接口时要用到的 HidController控件,如果你找不到去哪下载参考这里. 下载地址:https://sourceforge.net/projects/j ...

  5. nuxt,js中关于服务端不能使用localStorage和cookie的解决方案

    参考链接:https://www.npmjs.com/package/cookie-universal-nuxt 1.安装下载 npm i --save cookie-universal-nuxt 2 ...

  6. 什么是Vuex

    Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享. 优点: 能够在Vuex中集中管理共享的数居,易于开发和后期维护 能够高效地实现组件之间的数据共享,提高开发效率 存 ...

  7. docker知识篇

    什么是Docker?Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).b ...

  8. Ajax属性

    如何创建一个 Ajax <script>         window.onload=function(){             1)创建一个异步调用对象             va ...

  9. K8SYaml文件详解

    一.K8S支持的文件格式 kubernetes支持YAML和JSON文件格式管理资源对象. JSON格式:主要用于api接口之间消息的传递 YAML格式:用于配置和管理,YAML是一种简洁的非标记性语 ...

  10. sql server clr json to table

    背景 SQL SERVER 2016 之前版本不支持 直接解析json 步骤: 1 vs 数据库项目 2 生成dll 3 加入信任 DECLARE @hash AS BINARY(64) = (SEL ...