首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重置被遗忘的MySQL根密码?

问如何重置被遗忘的MySQL根密码?
EN

Stack Overflow用户
提问于 2014-06-30 12:16:51
回答 2查看 13.1K关注 0票数 2

我一直试图重置MySQL的根密码。

我已经习惯了两种重置方法。但我没明白。

下面的步骤已经完成,但对我不起作用:

方法-1:

1)停止了MySQL服务的运行,并创建了MySQLinit.txt文件。mysql-init.txt包含:

代码语言:javascript
复制
USE mysql;

UPDATE mysql.user SET Password=PASSWORD('vikash') WHERE User = 'root';

FLUSH PRIVILEGES;

2)我打开了命令提示符,并输入了以下内容:

代码语言:javascript
复制
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe --defaults-file="my.ini" --init-file="C:\\Users\\user-name\\Desktop\\mysql-init.txt" --console

我得到的错误如下:

无法打开所需的默认文件: C:\Program \MySQL\mySQLServer5.6\b in\my.ini

默认处理中的致命错误。程序中止

方法-2:

代码语言:javascript
复制
I simply opened the command prompt and typed as follows:

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqladmin -uroot -psample password
vikash

I got the error as:

Warning: Using a password on the command line interface can be insecure.
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

请帮我重置密码..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-30 12:24:56

尝试停止mysql服务

代码语言:javascript
复制
/etc/init.d/mysqld stop

运行安全的可执行跳过授权。

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

(尾随符号使您回到命令行)

然后在没有密码的情况下以root方式连接

代码语言:javascript
复制
mysql -uroot

您将在mysql提示符中更新root密码。

编辑:我刚刚看到你在使用windows。好吧,那么你的第一种方法几乎可以用了。而不是"UPDATE mysql.user“,文件应该读取

代码语言:javascript
复制
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('vikash');

那就跑

代码语言:javascript
复制
C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe --init-file=C:\Users\user-name\Desktop\mysql-init.txt

我对可执行文件很好奇.所有这些空格可能会使窗口混淆。也许在与可执行文件相同的文件夹中创建init文件会更容易,所以您只需运行

代码语言:javascript
复制
mysqld.exe --init-file=mysql-init.txt

里面可能还有其他可执行的人。如果mysqld不起作用,也可以试试其他的。

票数 1
EN

Stack Overflow用户

发布于 2018-09-06 12:58:57

下面是重置根用户密码的过程,当我们忘记root用户密码或忘记了在安装过程中提供的密码。

OS - Ubuntu 16.04

MySQL - 5.7

  1. 停止Mysql服务器sudo /etc/init.d/mysql stop
  2. 为了避免错误,UNIX文件的mysqld_safe目录'/var/ run /mysqld‘不存在,请运行以下命令:sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld
  3. 在安全模式下启动mysql:sudo mysqld_safe --skip-grant-tables &
  4. 登录到Mysql并将密码更改为“root123 123”:在5.7版本中,密码列被重命名为authentication_string。mysql -uroot mysql>use mysql; mysql>update user set authentication_string=password('root123') where user='root';
  5. 如果您得到了错误::MySQL失败: mysql“error 1524 (HY000):Plugin 'auth_socket‘未加载”,然后在命令下面运行,然后运行第4步。mysql>update user set plugin="mysql_native_password" where User='root'; mysql>flush privileges; quit;
  6. 停止并启动mysql服务器sudo /etc/init.d/mysql stop sudo /etc/init.d/mysql start
  7. 使用新密码mysql -uroot -proot123登录

PFB,供参考的网址。

https://support.rackspace.com/how-to/mysql-resetting-a-lost-mysql-root-password/ safe Directory '/var/run/mysqld' for UNIX socket file don't exists MySQL user DB does not have password columns - Installing MySQL on OSX socket' is not loaded"

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24489976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档