mysqldump: 无法执行 'SHOW PACKAGE STATUS WHERE Db = 当 rake db:migrate 完成迁移时

Moh*_*thi 5 mysql docker ruby-on-rails-5 aws-codebuild

我正在使用 Docker 在 Codebuild 上运行测试。我正在使用 MySQL 5.7 社区服务器,使用 mysql docker 映像。在我的 dockerfile 中,我使用以下 apt-get update 命令来获取default-mysql-client.

RUN apt-get install -qq -y build-essential locales nodejs software-properties-common ffmpeg pngquant procps vim default-mysql-client mycli tig httpie > /dev/null
Run Code Online (Sandbox Code Playgroud)

但是当迁移运行并即将完成时,它会引发错误并终止

mysqldump: Couldn't execute 'SHOW PACKAGE STATUS WHERE Db = 'development'': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PACKAGE STATUS WHERE Db = 'development'' at line 1 (1064) 
rake aborted! 
failed to execute: `mysqldump` 
Please check the output above for any errors and make sure that `mysqldump` is installed in your PATH and has proper permissions. 

Run Code Online (Sandbox Code Playgroud)

它以前运行良好,并且从昨天开始在 Codebuild 上开始运行。有人可以帮忙吗?

我认为 Codebuild 已经迁移到buster debian构建,现在 default-mysql-client正在获取mariadb-client-10.3而不是mariadb-client-10.1并且由于这个问题被提出。

此外,我试图明确替换default-mysql-clientmariadb-client-10.1,但codebuild未能找到包,这是有道理的,因为mariadb-client-10.1不提供buster