ローカルのMySQLで、SQL実行環境を作る際の一連の流れを以下に記載します。
前提条件
OS: macOS 10
SQLは、ターミナル上のコマンドラインで実行
MySQLのインストールが済んでいない方は以下を参考にしてみて下さい。
Windows版をインストールしたい方こちらから、インストーラーをダウンロードして、実行して下さい。
新しくデータベースを作成する
mysql> mysql -u root -pmypass; mysql> create database db_name; Query OK, 1 row affected (0.08 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db_name | | mysql | | performance_schema | | sys | +--------------------+
新しくユーザーを作成する
mysql> create user user@localhost IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.12 sec)
ユーザー一覧を表示する
mysql> SELECT host, user FROM mysql.user; +-----------+------------------+ | host | user | +-----------+------------------+ | localhost | mysql.user | | localhost | mysql.infoschema | | localhost | mysql.session | | localhost | mysql.sys | | localhost | root | +-----------+------------------+
作成したユーザーに作成したデータベースの操作権限を付与する
Gmysql> grant all privileges on db_name.* TO user@localhost; Query OK, 0 rows affected (0.10 sec)
設定権限を確認する
mysql> show grants for user_name@localhost; +------------------------------------------------------------+ | Grants for user_name@localhost | +------------------------------------------------------------+ | GRANT USAGE ON *.* TO `user_name`@`localhost` | | GRANT ALL PRIVILEGES ON `db_name`.* TO `user_name`@`localhost` | +------------------------------------------------------------+
もし間違った場合は、以下コマンドで権限変更できます。
mysql> revoke all privileges on studydb.* from user_name@localhost; +------------------------------------------------------------+ | Grants for user_name@localhost | +------------------------------------------------------------+ | GRANT USAGE ON *.* TO `user_name`@`localhost` | +------------------------------------------------------------+
「all privileges」の箇所に削除したい権限を指定。
設定を反映する
mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)
新しいデータベースに切り替える
mysql> use db_name;
新しいテーブルを作成する
mysql> create table dbname.product (name varchar(30), price int(5)); Query OK, 0 rows affected (0.02 sec) mysql> show tables; +-------------------+ | Tables_in_db_name | +-------------------+ | product | +-------------------+ 1 row in set (0.00 sec) mysql> desc product; +--------------------------+------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------------------+------------------+------+-----+---------+-------+ | name | varchar(3) | YES | | NULL | | | price | smallint(5) | YES | | NULL | | +--------------------------+------------------+------+-----+---------+-------+
DB作成、ユーザー作成・権限付与、テーブル作成まで、できました。 お疲れ様でした。