Configure Mysql 5.7 with Travis CI

I cannot run my tests on Travis CI because I cannot find a way to configure mysql 5.7 in the container.

I found this gist https://gist.github.com/BenMorel/d981f25ead0926a0cb6d explaining the configuration method for travis.yml . Here are the commands:

 sudo apt-get remove --purge "^mysql.*" sudo apt-get autoremove sudo apt-get autoclean sudo rm -rf /var/lib/mysql sudo rm -rf /var/log/mysql echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7-dmr | sudo debconf-set-selections wget http://dev.mysql.com/get/mysql-apt-config_0.2.1-1ubuntu12.04_all.deb sudo dpkg --install mysql-apt-config_0.2.1-1ubuntu12.04_all.deb sudo apt-get update -q sudo apt-get install -q -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" mysql-server 

right after that, I do:

 $ mysql -uroot < tests/ApiBundle/Datas/dump_test.sql ERROR 1698 (28000): Access denied for user 'root'@'localhost' 

Why? I tried so many things ... And Google is definitely not my friend for this problem ...

+7
continuous-integration travis-ci
source share
1 answer

Ok, I found out how to reinstall MySQL 5.6 in the default Travis CI container.

Here's what you need in .travis.yml :

 services: - mysql sudo: true before_script: - bash .travis.install-mysql-5.7.sh 

And here .travis.install-mysql-5.7.sh (edited thanks to @codyzu's answer):

 echo mysql-apt-config mysql-apt-config/select-server select mysql-5.7 | sudo debconf-set-selections wget https://dev.mysql.com/get/mysql-apt-config_0.7.3-1_all.deb sudo dpkg --install mysql-apt-config_0.7.3-1_all.deb sudo apt-get update -q sudo apt-get install -q -y --allow-unauthenticated -o Dpkg::Options::=--force-confnew mysql-server sudo mysql_upgrade 

I hope this helps anyone who is facing the same problem!

+8
source share

All Articles