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
デフォルトでは、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」パスワードを変更する方法をご覧ください
実行する必要があります:
#mysql_secure_installation
Mysqlサーバーの新規インストール用にrootパスワードを設定できます。