web-dev-qa-db-ja.com

MariaDB:unixソケットプラグイン(パスワードなし)を使用して新しいユーザーを作成して付与します

Kubuntu15.10にMariaDBをインストールしました。オペレーティングシステムからユーザーを認証するプラグインを介してrootユーザーでログインできます。 (これは私にとって初めてのことなので、ほとんどのチュートリアルで推奨されているように、プラグイン認証を削除するのではなく、それについて学んでいます。)

ここで、root以外のユーザーを作成し、そのユーザーにすべての特権を付与して、ユーザーがパスワードなしで(プラグインのみを使用して)mysql(localhost上)にログインできるようにします。どうすればよいですか?ユーザーにもパスワードを与える必要がありますか?

1
MountainX

答えが見つかりました。私が必要とした部分は、以下に示すように「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を使用するだけです。

5
MountainX

そのユーザーにパスワードを割り当てて、my.cnfファイルに入力することができます。

  • mydatabasのすべての権限を付与します。 'password'で識別されるuser @ localhost; *

編集my.cnf

[mysql]

user = user

password = password

[mysqladmin]

user = user

password = password

Sudo service mysql restart

mysql -h localhost -u user
0
Ramesh Chand