今回はMySQL(MariaDB)で新規ユーザーを作成し、作成したユーザーに全てのデータベースに対する全権限を与える方法を紹介する。
まず、rootユーザーでMySQLにログインする。
mysql -u root -p
上記コマンドを実行するとパスワードの入力が求められるので、入力したらログイン完了。
続いて新規ユーザーの作成。
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
usernameには任意のユーザー名を、アットマークの後は、自ホスト内からの接続のみを許可する場合localhostとしておく。passwordには任意のパスワードを設定する。
なお、外部サーバーからMySQLへの接続を許可する場合はlocalhostを以下のようにワイルドカードを意味する%にする必要がある。
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
次に、作成したユーザーにデータベースの権限を設定する。
権限を設定するデータベース、テーブルは*.*の部分を編集する必要があるが、ここでは分かりやすく全てのデータベース・テーブルに全権限を設定する例を示しておく。
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
※ユーザー作成時にアットマークの後を%とした場合は上記のlocalhostを%に変更する。
最後に設定は反映して完了。
FLUSH PRIVILEGES;