LoginSignup
4
4

More than 5 years have passed since last update.

Droneでmysqlを使うときにハマったメモ

Posted at

概要

Drone で redis を使うときにはとても簡単に使えるのですが mysql はちょいと手間でハマったので共有

Redis を使う

services:
  - redis

こう書いておくと、それだけで localhost:6379 と利用ができます。

簡単

MySQL を使う

公式サイトを見ると

services:
  - mysql
scripts:
  - mysql -u root -e 'create database test;'
  - mysql -u root -D test < schema.sql

と書いておけば localhost:3306 で利用できるような事が書いてありますがそれだとうまく行きませんでした。
キチンとホスト名を指定して書かないと話してくれないようです。

scripts:
  - mysql -u root -h127.0.0.1 -P 3306 -e 'create database test;'
  - mysql -u root -h127.0.0.1 -P 3306 -e 'GRANT ALL ON mydatabast.* TO ""@"%"'
  - mysql -u root -h127.0.0.1 -P 3306 -e 'GRANT ALL ON mydatabase.* TO ""@"localhost"'
  - mysql -u root -h127.0.0.1 -P 3306 -D test < schema.sql

おまけにテスト時には root でアクセスしていると思いきや、そうではないのできちんと GRANT しておく必要もあります。
(私の環境ではubuntu ユーザ)

MySQL 5.6 を使ったりその他のDBを使いたい場合

docker registryには別のDBが使いたければ

services:
  - dockerfile/rethinkdb # same as dockerfile/rethinkdb:latest
  - barnybug/elasticsearch:1.0.1

こんな風にすれば指定できる、とあるのですが、mysql5.6を利用したところ、ログが出てこなくなってしまったので止む無くテスト時のtables.sqlでは5.5でできる範囲のみを書くようにしています。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4