docker-Composer 的 MySQL 无法登陆但是 docker run 的又可以

这是我的docker-composer mysql 文件

 mysql:
    container_name: mysql5.7
    image: mysql:5.7
    ports:
      - "3306:3306"
    volumes:
      - /home/wwwconfig/mysql/data:/var/lib/mysql
      - /home/wwwlogs/mysql/logs:/logs
      - /home/wwwconfig/mysql/my.cnf:/etc/my.cnf
    environment:
      MYSQL_ROOT_PASSWORD: 123456

此时报错进入mysql容器执行 mysql -uroot -p123456

docker-composer 的mysql无法登陆但是docker run的又可以

这时我docker run 命令

docker run -d -p 3306:3306 –name mysql5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

此时将正常

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

问题解决: 在大佬回复下 首先 mysql data 目录里面有数据(不知道是不是以前下载弄的) 导致你设置的秘密无效清空后重新执行即可 其次如果是要 phpmyAdmin 允许远程连接可以 :

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;
--------------------+------+
| host               | user |
+--------------------+------+
| %                  | root |
| 127.0.0.1          | root |
| ::1                | root |
| localhost          |      |
| vm\_144\_7\_centos |      |
| vm\_144\_7\_centos | root |
+--------------------+------+

%符号是允许用户在任意主机登陆

3年前 评论
讨论数量: 4

我看你的 volumes 配置了 数据库的存储目录,然后我了解了下,如果你是映射了一个原有的数据库,这个环境变量配置的密码,是不起作用的。只有新建数据库才行。

参考:github.com/docker-library/mysql/is...

可以试试

3年前 评论

@largezhou 这是新的数据库只是我把data目录映射出来而以

3年前 评论

检查下 host 跟 密码

3年前 评论

问题解决: 在大佬回复下 首先 mysql data 目录里面有数据(不知道是不是以前下载弄的) 导致你设置的秘密无效清空后重新执行即可 其次如果是要 phpmyAdmin 允许远程连接可以 :

mysql>use mysql;

mysql>update user set host = '%' where user = 'root';

mysql>select host, user from user;
--------------------+------+
| host               | user |
+--------------------+------+
| %                  | root |
| 127.0.0.1          | root |
| ::1                | root |
| localhost          |      |
| vm\_144\_7\_centos |      |
| vm\_144\_7\_centos | root |
+--------------------+------+

%符号是允许用户在任意主机登陆

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!