一、遇到问题
今天想部署程序突然发现mysql连接不上了,如下图所示:
二、解决方式
1、先通过find命令查找到docker mysql的配置文件,命令如下:
#查找命令
find / -name my.cnf
2、通过vi命令直接修改my.cnf
vi /var/lib/docker/overlay2/54937c49054d044e22bd53c1ff1f763614426bc39b27ef2bfbe1f8edb583e3fa/diff/etc/mysql/my.cnf
#加入下面这句话
[mysqld]
skip-grant-tables
4、重启mysql
#在mysql目录下 docker-compose down docker-compose up -d
5、通过docker交互命令访问容器
#交互命令
docker exec -it e277ad12c23e /bin/bash
如下图所示,不需要密码已经进入到mysql
三、重置密码,我用的是mysql8,其他版本命令会有区别
#更新密码 update mysql.user set authentication_string="123456" where user="root"; #刷新权限 flush privileges;
#退出
quit
四、修改配置文件,重启mysql
vi /var/lib/docker/overlay2/54937c49054d044e22bd53c1ff1f763614426bc39b27ef2bfbe1f8edb583e3fa/diff/etc/mysql/my.cnf #删除下面这句话 skip-grant-tables
重启mysql
#在mysql目录下 docker-compose down docker-compose up -d