2017-06-01 15 views
6

rootパスワードを設定してmysqlを保護したい。パスワードを入力せずMysql(MariaDB 10.0.29):rootパスワードを設定しますが、パスワードを尋ねずにログインすることはできますか?

MariaDB [(none)]> select Host, User, Password from mysql.user; 
+-----------+------+-------------------------------------------+ 
| Host  | User | Password         | 
+-----------+------+-------------------------------------------+ 
| localhost | root | *58319282EAB9E38D49CA25844B73DA62C80C2ABC | 
+-----------+------+-------------------------------------------+ 
1 row in set (0.00 sec) 

しかし、フラッシュ特権後、MySQLを再起動して、私はまだログインすることができますmysqlの(ローカルホスト上): は、私は正常にrootのパスワードをリセットします。

[email protected]:/# mysql 
Welcome to the MariaDB monitor. Commands end with ; or \g. 
Your MariaDB connection id is 10 
Server version: 10.0.29-MariaDB SLE 12 SP1 package 

Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

MariaDB [(none)]> 

接続時にmysqlにパスワードを要求する方法を教えてください。ありがとう! MySQLのテーブルの上に

答えて

13

あなたは、プラグインと呼ばれる行があります:私が正しくmariaDBインストールのデフォルトのプラグインを覚えていれば

MariaDB [(none)]> SELECT host, user, password, plugin FROM mysql.user LIMIT 0,1; 
+-----------+------+-------------------------------------------+--------+ 
| host  | user | password         | plugin | 
+-----------+------+-------------------------------------------+--------+ 
| localhost | root | *           |  | 
+-----------+------+-------------------------------------------+--------+ 
1 row in set (0.00 sec) 

は、「コンソール」または「unix_socket」であり、そしてこのプラグインは、パスワードなしで入力することができ、コンソールから。また、パスワードによる認証も無効にして、別のクライアントから接続することはできません。

単に空の( '')値でプラグインフィールドを更新してから、FLUSH PRIVILEGESを使用してください。

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); 
UPDATE mysql.user SET plugin = '' WHERE user = 'root' AND host = 'localhost'; 
FLUSH PRIVILEGES; 

これで、問題は解決しました。

+0

ありがとう@桜木桜。私はそれをしましたが、まだ運がありません! – thanhpt

+0

運がいいな...プラグインが有効な別のユーザーがいるかどうかmysql.userテーブルを確認してください。 root @% –

+0

'code'MariaDB [(none)]> mysql.userからホスト、ユーザ、パスワード、プラグインを選択するなど、別の行でログインしている可能性があります。 + ----------- + -------- + --------------------------- ---------------- + -------- + |ホスト|ユーザー|パスワードプラグイン| + ----------- + -------- + --------------------------- ---------------- + -------- + | localhost |ルート| * 58319282EAB9E38D49CA25844B73DA62C80C2ABC | | + ----------- + -------- + --------------------------- ---------------- + -------- + 1行のセット(0.00秒) 'code' テーブルのユーザーは1つのレコードしか持っていないと確信しています(root @localhost)に空のプラグイン値を設定します。 – thanhpt

関連する問題