[MySQL]sakilaサンプルデータベースを非対話で作成する

カテゴリ: MySQL

MySQLが提供しているサンプルデータベースのsakilaを非対話で作成する方法です。

sakilaサンプルデータベースを作成する

mysql5.6以前を使用している場合は、mysqlコマンドの最後に指定しているパスワード指定(-pオプション)は不要かもしれません。また、5.7以降を使用している場合は、こちらを参考に、rootユーザのパスワードを調べる必要があるかもしれません。

# sakila-dbを取得し展開
wget http://downloads.mysql.com/docs/sakila-db.tar.gz
tar -zxvf sakila-db.tar.gz


# データベース&テーブルの作成
mysql -u root -e "source sakila-db/sakila-schema.sql" -p 
# 作成したテーブルにデータを登録
mysql -u root -e "source sakila-db/sakila-data.sql" -p 

# 作成できたか確認
mysql -u root -e "show databases;" -p
mysql -u root -D sakila -e "show tables;" -p


# 展開したsakila-dbのsqlファイルを削除
rm -rf sakila-db

パスワードのチェックを無効化する

セキュアでなくなるのでオススメはしないけど、検証目的などで簡単(推測されやすい)なパスワードを指定可能にする場合は、下記のコマンドを実行します。

# rootで作業
echo validate-password=OFF >> /etc/my.cnf
systemctl restart mysqld.service

一般ユーザを作る

必要に応じて、DBにアクセスするユーザも作成します。

# create sakila user
mysql -u root -e "CREATE USER sakila@'%' IDENTIFIED BY 'sakila';"
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO sakila@'%';"
mysql -u root -e "FLUSH PRIVILEGES;"

# check created user
mysql -u root -e "SELECT host, user FROM mysql.user;"
mysql -u root -e "show grants for sakila@'%';"

ユーザを作成したらログインできることを確認します

mysql -u sakila -psakila -h 127.0.0.1 -D sakila -e "show tables"
こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。