mysql(导入mysql的表,数据,索引)报错:Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client'

安装报错 · freetiger · 于 5年前 发布 · 9103 次阅读

安装fec1.4.2.1,参考的教程是

https://github.com/fecshop/yii2_fecshop_docker

执行步骤5.2:

./yii migrate --interactive=0 --migrationPath=@fecshop/migrations/mysqldb

报错:

Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client'

看了下mysql版本号是8.0

共收到 21 条回复
Terry#15年前 0 个赞

报错信息写入title里面,不符合标准的帖子,不给于回复!

看一遍:http://www.fecshop.com/topic/624

Terry#25年前 0 个赞

百度搜索:The server requested authentication method unknown to the client

可以自己搜索解决的,试试这个 https://my.oschina.net/u/924639/blog/99802 , 如果不行,自己搜索找找资料,这个是你的mysql的问题。

freetiger#35年前 0 个赞

打算重装一次,把mysql版本降下来。 请问,全新环境,docker-compose安装在哪儿设置能控制拉回的mysql版本呢?

4楼 已删除.
freetiger#55年前 0 个赞

谢谢,我再查查。 以前也按这教程装过几次,都很顺。这次很奇怪

Terry#65年前 0 个赞

@freetiger #5楼 嗯,对程序员来说,家常便饭。

Terry#75年前 0 个赞

我明白了,mysql现在最高版本是8.0,之前是5.7

mysql 8.0 的验证方式不一样导致的,稍等,我在看看

https://blog.csdn.net/ligaofeng/article/details/80022448

Terry#85年前 0 个赞

打开文件:docker-compose.yml

找到代码

mysql:  
    image: mysql
    restart: always

在image后面加上版本号,修改完的样子如下:

mysql:  
    image: mysql:5.7
    restart: always

然后执行 docker-compose build --no-cache 重新构建试试?

试完后,如果可以,回馈一下

freetiger#95年前 0 个赞

好的,我重新弄。 这样好,hold住版本。 谢谢!

freetiger#105年前 0 个赞

起不来

yii2fecshopdocker_mongodb_1     docker-entrypoint.sh mongod      Up           0.0.0.0:27017->27017/tcp
yii2fecshopdocker_mysql_1       docker-entrypoint.sh mysqld      Restarting                           
yii2fecshopdocker_php_1         docker-php-entrypoint php-fpm    Up           9000/tcp                
yii2fecshopdocker_redis_1       docker-entrypoint.sh bash  ...   Up           0.0.0.0:6379->6379/tcp  
yii2fecshopdocker_web_1         nginx -g daemon off;             Up           0.0.0.0:80->80/tcp      
yii2fecshopdocker_xunsearch_1   sh bin/xs-docker.sh              Up           8383/tcp, 8384/tcp  
11楼 已删除.
Fecmall#125年前 0 个赞

@freetiger [#10楼](#comment10) 删除mysql的容器,镜像,重试 试试

freetiger#135年前 0 个赞

不行,还是restarting

Fecmall#145年前 0 个赞

@freetiger #13楼 你用,我之前做好的镜像把,放到了阿里云

https://github.com/fecshop/yii2_fecshop_docker/blob/master/docker-compose.yml.aliyun

替换一下,然后重新试试,build的时候加上no-cache参数

freetiger#155年前 0 个赞

@Fecshop #14楼 还是重装了,用你更新过的1.4.2.1。正常。多谢!

Terry#165年前 0 个赞

@freetiger #15楼 你用的阿里云镜像,还是用的我前面说的? 在mysql镜像后面加上版本 5.7?

freetiger#175年前 1 个赞

没做任何更改,因为你在git已经更新过了。用的docker-compose.yml,里面已带mysql版本号。

18楼 已删除.
Fecmall#195年前 0 个赞

@freetiger [#17楼](#comment17)

好的,现在把docker中的软件image的版本号都加上了: https://github.com/fecshop/yii2_fecshop_docker/blob/master/docker-compose.yml

nginx一般没啥问题,用了latest, xunsearch就一个latest版本

其他的软件版本号都固定了,如果有时间的话,帮测试一下,我没有空余机器,测试得买个月的阿里云测试(当时为了搞docker镜像买了一个月的阿里云ecs,到期就抛弃了。。)

freetiger#205年前 0 个赞

怎么显示这几项的版本号?不会弄

Fecmall#215年前 0 个赞

@freetiger #20楼 已经弄好了。github更新了,如果有时间,可以帮测试一下

freetiger#225年前 0 个赞

Frank#235年前 0 个赞

这个问题我也刚刚遇到了。赶紧去更新试试看。

Terry#245年前 0 个赞

@Frank #23楼 看到你的秒删帖了,这样姿势就对了,先搜索在发帖

因为mysql最近搞了新版本,从5.7,直接成8了。而fecshop的docker的版本是latest,而不是固定的版本号, 因此之前下载的是5.7,现在成了mysql8了,而mysql8是大版本改动,造成原来的连接方式出现问题,因此,我把docker compose里面的mysql的image加了版本号5.7

你重新从:https://github.com/fecshop/yii2_fecshop_docker 这里下载安装即可,具体的可以参看 @freetiger 的陈述。

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