【发布时间】:2016-04-22 06:20:52
【问题描述】:
我无法在 Travis CI 上运行测试,因为我找不到在容器中设置 mysql 5.7 的方法。
我发现这个要点https://gist.github.com/BenMorel/d981f25ead0926a0cb6d 解释了travis.yml 的配置方法。以下是命令:
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
在那之后,我正在做:
$ mysql -uroot < tests/ApiBundle/Datas/dump_test.sql
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
为什么?我已经尝试了很多东西……Google 绝对不是我在这个问题上的朋友……
【问题讨论】:
-
你试过
sudo mysql -uroot < tests/ApiBundle/Datas/dump_test.sql吗? -
是的,我做了……同样的错误!
-
你试过使用
Docker吗?检查这个:medium.com/@mtparet/… -
自从我发布这个之后,我当然做到了:),并且每次我在 CI / 开发 / 测试运行时遇到同样的问题时仍然这样做。就像现在每个人都应该的那样。尽管如此,我不想也不应该更新这个问题或答案恕我直言,因为它们仍然可能对任何试图从容器中做到这一点的人有用。
标签: continuous-integration travis-ci mysql-5.7