如何修改docker容器中的MySQL数据库的密码?

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

        

你可能感兴趣的:(数据库,docker,mysql)