ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) MySQL容器用户密码忘记了
时间: 2023-12-13 19:33:55 浏览: 82
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: YES)实用解决方
当你忘记了MySQL容器的用户密码时,可以通过以下步骤重置密码:
1.停止MySQL容器:
```shell
docker stop <container_name>
```
2.使用以下命令启动MySQL容器,并挂载一个自定义的`mysqld.cnf`文件:
```shell
docker run --name <container_name> -v /path/to/custom/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -d mysql/mysql-server:tag
```
3.使用以下命令进入MySQL容器的bash终端:
```shell
docker exec -it <container_name> bash
```
4.在MySQL容器的bash终端中,使用以下命令以跳过授权检查的方式启动MySQL服务:
```shell
mysqld --skip-grant-tables &
```
5.使用以下命令以root用户身份登录MySQL:
```shell
mysql -u root
```
6.在MySQL中,使用以下命令更新root用户的密码:
```mysql
UPDATE mysql.user SET authentication_string=PASSWORD('<new_password>') WHERE User='root';
```
7.在MySQL中,使用以下命令刷新权限:
```mysql
FLUSH PRIVILEGES;
```
8.在MySQL中,使用以下命令退出MySQL:
```mysql
exit;
```
9.在MySQL容器的bash终端中,使用以下命令停止MySQL服务:
```shell
mysqladmin -u root -p shutdown
```
10.使用以下命令重新启动MySQL容器:
```shell
docker start <container_name>
```
阅读全文