web-dev-qa-db-ja.com

もうrootとしてMySQLにログインできませんか?

Ubuntu 15.04でrootユーザーとしてMySQL(実際にはMariaDB)にログインできなくなったようです(14.04から14.10にアップグレードしました)

私はすでにパスワードをリセットしようとしました。

is動作するものはSudo mysqlですが、mysql -uroot -pを使用して他のユーザーからrootとしてログインしたいです。完全な権限とパスワードを持つ新しいユーザーを作成すると、機能します。

何か変更はありましたか?

8
Alex

あなたが行った バージョン5.5.44-1ubuntu0.14.04.1から10.0.20-0ubuntu0.15.04.1へ。それはそれよりも恐ろしく聞こえます、それはただ 何らかの理由で5.6と呼ばれたもの です。

MariaDBの新しいバージョンでは、固定パスを介した認証を強制するために、ユーザーテーブルにプラグインが追加されたようです。この場合、rootデータベースユーザーは unix_socketプラグイン を介して強制されます。これは、一部のサークルではauth_socketとしても知られているようです。

とにかく、このプラグインは、システムrootユーザーのみがデータベースrootとしてパスワードなしでログインできるように制限します。それは彼らが行ったセキュリティの選択です。

これを元に戻すには、 rootユーザーのプラグインフィールドを空白にします

Shell$ Sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

この後、指定されたパスワードが機能するはずです。しかし、これがどれほど賢明かはわかりません。

6
Oli