mysql8.0版本忘记密码修改密码

最近也不知道是懒了还是老了,几天没碰数据库竟然把密码忘了,这就好比吃饭的家伙锁在箱子里,那还怎么吃饭?所以我得把mysql密码相关的都整理一下,免得还得招人开锁,那实在是太尴尬了。

实验目的:忘记用户密码,修改用户密码

在安装mysql的时候有一个跳过密码的步骤,先试一试行不行

vim /etc/my.cnf

在[mysqld]下面加上一句

skip-grant-tables

重启mysql服务

systemctl restart mysqld.service

通过无密码方式登录mysql服务

mysql –uroot –p

不加-p也行,加了-p会出现让你输入密码的步骤,直接回车就进去了。不加-p则直接进入mysql

现在修改密码,出现了错误

alter user [email protected] identified by ‘123456‘;

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

刷新一下

flush privileges;

再试一次,主要原因是skip-grant-tables使得数据库只能是只读的权限

好了

现在退出数据库,并删除刚才添加的skip-grant-tables

重启mysql

systemctl restart mysqld.service

现在就可以通过密码登录了

原文地址:https://www.cnblogs.com/maohai-kdg/p/12048096.html

时间: 2024-07-31 15:40:40

mysql8.0版本忘记密码修改密码的相关文章

mysql8.0版本忘记root密码

1.先关掉系统服务 net stop mysql 2.进入mysql安装目录的bin文件中,以管理员的方式运行cmd,然后输入如下命令,实现无密码登陆 mysqld --console --skip-grant-tables --shared-memory 3.以空密码登入系统 mysql.exe -u root 4.重置密码 UPDATE mysql.user SET authentication_string='root' WHERE user='root' and host='localh

mysql8.0.18忘记密码问题

mysql8.0.18忘记密码问题 管理员身份进入dos 停止mysql服务 net stop mysql 无密码启动 C:\Windows\System32>D:\mysql-8.0.18-winx64\bin\mysqld --console --skip-grant-tables --shared-memory 另启一个dos窗口,无密码登录 C:\Windows\System32>D:\mysql-8.0.18-winx64\bin\mysql -u root 清空密码 注意:auth

mysql8.0.19忘记密码

1.管理员打开cmd窗口 2.输入net stop mysql,停止mysql服务 3.开启跳过验证密码的mysql服务 输入skip-grant-tables ,保存 4.管理员打开新的cmd窗口,输入 net start mysql,启动mysql服务 5.输入 mysql -u root -p ,密码直接空格键跳过 6.将密码置空 use mysql update user set authentication_string='' where user='root'; exit 关闭步骤四

Linux下的 Mysql 8.0 yum 安装 并修改密码

1.MySQL版本: mysql> select @@version;+-----------+| @@version |+-----------+| 8.0.18 |+-----------+1 row in set (0.00 sec) 2.Centos操作系统版本 [[email protected] /]# cat /etc/redhat-releaseCentOS Linux release 7.2.1511 (Core) 二.Mysql现在以及解压 1. 地址:https://dow

mysql密码忘记或修改密码的解决办法

今天在连接mysql的时候,发现老是提示连接到localhost失败,找了原因,是前两天密码被非法修改了.现在不知道root登陆密码,又想连接到数据库,网站找了下方法,结合自己的实践,总结如下: 1.在my.init文件中的[mysqld]下面加上skip-grant-tables,故名思议,就是跳过授权验证表,直接操作数据库 2.重新启动mysql (net start/stop mysql) 3.在MySQL Command Line Client用root以空密码登陆. 或者在命令行中敲命

mysql8.0版本skip-grant-tables出现的新问题

MySQL 初始化 mysqld --initialize 的时候会有密码,就这个样子, 可是毕竟总有人跟我一样,不熟悉安装过程,没有注意这一密码这一项,导致你现在不知道密码的尴尬处境,或者说你是正常用了某一天脑子短路忘了密码, 那么网上查到很多方法会告诉你,往 ini 里配置 skip-grant-tables,确实是正确的方法, 不过你会陷入另一个坑,你的 MySQL 服务一启动就会立刻自动关闭, Can't connect to MySQL server on xxx (10061) 这就

Navicat连接MySQL8.0版本时 建议升级连接客户端这个提示怎么办

开始->mysql 8.0 command line client ->执行下面的命令//开启mysql服务mysql.server start//进入mysqlmysql -u root -p//修改密码方案3(对)USE mysql; ALTER USER 'root'@'localhost'IDENTIFIED WITH mysql_native_password BY '密码';//重启FLUSH PRIVILEGES; 可能在修改密码那条指令会报error错误  如果报错了 多次重复

mysql8.0版本下命令行mysqld –skip-grant-tables 失效,无法登陆的问题

1.管理员权限登陆cmd,不会使用管理员登陆的请搜索cmd,搜索结果右键. 2.命令行输入:net stop mysql;然后提示.服务停止中 --> 服务已停止,如出现其他错误请百度. 这只是一个示例,请在服务中查看服务具体名称,比如我的就是mysql57. 服务不会打开的请 win+R --> services.msc --> 回车,找到mysql开头的服务名. 3.由于mysqld –skip-grant-tables实测在mysql8.0中已失效,现使用mysqld --cons

Mysql忘记密码修改密码

问题重现(以下讨论范围仅限Windows环境): C:\AppServ\MySQL> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 编辑mysql配置文件my.ini(不知道在哪请搜索),在[mysqld]这个条目下加入   skip-grant-tables 保存退出后重启mysql 1.点击“开始”->“