PostgreSQL/MySQLでDBとユーザを作成する方法

PostgreSQLまたはMySQLのインスタンスに個別のDBとユーザを作成する方法を説明します。

PostgreSQL

DBサーバにログインします。ここではpsqlコマンドを使うためにDockerを利用します。

docker run --rm -ti -v $(pwd):/tmp postgres:9.6 bash -l
psql "host=your-host port=5432 user=your-root-user dbname=your-db"

DBの作成と作成したDB専用のユーザを作成します。

-- DB作成
\l
create database mydb;
\l

-- ユーザ作成
\du
create user myuser with password 'change me';
\du

-- ユーザの権限設定
\l mydb
grant all privileges on database mydb to myuser;
\l mydb

不要になったら削除します。

drop database mydb;
drop user myuser;

MySQL

DBサーバにログインします。ここではmysqlコマンドを使うためにDockerを利用します。

docker run --rm -ti -v /home/ec2-user/db:/tmp mysql:5.7 bash -l
mysql -h yourhost -P 3306 -u your-root-user -p your-db

DBの作成と作成したDB専用のユーザを作成します。

-- DB作成
show databases;
create database mydb;
show databases;
show create database mydb;

-- ユーザ作成
select user, host from mysql.user;
create user myuser identified by 'change me';
select user, host from mysql.user;

-- ユーザの権限設定
show grants for 'myuser'@'%';
grant all on mydb.* to myuser;
show grants for 'myuser'@'%';

不要になったら削除します。

drop database mydb;
drop user myuser;