前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7系统下修改mysql8.0版本密码

CentOS7系统下修改mysql8.0版本密码

作者头像
Tusi
发布2020-07-10 13:52:26
2.2K1
发布2020-07-10 13:52:26
举报
文章被收录于专栏:前端司南前端司南

前言

忘记mysql登录密码是很常见的操作,今天讲一下Linux CentOS7下mysql8.0版本修改密码的方法。

mysql修改密码

网上很多文章说的是mysql5.x版本的修改密码方法,按照这些方法做就会遇到坑了。

忘记密码了,首先尝试修改mysql的配置文件/etc/my.cnf,有的人安装目录可能不太一样,配置文件会是/etc/mysql/my.cnf或者其他的目录下。

在[mysqld]下面添加一行,可以跳过密码登录

代码语言:javascript
复制
skip-grant-tables

重启mysqld服务

代码语言:javascript
复制
service mysqld restart

输入mysql回车进入mysql命令行,尝试执行

代码语言:javascript
复制
update user set password=password("123456") where user="root";

直接就报语句错误了,看来可能是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 '("123456") where user="root"' at line 1

接着尝试另一个方法。

代码语言:javascript
复制
mysql> ALTER USER 'root'@'*' IDENTIFIED WITH mysql_native_password BY '123456'

也报错,--skip-grant-tables模式下,不能运行这条语句。

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

于是我先查查user表的数据。

代码语言:javascript
复制
select user, password from user

需要先将authentication_string设置为空

代码语言:javascript
复制
update user set authentication_string = ‘’ where user = ‘root’;

然后退出mysql,删除/etc/my.cnf的skip-grant-tables,重启mysqld服务。

接着尝试登录mysql

代码语言:javascript
复制
mysql -uroot -p

直接回车登录mysql,再使用alter修改用户密码

代码语言:javascript
复制
alter user ‘root’@’%’ indentified by ‘123456’;

提示成功!!!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bin不懂二进制 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档