Mysql 8.0 权限概述与授权(二)

       
MySQL 目录
             1、MySQL 8.0 引擎和索引
             2、MySQL 8.0 查询数据
             3、MySQL 8.0 操作数据库和数据表
             4、Mysql 8.0 权限概述与授权(一)
             5、Mysql 8.0 权限概述与授权(二)
             6、Mysql 8.0 权限概述与授权(三)
             7、持续更新中…
       
       

登入和退出MySQL 服务器

mysql (-h localhost) -u root -p (mysql)
# -h 主机名,可以使用该参数指定主机名或IP,若不指定,则默认是localhost
# -u 用户名,可以使用该参数指定用户名
# -p 密码,可以直接在-p后输入密码,之间没有空格 例如-p123123  代表密码是123123
# mysql 是数据库名
# -P 端口号,默认是3306
# -e 执行SQL语句。
例如:mysql -u root -p test_db -e "DESC person;"
将会输出 person 表结构,查询之后会自动退出到MySQL
exit; 代表退出MySQL 服务器

新建新用户

在MySQL 数据库中,有两种方式创建新用户:一种是使用 CREATE USER 语句;另一种是直接操作MySQL 授权表。

  • 使用CREATE USER 语句创建新用户
CREATE USER user_specification
		[, user_specification] ...
user_specification:
		user@host
    	[
        IDENTIFIED BY [PASSWORD]'password'
        | IDENTIFIED WITH auth_plugin [AS 'auth_string']
      ]
简单地可以这样表示:
CREATE USER 'user'@'host' IDENTIFIED BY 'password'
user 表示创建的用户的名称;
host 表示允许登陆的用户主机名称;
IDENTIFIED BY 表示用来设置用户密码;
[PASSWORD] 表示使用哈希值设置密码,该参数可选;
'password' 表示用户登入时使用的普通明文密码;
IDENTIFIED WITH 语句为用户指定一个身份验证插件;
auth_plugin 是插件的名称;
[AS 'auth_string'] 可选参数,相当于注释作用。

创建用户时,只指定用户名部分,则主机名部分默认为'%',
主机名为'%' 代表对所有的主机开放权限  
  • 直接操作MySQL 用户表
使用INSERT 语句向user 表 插入一条记录
INSERT INTO MySQL.user(Host, User, authentication_string)
VALUES('host', 'username', MD5('password'))
MD5()函数为密码加密函数
例子:
INSERT INTO MySQL.user(Host, User, authentication_string)VALUES('localhost','r',MD5('123456'));
返回的结果如下:

在这里插入图片描述

因为 ssl_cipher、x509_issuer、x509_subject 三个字段在user表定义中没有设置默认值,所以在这里提示错误信息。

SELECT host, user, authentication_string FROM user;
可以显示数据库所有的用户信息

删除用户

  • 使用DROP USER 语句删除用户
DROP USER user [, user];
  • 使用DELETE语句删除用户
DELETE FROM MySQL.user WHERE Host='hostname' AND User ='username'; 

root 用户修改自己的密码

UPDATE mysql.user SET authentication_string=MD5('newpassword') WHERE User='root' AND Host ='localhost';
执行 UPDATE 语句后,需要执行 FLUSH PRIVILEGES;语句重新加载用户权限。

root 用户修改普通用户密码

方法一:(SET方法)
SET PASSWORD FOR 'USER'@'localhost' = 'newpassword';
USER 表示普通用户名
方法二:(更新user表)
UPDATE MySQL.user SET authentication_string=MD5('newpassword') WHERE User='username' AND Host='hostname';
# username 表示(需要修改的用户的)用户名
# hostname 表示(需要修改的用户的)主机名
然后再输入FLUSH PRIVILEGES;语句即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一城山水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值