如何重置忘记的MySQL root密码?

时间:2014-06-30 12:16:51

标签: mysql

我一直在尝试重置MySQL的root密码。

我习惯了两种方法来重置。但我没有得到它。

已完成以下步骤,但它对我不起作用:

方式-1:

  

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

USE mysql;

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

FLUSH PRIVILEGES;
  

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

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 Files \ MySQL \ MySQL Server 5.6 \ b   在\的my.ini

默认处理中的致命错误。节目中止

方式-2:

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)'

请帮我重置密码......

2 个答案:

答案 0 :(得分:1)

尝试停止mysql服务

/etc/init.d/mysqld stop

运行安全可执行文件跳过授权

mysqld_safe --skip-grant-tables &

(尾随的&符号会让你回到命令行)

然后以root身份连接,无需密码

mysql -uroot

您将进入mysql提示符,您可以在其中更新root密码。

编辑:我刚刚看到您正在使用Windows。好的,那么你的第一种方法几乎可以工作。而不是" UPDATE mysql.user"文件应该是

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('vikash');

然后运行

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqld.exe --init-file=C:\Users\user-name\Desktop\mysql-init.txt

我对可执行文件感到好奇......所有这些空白区域可能会让窗户感到困惑。也许在与可执行文件相同的文件夹中创建init文件会更容易,因此您只需运行

mysqld.exe --init-file=mysql-init.txt

那里可能还有其他可执行文件。 mysqld-nt,mysqld-safe等等。如果mysqld不起作用,也可以尝试其他的。

答案 1 :(得分:1)

下面是当我们忘记了root用户密码或错过了重新收集安装过程中提供的密码时重置root用户密码的过程。

OS-Ubuntu 16.04

MySQL-5.7

  1. 停止Mysql Server 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”: 在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):未加载插件'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
  8. 登录

PFB,供参考的URL。

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