mysql8创建、删除用户以及授权、消权操作详解
作者:火红_ 发布时间:2024-01-13 22:46:34
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)
来源:https://blog.csdn.net/qq_31676483/article/details/123416502


猜你喜欢
- 1.背景1.1. 项目介绍golang/sync库拓展了官方自带的sync库,提供了errgroup、semaphore、singlefli
- 一、求算术平方根a=x=int(raw_input('Enter a number:'))if x >= :while
- 1. 时间差函数(TIMESTAMPDIFF、DATEDIFF)需要用MySQL计算时间差,使用TIMESTAMPDIFF、DATEDIFF
- 杨紫和肖战的《余生请多指教》于3月15日起腾讯视频全网独播,湖南卫视金鹰独播剧场晚8:20播放。对于杨紫的纯剧粉(战长沙入的坑图片),想要用
- 最近写一个小爬虫,需要拿到邮箱信息,发现拿不到,也不是ajax接口。最后查资料发现是被Cloudflare加密起来了,有加密肯定有解密。通过
- 本文实例为大家分享了python名片管理系统的具体代码,供大家参考,具体内容如下import oslist_all = []def page
- 一、tag简介tag是git版本库的一个标记,指向某个commit的指针。tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打
- 目录小而美简单至上避免空值选择数据类型的步骤数据类型介绍一、串数据类型二、数值数据类型三、日期和时间数据类型四、二进制数据类型结语:小而美通
- 项目开发中hadoop一直装在虚拟机上,最近要迁移到服务器上。记录下迁移过程。一、为虚拟机添加一块新的硬盘虚拟机的初始硬盘只有30G,容不开
- 听说pytorch使用比TensorFlow简单,加之pytorch现已支持windows,所以今天装了pytorch玩玩,第一件事还是写了
- 神经网络在机器学习中有很大的应用,甚至涉及到方方面面。本文主要是简单介绍一下神经网络的基本理论概念和推算。同时也会介绍一下神经网络在数据分类
- 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清除的概念。大多IE下的显示错误,就
- 今天整理之前做vue项目时遇到的一些问题,发现了当时遇到的一个很小但是又会引出很多问题的一个问题(总之就是很有意思,听我慢慢给你到来),这个
- 最近看到市场上各种的文档格式转换软件,要么是收费、要么是有大量的广告。于是学习了一下 PyQt5 的页面操作,再加上了解 pandas 的使
- Python连接Oracle本地测试依赖安装准备Python、链接Oracle需要Python依赖和本地Oracle客户端,测试环境Orac
- 1、利用key排序d = {'d1':2, 'd2':4, 'd4':1,'d3
- 在html 5增加了新元素header、footer,测试过发现IE不能解析html 5新增的元素。代码如下:<!DOCTYPE&nb
- CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与Fireofx的兼容性处理技
- 在正文开始之前,先了解vue基于源码构建的两个版本,一个是 runtime only ,另一个是 runtime加compiler 的版本,
- 本文实例讲述了python简单实现基数排序算法。分享给大家供大家参考。具体实现方法如下:from random import randint