ローカル環境でMySQLとphpMyAdminを起動します。
https://www.docker.com/get-started
git clone https://github.com/solaoi/mysql-practice.git
cd [このファイルがあるディレクトリ] && docker-compose up -d
- MySQLを利用できる環境にログイン
docker exec -it mysql-practice_mysql /bin/bash
- MySQLにログイン
[root@mysql /]$ mysql -u root -ppassword
- MySQLからログアウト
mysql> \q
- MySQLを利用できる環境からログアウト
[root@mysql /]$ exit
docker ps -f "name=mysql-practice_mysql" -f "name=mysql-practice_phpmyadmin"
cd [このファイルがあるディレクトリ] && docker-compose down
cd [このファイルがあるディレクトリ] && docker-compose down -v
実際に上記手順で作成したMySQL上でデータを作成してみます。
- sampleデータベースを作成
MySQLにログインして実行します。
mysql> CREATE DATABASE sample;
- 使用データベースを選択
mysql> use sample;
- usersテーブルを作成
mysql> CREATE TABLE users (id int, name varchar(10));
- userを追加
mysql> INSERT INTO users VALUES (1, "あお太");
- usersテーブルにuserが追加されたか確認
mysql> SELECT * FROM users;
- usersテーブルにcsvファイルからuserを追加
MySQLからログアウトし、 MySQLを利用できる環境で実行します。
(/tmpディレクトリに置いたファイルを参照・更新できるようDockerを設定しています。)
[root@mysql /]$ mysqlimport -u root -ppassword --local --fields-terminated-by="," --fields-enclosed-by='"' sample /tmp/users.csv
- usersテーブルをバックアップ
[root@mysql /]$ mysqldump -u root -ppassword sample users --master-data --single-transaction > /tmp/users.sql
- テーブルの一覧を確認
MySQLにログインして実行します。
mysql> SHOW TABLES;
- usersテーブルを削除
mysql> DROP TABLE users;
- usersテーブルをバックアップから復元
MySQLからログアウトし、 MySQLを利用できる環境で実行します。
[root@mysql /]$ mysql -u root -ppassword sample < /tmp/users.sql