mysql root密码忘记了

2021-11-20 00:00:00 root reset passwords mysql

我有一段时间没有使用 PHP MySQL,现在我需要再次使用它.但问题是我忘记了 MySQL 控制台的密码.并在尝试登录 PHPMyAdmin 时出现错误 #1045.

在 MySQL 站点我看到一篇文章如何重置 root 密码(

在 Ubuntu 16 上,文件位置通常是 /etc/mysql/mysql.conf.d/mysqld.cnf

  1. 使用以下命令编辑配置文件:$ sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf

  2. [mysqld] 块下添加 skip-grant-tables 并保存更改.

  1. 使用以下命令重启 MySQL 服务:sudo service mysql restart

  2. 检查 MySQL 服务状态:sudo service mysql status

  1. 登录mysql:$ mysql -u root

  2. 并更改root密码:

<块引用>

mysql> 刷新特权;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITHmysql_native_password BY 'MyNewPass';

  1. 通过删除 skip-grant-tables 行或用 #(哈希)注释来恢复 MySQL 配置文件更改.

  2. 最后重启 MySQL 服务,一切顺利.

I did not use PHP MySQL for quite a while and now I need to use it again. But the problem is I forget the password for the MySQL console. and getting error #1045 when trying to login in to PHPMyAdmin.

In the MySQL site I saw an article how to reset root password( http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html#resetting-permissions-windows)

Steps are

create a mysql-init.txt file containing UPDATE mysql.user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;

I saved it as C:\me\mysql-init

and in command prompt I wrote--

C:\wamp\bin\mysql\mysql5.5.8\bin\mysqld --init-file=C:\me\mysql-init.txt 

I tried with double backslashes also..but it is not working. MySQL console is asking for a password and it's not taking the new-one. What am I doing wrong? I have several tables there.what to do?

Thanks in advance.

解决方案

Here are the steps to be followed:

  1. Locate the MySQL configuration file using: $ mysql --help | grep -A 1 "Default options"

On Ubuntu 16, the file location is typically /etc/mysql/mysql.conf.d/mysqld.cnf

  1. Edit the configuration file using: $ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

  2. Add skip-grant-tables under [mysqld] block and save the changes.

  1. Restart MySQL service using: sudo service mysql restart

  2. Check MySQL service status: sudo service mysql status

  1. Login to mysql with: $ mysql -u root

  2. And change the root password:

mysql> FLUSH PRIVILEGES;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';

  1. Revert back the MySQL configuration file changes by removing skip-grant-tables line or commenting it with a # (hash).

  2. Finally restart the MySQL service and you are good to go.

相关文章