今回は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;