错误截图
解决办法
找到mysql配置文件 my.cnf
没有映射的话需要进入到MySQL的容器中找到 /etc/ 下 my.cnf文件
在my.cnf中[mysqld]下添加skip-grant-tables
容器里不能直接修改文件,需要安装 相应的vim。
下面通过 docker cp 拷贝文件进行修改
#将容器中的文件拷贝出来 docker cp 容器ID:/etc/my.cnf /home/ #将宿主机中备份文件拷贝进容器中 docker cp /home/my.cnf 容器ID:/etc/
添加完后 要 exit 退出容器 重启容器
接下来需要进入到容器
docker exec -it 容器ID /bin/bash
登录mysql
mysql -uroot -p
输完mysql -uroot -p直接回车就能进入到MySQL的操作了
进入到MySQL后,需要先刷新一下权限,不然可能会提示在skip-grant-tables模式下无法修改密码
flush privileges;
修改 root 密码,注意要改为复杂点密码。
由于我这边mysql版本是8.0
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
记得 刷新权限
flush privileges;
然后再看一下root账号的访问权限是否可以远程访问
设置root账号可以远程访问
update user set host='%' where user='root';
root账号的密码以及权限都修改完成,最后删除MySQL配置文件中的skip-grant-tables,
再把my.ini的skip-grant-tables删除或者注释掉.重启容器
标签:容器,1045,my,mysql,cnf,error,docker,root From: https://www.cnblogs.com/qingjiawen/p/17375734.html