MySQLでroot以外のユーザーを作る方法【触ると慣れます】

MySQLのユーザーを作る方法と動かす方法【触ると慣れます】

MySQLのroot以外のユーザーってどうやって作るんだろう。よくわかんないなあ。という方の疑問にお答えします。

ボクはプログラミング学習を2018年から始めて約1年。MySQLについても勉強を進めています。

今回は、MySQLの勉強を始めたばかりだとあまりよく分からない、MySQLの超基礎、始めから設定されているrootユーザー(管理者的なユーザー)以外のユーザーを作る方法を解説します。

この記事を読むことで、

MySQLのユーザーを作る方法

がわかるようになります。

この記事では、ローカル開発環境のvagrantを使っています。

それではまず、MySQLのユーザーを作る方法から見ていきましょう。

MySQLのユーザーを作る方法

mysql -u rootでMySQLに接続するのはラクですが、ルートユーザーは権限が広すぎるので、データベースごとにユーザーを設定するのが一般的。

ということを踏まえて、作業用ユーザーを作ります。

とはいっても作り方はカンタンです。

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です。

これで、作業用ユーザーを作って、データベースに権限を与えるまでが完了しました。ここまでそんな大したことはしていないですが、意外と思い通りに操作できないです。

でも、色々自分でいじってみると、操作に慣れてきます。ボクもぶっちゃけエラーメッセージが出まくりですが、触ってエラーが出ると、考えていろいろいじって試したりするので、理解が深まります。

いじっても壊れないので、ぜひどんどんいじって慣れましょう。

コメント

タイトルとURLをコピーしました