MySQLにrootとしてログインできなくなりましたか?


8

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

パスワードをリセットしようとしました。

されて働いているsudo mysql-しかし、私は使用して他のユーザからrootとしてログインしたいですmysql -uroot -p。完全な権限とパスワードで新しいユーザーを作成すると、機能します。

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


ehm ...「しかしrootとしてログインしたい」私にとっては(!)これには理由がありませんでした。root以外のユーザー用にシステムをセットアップし、必要に応じてそのユーザーから同じことを実行できます;-)
Rinzwind

@Rinzwind データベースに rootとしてログインする理由はたくさんあります。これは、ユーザー、データベースなどを管理する唯一の方法です。内部sudoメカニズムはありません。
オリ

@oli別のユーザーを使用します。すなわち。「root」でのアクセスは、「sudo su」を使用してmysqlをリセットする場合にのみ可能ですが、認証は必要ありません。
Rinzwind 2015

回答:


6

だから、あなたが行ってきたバージョンから5.5.44-1ubuntu0.14.04.110.0.20-0ubuntu0.15.04.1。それはそれよりも恐ろしいように聞こえます、それは彼らが何らかの理由で5.6と呼んだものです。

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

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

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

shell$ sudo mysql -u root

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

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


この後、経由でのログインsudo mysql -u rootはできなくなります。つまり、/etc/mysql/debian.confも適応する必要があります。
Alex

4
うまくいきませんでした。この後、「sudo mysql -u root」でログインすることもできなくなりました。
MrSmith42
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.