Kubuntu 15.10にMariaDBをインストールしました。オペレーティングシステムでユーザーを認証するプラグインを介してrootとしてログインできます。 (これは私にとって新しいものなので、ほとんどのチュートリアルで提案されているように、プラグイン認証を削除する代わりに学んでいます。)
これで、root以外のユーザーを作成し、そのユーザーにすべての権限を付与し、ユーザーがパスワードなしで(プラグインを使用して)mysql(localhostで)にログインできるようにしたいと思います。どうすればいいですか?それでもユーザーにパスワードを提供する必要がありますか?
答え1
答えを見つけました。必要な部分は、次のように「IDENTIFIED VIA unix_socket」です。
MariaDB [(none)]> CREATE USER serg IDENTIFIED VIA unix_socket;
MariaDB [(none)]> GRANT ALL PRIVILEGES on mydatabase.* to 'serg'@'localhost';
MariaDB [(none)]> select user, host, password, plugin from mysql.user;
+--------------+-----------+----------+-------------+
| user | host | password | plugin |
+--------------+-----------+----------+-------------+
| root | localhost | | unix_socket |
| root | mitra | | unix_socket |
| root | 127.0.0.1 | | unix_socket |
| root | ::1 | | unix_socket |
| serg | localhost | | unix_socket |
+--------------+-----------+----------+-------------+
5 rows in set (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
次に、シェルで次の操作を行います。
sudo service mysql restart
ユーザー「serg」としてログインするには、sudoを使用しないでください。ただ使用してくださいmysql -u serg
。
答え2
このユーザーにパスワードを割り当て、それをmy.cnfファイルに入力できます。
- mydatabasにすべての権限を付与します。「パスワード」で識別されるuser@localhostに送信されます。
編集する私のcnf
[マイSQL]
ユーザー=ユーザー
パスワード=パスワード
[mysql管理]
ユーザー=ユーザー
パスワード=パスワード
sudo service mysql restart
mysql -h localhost -u user
答え3
~によると文書:
SQL_MODEがNO_AUTO_CREATE_USERを設定していない場合は、GRANTを介してユーザーアカウントを作成することもできます。たとえば、
それではこれで十分です:
GRANT SELECT ON db.* TO username@hostname IDENTIFIED VIA unix_socket;