2017-04-12 3 views
3

私はUbuntu(16.04.02)でMariaDB(10.0.29)をセットアップしようとしています。私はそれをインストールし、プロセス(sudo service mysql start)を開始した後、もともとはパスワードを空白に設定していましたが、私はrootとしてログインできません。MariaDB - ルートとしてログインできません

ee mysql -u rootは私のアクセスを拒否します。私はsudo mysqlを介してログインし、ユーザテーブルをチェックしました。 select user, password, authentication_string from mysql.userと期待通り:

+---------+----------+-----------------------+ 
| User | password | authentication_string | 
+---------+----------+-----------------------+ 
| root |   |      | 
+---------+----------+-----------------------+ 

私は新しいユーザー、すなわち、 create user 'test'@'localhost' identified by '';と私はmysql -u test(空のパスワード)を実行しようとするとき、それが期待どおりに動作し、私を記録します

userテーブルは次のようになります。私は、ログインすることができない理由を誰も私を伝えることができ、そう

+---------+----------+-----------------------+ 
| User | password | authentication_string | 
+---------+----------+-----------------------+ 
| root |   |      | 
| test |   |      | 
+---------+----------+-----------------------+ 

空のパスワードでrootを入力してください。testとしてログインできますか?

+0

空のパスワードとパスワードが異なる扱いをする可能性があります。 – tadman

+0

私は似たような経験をしました。まず、インストール時に私はrootパスワードを設定するように要求していませんでした。私はrootのパスワードをリセットしようとしましたが、まだアクセス権がありませんでした。そして、再インストールされ、同じ状況になった。また、Ubuntu 16.04 64bit。その後にmysqlをインストール –

答えて

6

Ubuntuがデフォルトで生成するパッケージは、ローカルのルートに対してunix_socketの認証を持つMariaDBパッケージ(MariaDB自体で提供されるもの)とは異なり、MariaDBパッケージと異なります。 、チェックあなたはplugin列にunix_socketが表示されている場合

SELECT user, host, plugin FROM mysql.user; 

を実行するには、それが理由です。

は、通常のパスワード認証に戻り

UPDATE mysql.user SET plugin = '' WHERE plugin = 'unix_socket'; 
FLUSH PRIVILEGES; 

実行するには、私はいくつかの時間のためにこれで苦労

0

(自分の目的に合ったWHERE句を選び、1は上記の一例に過ぎません)。私のUbuntuにはデフォルトでMariaDB(10.0.31)が付属しています。何度か再インストールしてプラグインをいろいろな提案に変更した後、私はまだmysqlに正しくログインできませんでした。

最後に、私はレポから最新MariaDB(10.2.12)インストール:私はすぐに正常にログインすることができました https://downloads.mariadb.org/mariadb/repositories/

を。

関連する問題