mysql8出现1045报错+常用的加密plugin汇总
一些准备工作
/etc/mysql/mysql.conf.d/mysqld.cnf
的[mysqld]下面加入skip-grant-tables
service mysql restart
然后输入mysql就可以登录客户端
操作列表
操作 |
命令 |
使用备注(必须遵守,否则会碰到相关error) |
查询使用的plugin |
use mysql; select user,plugin from user where user='appleyuchi'; |
无 |
更换plugin | update user set plugin='mysql_native_password' where user='root'; | 无 |
查询授权的/host/user/authentication_string | select host,user,authentication_string from mysql.user; | 无 |
删除某个用户 | drop user appleyuchi@'%' | 这里的%是上面一句命令中得到的host,也可能是其他域名或者IP |
查看某个用户被授予的权限[3] | select * from mysql.user where user='appleyuchi'\G; | |
设置密码 | ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'appleyuchi'; | 如果运行不顺利参考[2]解决 |
新建用户 |
flush privileges; create user root@localhost identified by 'appleyuchi'; CREATE USER 'root'@'%' IDENTIFIED BY 'root'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; flush privileges; |
由于是skip-grant-tables模式, 所以有时候需要先执行flush privileges 才能继续往下执行其他命令, 所以左侧的flush privileges;执行了两次. |
授予权限 | GRANT ALL PRIVILEGES ON *.* TO 'appleyuchi'@'%' WITH GRANT OPTION; | |
查看当前用户所拥有的权限 |
SHOW GRANTS FOR 'appleyuchi'@'%'; select host,user,Grant_priv,Super_priv from mysql.user; |
|
刷新权限 | flush privileges; | |
更换密码[5] | ALTER USER appleyuchi IDENTIFIED WITH mysql_native_password BY 'appleyuchi'; |
GRANT OPTION指的是把自己的权限赋予其他用户的能力.
all权限≠拥有grant option权限
#####################################################################################################################################
加密用的plugin
plugin名字 | 备注 |
auth_socket | 无密码登录 |
caching_sha2_password | [1]中说不支持客户端使用 |
mysql_native_password | 推荐使用 |
#####################################################################################################################################
总结
根据上面的2张表格,
你除了要检查plugin是不是mysql_native_password以外,
还要查看权限,
还要查看是否具有grant option.
缺一不可.
#####################################################################################################################################
错误示范
update mysql.user set authentication_string = "appleyuchi" where user = "appleyuchi" ;
注意上面的这个绝对是错误的,因为不可能使用明文保存密码
select host,user,authentication_string from mysql.user;
得到结果如下:
Reference:
[1]mysql错误:mysql_native_password
[2]mysql8碰到ERROR 1396 (HY000)的解决方案
[3]MySQL 查看用户授予的权限
[4]mysql root权限优化后没有grant权限
[5]mysql8使用grant授权修改
mysql8出现1045报错+常用的加密plugin汇总相关推荐
- Qt-c++桌面编程报错:qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in
问题:Qt-c++桌面编程报错:qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "&q ...
- mysql8.0 1251_navicat 连接 mysql8.0 总是报错1251
分享一下navicat连接MySQL8.0时的一些坑,一开始的时候按照网上的搞了好久,但是没有解决,也不是说网上别人分享的不对,只是要结合在一起才能把问题解决,闲话少说 安装好MySaQL后(不是解压 ...
- oracle win10家庭版,Windows10远程报错:由于CredSSP加密Oracle修正(ps:Win10家庭版)
Windows10远程桌面连接 报错信息 : 网上找到方法 但是奈何是 "Win10家庭版" 不能使用这个办法,具体操作可以看最后的引用链接 !!!! 策略路径:"计算机 ...
- mysql8没有cmakelist_CentOS7安装mysql8.0编译报错集合
以下都是我安装mysql8.0遇到的一些报错和解决方法 1.does not appear to contain CMakeLists.txt. 原因:mysql下载的源码包不对 解决方法:下载正确的 ...
- mysql8 10061_MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法
MySQL8.0报错Can't connect to MySQL server on 'localhost' (10061)的解决办法 事情的起因 今天课堂上要展示小组项目,需要用一个软件叫WPS-I ...
- mysql8建立表格报错
这个是会报错的 create table user (id int primary key,name varchar(20),sex varchar(5),index(id))engine=inno ...
- arcgis报错常用解决方法
1.输出路径不要改动,选择arcgis默认的数据库,运行完后再将数据导出一份 2.输出文件名以字母开头(个人尝试有时候数字开头会报错) 3.确保自己路径中没有中文 4.再次运行工具箱,第一次运行的时候 ...
- mysql8.0.12url_使用最新版本MySQL8.0.12报错记录
使用最新版本MySQL报错,MySQL版本8.0.12. 报错1: Sun Oct 14 00:45:30 CST 2018 WARN: Establishing SSL connection wit ...
- pom文件报错常用解决方式
现象: pom文件报错,依赖报错,build中的plugin报红,不管是让maven工程 Reimport 还是 Download Sources 最后删除项目再重新建都不行 解决: 删除未成功下载的 ...
最新文章
- 企业级-Mysql双主互备高可用负载均衡架构(基于GTID主从复制模式)(原创)
- python 日期格式和字符串格式的转化
- 剑指offer--连续子数组的最大和
- linq to js使用汇总
- 给Win32 GUI程序增加控制台窗口的方法
- NLP 带你分析 —— 扎克伯格在听证会上说了什么?
- Mybatis配置信息浅析 MyBatis简介(二)
- Django 模板中变量、过滤器、标签的使用方法
- python语言的读法-就语法而言,Python 这个语言怎么样?
- WinForm(二) WinForm进阶与复杂控件使用
- 单片机编程软件很简单(一),keil单片机编程软件忽略警告+全局替换
- 中国光伏如何规避产业风险?
- 冷凝器换热效果变差后果
- 计算机图片组合快捷键,Windows电脑常用的10个Win组合快捷键功能,看看你都知道吗?...
- 【iOS15更新必学】 如何完整备份iPhone资料?
- commit 提交规范
- 宝塔面板 linux工具箱,宝塔面板教程大全–宝塔linux面板专业版数据同步插件使用教程...
- 如何理解机器学习和统计中的AUC?
- 高校采用数据治理的作用有哪些?
- C++Python描述 LeetCode 1109. 航班预订统计
热门文章
- [BZOJ 3629][JLOI2014]聪明的燕姿
- 万水千山ABP - 弹出对话框禁用回车
- EntityFramework Core 1.1有哪些新特性呢?我们需要知道
- 绕过mysql的id:32933 BUG 实现order by limit 正常取数据.
- PHP解析URL并得到URL中的参数
- 围住浮动元素(消除浮动)的三种方法
- [-] Handler failed to bind to x.x.x.x:port排错
- Angular8 - 稳定版修改概述(Angular 8的新特性介绍)
- Git简单基本操作指令集合
- input输入框小写字母自动转换成大写字母