
MySQLのroot以外のユーザーってどうやって作るんだろう。よくわかんないなあ。という方の疑問にお答えします。
ボクはプログラミング学習を2018年から始めて約1年。MySQLについても勉強を進めています。
今回は、MySQLの勉強を始めたばかりだとあまりよく分からない、MySQLの超基礎、始めから設定されているrootユーザー(管理者的なユーザー)以外のユーザーを作る方法を解説します。
この記事を読むことで、
MySQLのユーザーを作る方法
がわかるようになります。
この記事では、ローカル開発環境のvagrantを使っています。
それではまず、MySQLのユーザーを作る方法から見ていきましょう。
MySQLのユーザーを作る方法
mysql -u rootでMySQLに接続するのはラクですが、ルートユーザーは権限が広すぎるので、データベースごとにユーザーを設定するのが一般的。
ということを踏まえて、作業用ユーザーを作ります。
とはいっても作り方はカンタンです。
rootユーザーでMySQLに接続

まずターミナルでローカル開発環境を立ち上げて、MySQLに『 mysql -u root 』コマンドで接続します。
コマンド:mysql -u root
無事にMySQLに接続できたらMySQLのプロンプトが表示されます。
作業用ユーザーを作るコマンドを入力

作業用ユーザーを作るコマンドを入力します。
コマンド:create user hoge@localhost identified by ‘password’;
hogeの部分は任意のユーザー名で、自分で自由に決めるところです。
@localhost → localhostからアクセスすることを想定。
‘password’の部分も、実際には任意のパスワードを決めて入力します。
Query ok,と表示されたらユーザーの作成に成功です。
作ったユーザーを確認

確認のために、いったんMySQLをquitして、作ったユーザーで接続して確認してみましょう。
コマンド:quit;
これでMySQLから一旦抜けます。
コマンド:mysql -u hoge@localhost
hoge@localhostでmysqlに接続します。
コマンド:select user( );
現在のユーザーを確認します。すると、画像のように、hoge@localhostになっていることが確認できました。
作業用ユーザーを作っただけでは、データベースを触る権限がないので、quitしてまた抜けておきます。
作業用ユーザーにデータベースの操作権限を与える

※事前にmysql -u rootでMySQLに接続してrootユーザーの状態でcreate database myappとしてmyappデータベースを作っておくことが必要です。
rootユーザーでmyappデータベースを作ったら、そのままrootユーザーの状態で、作業用ユーザーであるhoge@localhostにデータベースの操作権限を与えてみましょう。
rootが管理者で、作ったユーザーに権限を与える感じですね。
コマンド:grant all onmyapp.* to hoge@localhost;
このコマンドは、ユーザーであるhoge@localhostに、myappというデータベースの全ての権限を与えますよ〜。という意味です。
myappとhoge@localhostの部分以外は固定です。
hoge@localhostにmyappを見れる権限を与えたので、見れる状態になっているか、確認してみましょう。hoge@localhostで接続して、show databasesします。
ここで注意が必要なのが、パスワードを設定しているので、パスワードを使って接続しないと、myappデータベースが見れないことです。
パスワードを使って接続する方法

コマンド:mysql -u hoge -p myapp;
hogeの部分はユーザー名、myappの部分がデータベース名です。
コマンドを入力すると、パスワードを聞かれますので、設定したパスワードを入力します。ターミナルには入力したパスワードは表示されませんが、入力してエンターキーを押します。メッセージが表示されたら成功です。

データベースを確認

コマンド:show databases;
無事にmyappが表示されていますので、okです。
これで、作業用ユーザーを作って、データベースに権限を与えるまでが完了しました。ここまでそんな大したことはしていないですが、意外と思い通りに操作できないです。
でも、色々自分でいじってみると、操作に慣れてきます。ボクもぶっちゃけエラーメッセージが出まくりですが、触ってエラーが出ると、考えていろいろいじって試したりするので、理解が深まります。
いじっても壊れないので、ぜひどんどんいじって慣れましょう。
コメント