Skip to content

Instantly share code, notes, and snippets.

@mapk0y
Created May 13, 2016 12:47
Show Gist options
  • Save mapk0y/c22fc33a63c24b04054b9dae56e75315 to your computer and use it in GitHub Desktop.
Save mapk0y/c22fc33a63c24b04054b9dae56e75315 to your computer and use it in GitHub Desktop.
Docker上のMySQLにファイルからsqlを実行する
[mapk0y@kona:~/local/docker/mysql-import]$ docker run -d -e MYSQL_ROOT_PASSWORD=rootpass --name mysql mysql
acb2abff5624c94071c788ebf4c1a3769e6b1101fd7ea517450f1f1f2d1b3163
[mapk0y@kona:~/local/docker/mysql-import]$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
acb2abff5624        mysql               "docker-entrypoint.sh"   4 seconds ago       Up 3 seconds        3306/tcp            mysql
[mapk0y@kona:~/local/docker/mysql-import]$ cat create_table.sql 
CREATE DATABASE tmpdb;
use tmpdb;
CREATE TABLE users (id INT, name VARCHAR(255));
INSERT INTO users values(100, 'foo');
[mapk0y@kona:~/local/docker/mysql-import]$ docker exec -t mysql mysql -uroot -prootpass -e 'select * from tmpdb.users'
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1146 (42S02) at line 1: Table 'tmpdb.users' doesn't exist
[mapk0y@kona:~/local/docker/mysql-import]$ cat create_table.sql | docker exec -i mysql mysql -uroot -prootpass
mysql: [Warning] Using a password on the command line interface can be insecure.
[mapk0y@kona:~/local/docker/mysql-import]$ docker exec -t mysql mysql -uroot -prootpass -e 'select * from tmpdb.users'
mysql: [Warning] Using a password on the command line interface can be insecure.
+------+------+
| id   | name |
+------+------+
|  100 | foo  |
+------+------+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment