配置fecshop中进入mysql出错

安装报错 · xiaohuangren · 于 5年前 发布 · 1899 次阅读

实习生小白一个,在按照安装文档在centos7上配置fecshop中使用 mysql -uroot -p进入mysql时报错 [root@localhost yii2_fecshop_docker]# docker-compose exec mysql bash

root@106f2a323c7d:/# mysql -uroot -p

Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 应该是密码的问题,只是之前在配置过程中已经将docker-compose.yml中密码和./example_data/fecshop/common/config/main-local.php中相应密码修改了

在其他帖子里没有看到这个问题,求大家指教

共收到 4 条回复
Fecmall#15年前 0 个赞
root@106f2a323c7d:/# mysql -uroot -p

Enter password:

你这是想通过命令行进入mysql,你的docker中mysql的密码位置的是123123

那么,在Enter password: 把123123填写上去就进入mysql立刻

感谢回复!比心~ 我是输入123123这个密码的,然后不行,我把文档和我做的过程对了好几遍,提到说要修改密码的地方都有修改,mysql,redis等,然后一上午自己都没解决,后来把最初的那一长串密码输进去竟然进去了,应该还是我这边哪里出现了问题;然后我按着文档和视频接下来的步骤操作都还顺利,最后在本机浏览器输入“appfront.fecshop.com”说拒绝了连接请求(我使用的是默认的域名),我也查看过复制文件,是复制成功的,我再找找问题原因,再次感谢您百忙之中的回复~:heart:

zer0ne#35年前 0 个赞

遇到这个问题是因为,你在修改docker-compose.yml文件的 MYSQL_ROOT_PASSWORD之前就用 docker-compose up -d 启动过。在项目的根目录db/mysql/data目录如果不为空,MYSQL_ROOT_PASSWORD是不会生效的,只有在数据目录是空的时候docker mysql第一遍启动,初始化的时候,才会设置root密码。

解决的步骤是:

  1. 停止docker docker-compose down -v
  2. 把项目中./db/mysql/data的数据清空
  3. 再次启动docker docker-compose up -d

这时候密码就是你设置的密码了。

Fecmall#45年前 0 个赞

对,这是mysql容器的一种保护措施,这里仅仅初始化的时候起作用

初始化完成后,如果想改mysql的密码,得用命令行修改,不能依靠yml里面的文件(进入mysql容器,通过命令行修改mysql的密码)

如果想依靠yml里面的文件初始化mysql,那么需要将./db/mysql/data的数据清空

@zer0ne [#3楼](#comment3) 是对的

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics