web-dev-qa-db-ja.com

パスワードなしのMySQL rootアカウント?

RootアカウントにパスワードなしでMySQLサーバーをインストールしました。 rootパスワードを3回入力するように求められ、パスワードを使用したくないので、3回すべて空白のままにしました。しかし、今では、そんなに素晴らしいアイデアではないように思えます。

Workbenchから接続しようとしましたが(現在はパスワードが入力されています)、エラーが発生します:Access denied for user 'root'@'localhost'.パスワードがないのはなぜですか?

インストール時にダミーのパスワードを入力しただけなら問題はないので、次のように入力して設定しようとします。mysqladmin -u root -p password;空白のパスワードを入力し、もう一度、以下を取得します。

mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost'

コンソールに「mysql」と入力すると、次のようになります。

Access denied for user 'me'@'localhost' (using password: NO)

パスワードなしでrootアカウントを作成でき、その場合問題があまりない場合は、パスせずにそのままにしたいのですが、それが適切でない場合は、パスワードの設定方法を教えてください。そして、パスワードなしでそれを残すのが良いなら、パスなしで接続する方法を教えてください:)

編集:Linuxディストリビューション:Mint Cinnamon 64ビット; MySQLバージョン:5.7

4
Scarass

デフォルトでは、Debian/Ubuntu/Mintには、debian-sys-maintと呼ばれる、MySQLのシャットダウンに使用される管理アクセス権を持つユーザーがいます。

次の形式の/etc/mysql/debian.cnfファイルに移動します。

[client]
Host     = localhost
user     = debian-sys-maint
password = XXXXXXXX
socket   = /var/run/mysqld/mysqld.sock 

MySQLのインストール時にランダムに生成されるパスワードをそこから取得します(たとえば、サーバー間で異なる)。

そしてMySQLにログインします:

mysql -udebian-sys-maint -pXXXXXXXX

その後、ルートパスワードを変更できます。

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');

これはMySQL 5.7でわずかに変更されたことに注意してください。 MySQL v5.7を使用してMySQLの「root」パスワードを変更する方法をご覧ください

7
Rui F Ribeiro

実行する必要があります:

#mysql_secure_installation

Mysqlサーバーの新規インストール用にrootパスワードを設定できます。

1
supriady