Docker安装mysql报错 ERROR 1045 (28000): Access denied for user

一进入mysql报错:1045 (28000)错误:

”Access denied for user ‘root’@’localhost’ (using password: YES)”

启动容器:

docker run --name mysql5.6 -p 3306:3306 -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6

处理该错误的做法
1.在 /usr/local/mysql/conf.d目录下增加文件: my.cnf,并编辑

[mysqld]
skip-grant-tables

2.重启mysql

docker restart mysql5.6

3.进入docker容器内部

docker exec -it mysql5.6 bash

4.登录mysql

mysql -uroot -p

5.设置root密码为空,注意root密码是加密的

use mysql;

select user,authentication_string,host from user;

更新为空

update user set authentication_string='' where user='root';

flush privileges;

6 退出mysql,把第一步的skip-grant-tables注释。再重启mysql
7 使用 root用户,登录;
8修改root密码

alter user 'root'@'localhost' IDENTIFIED BY 'rootroot';

alter user 'root'@'%' IDENTIFIED BY 'rootroot';

flush privileges;

9.附加授权

GRANT all ON . TO 'root'@'%' IDENTIFIED BY 'rootroot' ;

flush privileges;
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
当你在终端上使用默认密码登录MySQL时,出现"Access denied for user 'root'@'localhost' (using password)"错误的原因是你的密码不正确。这个错误提示说明你提供的密码无法被MySQL接受,导致登录被拒绝。 要解决这个问题,你可以按照以下步骤操作: 1. 打开你在创建MySQL容器时挂载的conf目录下的mysqld.cnf文件。在这个文件中,你可以找到MySQL的配置信息。 2. 在mysqld.cnf文件中查找"skip-grant-tables"这一行。如果存在这一行,将其注释掉(在行前面加上#符号),然后保存文件。 3. 重启MySQL服务,让修改生效。你可以使用以下命令重启MySQL服务: - 对于Docker容器:docker restart <容器名称> - 对于本地安装MySQL服务器:sudo service mysql restart 4. 现在你可以使用默认密码登录MySQL。在终端中键入以下命令: mysql -u root -p 5. 当提示输入密码时,输入默认密码并按下回车键。 6. 成功登录后,你可以修改密码以避免以后再次出现登录问题。使用以下命令修改密码(将"your_new_password"替换为你想要设置的新密码): mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password'; 7. 修改密码后,退出MySQL并重新登录以验证新密码是否生效。 通过以上步骤,你应该能够解决"ERROR 1045 (28000): Access denied for user 'root'@'localhost'"错误,并成功登录MySQL数据库。请记住,在实际操作中,确保你按照正确的格式和语法进行命令输入,以避免出现其他错误。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值