Mariadb 非ルートユーザー

Mariadb 非ルートユーザー

私は mariadb をインストールしており、Linux のルート ユーザーとして、mysql コマンドを実行してデータベースにアクセスできます。しかし、通常の Linux ユーザーとしてログインして実行しようとするとmysql -u root -p、エラーが発生します。

ERROR 1698 (28000): Access denied for user 'root'@'localhost'. 

mysql ルート ユーザーのパスワードをリセットするなど、いくつかの方法を試しましたが、効果はありませんでした。

どんな助けでも大歓迎です。

答え1

私も同じ問題を抱えていましたが、それは「mysql.user」テーブルの「plugin」値によって発生していました。

この回答を試してみましたか:https://askubuntu.com/a/636579/299538

その理由はこうです。https://superuser.com/a/1071043/592085

答え2

MariaDB では通常のユーザーでログインできないため、root アクセスするか、 を使用する必要がありますsudo。別の解決策としては、完全な権限を持つ別の root ユーザーを追加します。

sudo で db に接続します:

sudo mysql -u root

現在のデータベースでアカウントを確認してください:

mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |

ユーザーを再作成しますroot(必要な場合はパスワードを使用します):

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';

許可を与える:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

流す:

mysql> FLUSH PRIVILEGES;

データベースの使用状況を表示:

SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+

終了して通常のユーザーで接続します:

mysql -u root

関連情報