- 查看容器中MySQL的ID:docker ps | grep mysql
- 进入容器:docker exec -it {容器ID} /bin/bash
- 调整MySQL配置文件,设置跳过权限控制:echo "skip-grant-tables" >> /etc/mysql/conf.d/docker.cnf
- 警 告:这就意味着任何用户都能登录进来,并进行任何操作,相当不安全。
- 退出容器:exit
- 重启容器:docker restart {容器ID}
- 再次进入容器:docker exec -it {容器ID} /bin/bash
- 登录 MySQL(无需密码):mysql -uroot
- 更新权限:flush privileges;
- 修改密码:alter user 'root'@'{Host值}' identified by '{新的密码}';
- 如果是部署在服务器需要远程使用,{Host值}设为%
- 如果是本地使用docker部署,{Host值}可设为localhost
- 增加远程访问的权限:grant all privileges on *.* to 'root'@'%' with grant option;
- 退出MySQL:exit
- 替换掉刚才加的跳过权限控制的语句:sed -i "s/skip-grant-tables/ /" /etc/mysql/conf.d/docker.cnf
- 退出容器:exit
- 重启容器:docker restart {容器ID}