mysql8创建、删除用户以及授权、消权操作详解

 更新时间:2022年03月29日 16:04:45   作者:火红_  
上网找过资料说要进入mysql数据库在进行这些操作,所以下面这篇文章主要给大家介绍了关于mysql8创建、删除用户以及授权、消权操作的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

1、登录mysql

mysql -uroot -p

2、先查询都有哪些用户

select host,user from mysql.user;

红色箭头是主管理员,黄色箭头是mysql系统自带的,不要动它。蓝色箭头是子用户,这个是我以前匹配的,现在删掉,我们重新来。

3、删掉用户:

drop user '用户名'@'主机名';
drop user 'wyy'@'192.168.0.105';

4、创建用户

create user '用户名'@'允许那个主机链接' identified by '密码';

create user 'wyy'@'192.168.0.105' identified by 'wyy18222';
只允许192.168.0.105的主机链接

备注:

Mysql8.0 默认采用 caching-sha2-password 加密,有可能旧的客户端不支持,可改为 mysql_native_password;

create user 'test'@'%' identified with mysql_native_password BY '密码';

百分号%;表示任何ip地址都可以链接

create user ‘wyy’@‘192.168.0.105’ identified by ‘wyy18222’;这个是只能192.168.0.105的链接。

5、修改密码

Alter user '用户名'@'主机名' identified by '新密码';
alter user 'wyy'@'192.168.0.105' identified by '123';

6、授权

给用户授权所有权限

grant all privileges on *.* to '用户名'@'主机名' with grant option;

grant all privileges on *.* to 'wyy'@'192.168.0.105' with grant option;

grant:授权、授予

privileges:权限,特权

第一个星号:表示所有数据库

第二个星号:表示所有表

with grant option:表示该用户可以给其他用户赋予权限,但不能超过该用户的权限。这个不加也行。

例如:如果wyy只有select、update权限,没有insert、delete权限,给另一个用户授权时,只能授予它select、update权限,不能授予insert、delete权限。

给用户授权个别权限

all privileges 可换成 select,update,insert,delete,drop,create 等操作

grant select,insert,update,delete on *.* to '用户名'@'主机名';

给用户授权指定权限

给用户授予指定的数据库权限

grant all privileges on 数据库 . * to 'wyy'@'192.168.0.105';

grant all privileges on xrs . * to 'wyy'@'192.168.0.105';
将数据库名为xrs的所有权限赋予wyy

给用户授予指定的表权限

grant all privileges on 数据库 . 指定表名 to 'wyy'@'192.168.0.105';
将某个数据库下的某个表的权限赋予wyy

注意:

网上有的直接创建并赋权:

grant all privileges * . * to ‘要创建的用户’@‘localhost’ identified by ‘自定义密码’;

我在mysql8试了不行(8版本以下还没试过),要先创建用户再进行赋权,不能同时进行

7、刷新权限

flush privileges;
新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,
否则会出现拒绝访问

还有一种方法,就是重新启动mysql服务器,来使新设置生效。­

8、查看用户授权

show grants for 'wyy'@'192.168.0.105';

9、撤销用户授权(销权)

revoke all privileges on *.* from 'wyy'@'192.168.0.105';

用户有什么权限就撤什么权限

补充:mysql8.0 创建用户和授权用户遇到的坑

创建用户:

create user userName@localhost identified with mysql_native_password by 'password';(with mysql_native_password 如果没有这个,Navicat将无法登陆提示:2059 - authentication plugin...错误,因为Navicat不支持最新数据库默认的加密方式);

授权用户:

GRANT
ALL PRIVILEGES
ON databaseName.*
TO userName@'ip';(注意这点跟以往数据库都不一样,无需后面跟着IDENTIFIED BY 'password';否则将提示ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IDENTIFIED BY 'password'' at line 5)

总结

到此这篇关于mysql8创建、删除用户以及授权、消权操作的文章就介绍到这了,更多相关mysql8创建删除用户及授权内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解监听MySQL的binlog日志工具分析:Canal

    详解监听MySQL的binlog日志工具分析:Canal

    Canal主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL。接下来通过本文给大家介绍监听MySQL的binlog日志工具分析:Canal的相关知识,感兴趣的朋友一起看看吧
    2020-10-10
  • MySQL运行状况查询方式介绍

    MySQL运行状况查询方式介绍

    直接在命令行下登陆MySQL运行SHOW STATUS;查询语句;同样的语句还有SHOW VARIABLES;,SHOW STATUS是查看MySQL运行情况,和上面那种通过pma查看到的信息基本类似
    2013-06-06
  • mysql中的replace函数替换字符串问题

    mysql中的replace函数替换字符串问题

    这篇文章主要介绍了mysql中的replace函数替换字符串问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • mysql外键创建不成功/失效如何处理

    mysql外键创建不成功/失效如何处理

    文章介绍了在MySQL 5.5.40版本中,创建带有外键约束的`stu`和`grade`表时遇到的问题,发现`grade`表的`id`字段没有随着`student`表的`id`字段更新,并且没有删除的限制,问题的原因是使用了不支持外键的`MyISAM`引擎,而使用了支持外键的`InnoDB`引擎即可解决
    2025-01-01
  • 关于MySQL数据迁移--data目录直接替换注意事项的详解

    关于MySQL数据迁移--data目录直接替换注意事项的详解

    本篇文章是对关于MySQL数据迁移--data目录直接替换的注意事项进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • Mysql字符串截取及获取指定字符串中的数据

    Mysql字符串截取及获取指定字符串中的数据

    小编童鞋最近接了一个新需求,需要在MySql的字段中截取一段字符串中的特定字符,下面小编把我的核心代码分享给大家,对mysql 字符串截取相关知识感兴趣的朋友一起看看吧
    2019-11-11
  • mysql登录时报socket找不到的问题及解决

    mysql登录时报socket找不到的问题及解决

    这篇文章主要介绍了mysql登录时报socket找不到的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Linux下实现MySQL数据备份和恢复的命令使用全攻略

    Linux下实现MySQL数据备份和恢复的命令使用全攻略

    这篇文章主要介绍了Linux下实现MySQL数据备份和恢复的命令使用全攻略,包括使用Mysqldump和LVM快照以及xtrabackup三种方法,倾力推荐!需要的朋友可以参考下
    2015-11-11
  • MySQL 5.7忘记root密码后修改的详细教程

    MySQL 5.7忘记root密码后修改的详细教程

    因为长时间不操作mysql而忘记root密码的朋友估计不在少数,最近发现在MySQL 5.7版本下用之前的方法修改密码不能成功了,所以只能重新想办法解决,下面这篇文章主要给大家介绍了MySQL 5.7忘记root密码后修改的详细教程,需要的朋友可以参考。
    2017-05-05
  • MySQL中字符串比较大小详解(日期字符串比较问题)

    MySQL中字符串比较大小详解(日期字符串比较问题)

    varchar类型的数据是不能直接比较大小的,下面这篇文章主要给大家介绍了关于MySQL中字符串比较大小的相关资料,详细介绍了日期字符串比较问题,需要的朋友可以参考下
    2022-08-08

最新评论