我有一段时间没有使用PHP MySQL,现在我需要再次使用它。但问题是我忘记了MySQL控制台的密码。当试图登录PHPMyAdmin时,出现错误#1045。
在MySQL网站上,我看到了一篇如何重置root密码的文章(http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-windows)
步骤如下
create a mysql-init.txt file containing UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;
我保存为C:\me\mysql-init
在命令提示符下我写了
C:\wamp\bin\mysql\mysql5.5.8\bin\mysqld --init-file=C:\me\mysql-init.txt
我也尝试了双反斜杠..但它不起作用. MySQL控制台要求密码,它不采取新的.我做错了什么?我有几个表在那里.怎么办?
先谢谢你了。
8条答案
按热度按时间rta7y2nd1#
以下是需要遵循的步骤:
1.使用以下命令查找MySQL配置文件:
$ mysql --help | grep -A 1 "Default options"
在Ubuntu 16上,文件位置通常为
/etc/mysql/mysql.conf.d/mysqld.cnf
1.使用以下命令编辑配置文件:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
1.在
[mysqld]
块下添加skip-grant-tables
并保存更改。1.使用以下命令重新启动MySQL服务:
sudo service mysql restart
1.检查MySQL服务状态:
sudo service mysql status
1.使用以下命令登录mysql:
$ mysql -u root
1.然后更改
root
密码:mysql〉FLUSH PRIVILEGES;
mysql〉ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY ' MyNewPass ';
1.通过删除
skip-grant-tables
行或使用#
(哈希)注解来恢复MySQL配置文件的更改。1.最后,重启MySQL服务,你就可以开始了。
gudnpqoy2#
我不能在Adelave的答案中得到
mysqld
来工作。但是这个对我有用使用--skip-grant-tables停止和启动MySQL
然后连接到你的mysqld没有用户名/密码
然后在mysql命令行更新密码
然后正常重启mysql
mi7gmzs63#
尝试用--skip-grant-tables启动mysql
然后连接到你的mysqld没有用户名/密码使用mysql命令行
shell> mysql
然后发出命令
0ve6wy6x4#
如果其他答案不能帮助,你可以尝试卸载/重新安装mysql.它在我的ubuntu服务器上工作:
更新分发
然后重新安装
cbwuti445#
Mac OS莫哈韦
然后你就回到了正常的dev。
我不喜欢在我的
.env
文件中看到root
这个词,所以我通常在创建一个像www.hockeysticks.net
这样的网站之后这样做:然后你的localdev
.env
文件很简单:注意:如果您需要保留数据库,请使用
skip-grant-tables
方法,它有三个难点:1.确保MySQL已停止,以便可以使用
skip-grant-tables
重新启动它1.确保您的密码更新SQL语法对于您的MySQL版本是正确的
1.确保在查询的末尾追加了
FLUSH PRIVELEGES;
yhxst69z6#
使用windows命令提示符可以更改密码
1.转到
windows+R
并运行services.msc
,然后停止MySQL服务,并通过右键单击查看MySQL的属性,并复制路径--defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini"
,稍后需要。1.创建文本文件
reset.txt
与文本ALTER USER 'root'@'localhost' IDENTIFIED BY 'Your New Password';
和保存在C
驱动器。1.以管理员身份打开命令提示符,然后更改MySQL的安装目录
"C:\Program Files\MySQL\MySQL Server 8.0\bin"
。1.输入命令
mysqld --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --init-file=C:\\reset.txt
emeijp437#
以下是我在MariaDB 10.6.11中的工作
在shell中进行下一次mysql root登录而无需密码
Mysql root登录
使用MySQL数据库
为新密码创建身份验证字符串
输出:* B1 D 04474 F8 D522 B69410 FC 0 E731 B35 ED 22 E94 A3 C
现在检查root用户的priv
输出:{“access”:549755813887,“plugin”:“mysql_native_password”,“authentication_string”:“*LEICHEI2THEIYUOCH3PEE5OOVU8UQU4B”,“auth_or”:[{}],“version_id”:100611,“password_last_changed”:1677497088}
用新生成的authentication_string更新root用户的priv
刷新权限
swvgeqrz8#
使用SQLYog可以执行命令
(or如果你知道authentication_string直接设置为update)
在较低版本的mysql中更改密码