mysqldump: Couldn't execute 'SHOW PACKAGE STATUS WHERE Db = when rake db:migrate finishes migration
Asked Answered
C

0

6

I am running tests on Codebuild using Docker. I am using MySQL 5.7 community server using mysql docker image. In my dockerfile, I am using following apt-get update command to get 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

But when migrations run and about to finish it raises error and terminates

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. 

It was working fine previously and just started since yesterday on Codebuild. Can anybody help regarding this ?

I think Codebuild has migrated to buster debian build and now default-mysql-client is fetching mariadb-client-10.3 instead of mariadb-client-10.1 and due to that this issue is getting raised.

Moreover, I have tried explicitly replacing default-mysql-client with mariadb-client-10.1 but codebuild fails to find the package and that makes sense since mariadb-client-10.1 is not available for buster.

Caldron answered 5/9, 2019 at 16:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.