#この記事の内容
初めてMySQLを触ったので備忘録
以下3つの内容に関して記載する
・MySQLを立ち上げる
・ユーザーを作成する
・権限を付与する
#環境
mysql: ver 8.0.16 for osx10.13 on x86_64 (Homebrew)
OS:MacOS HighSierra 10.13.6
#MySQL立ち上げ
インストール部分は省略(Homebrewでインストール可能)
ターミナルを起動して以下のコマンドを入力してmysql.serverを立ち上げる
mysql.server start
以下の内容が表示されれば起動成功
Starting MySQL
.. SUCCESS!
次にmysqlに接続
現在ユーザーは作成していないため管理ユーザー-rootで接続する
mysql -uroot
以下のように
>mysql
と表示されれば接続成功
なお、接続を解除する方法はいくつか存在して、いずれかのコマンドを実行する
>mysql quit
>mysql exit
>mysql \q
#ユーザーを作成する
現在はrootでログインしているので、新規にユーザを作成する
ユーザーを新規に作成するためには以下のコマンドを入力する
'user'はユーザ名
'localhost'はホスト名
'password'はパスワード
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password";
以下のコマンドでユーザ一覧を表示できる。
作ったユーザーが一覧に存在していれば作成成功
SELECT user,host FROM mysql.user
作成したユーザーでログインするためには以下のコマンドを実行
mysql -u user -p
そうするとpasswordの入力を求められるので先ほどのpassを入力することでログイン可能
現在ログインしているユーザを確かめるには以下のコマンドを実行
SELECT user()
ログインの際に用いたuserが表示されていればログイン成功
#権限を付与する
作成したユーザーは何も権限を持たないため、権限を付与する。
権限は細かに設定可能であり、データベース、テーブル単位で設定も可能
今回は全ての権限を与えるよう設定する。
GRANTのコマンドを使用するのだが、ググったサイトの大半のサイトに記載されてる内容ではうまくいかなかった。
おそらくMySQLのバージョンアップにともないコマンドの仕様が変更されたのではないかと考えられる。
以下のコマンドで全ての権限をuserに付与可能
database名,table名にはアクセスを許可したいものを入力する
database名,table名にはワイルドカード[*]も使用可
grant all privileges on [database名].[table名] to 'user'@'localhost';
grant all privileges on [database名].* to 'user'@'localhost';
現在はお試しで触っているので権限をALLとしているが、
権限の細かな変更に関してはまた必要になったタイミングで記事にしようかと思います。