MySql ルートパスワードの変更

MySql ルートパスワードの変更

MySqlのrootパスワードを変更するのは正しいですか?

echo "use mysql; update user set password=PASSWORD("NEWPASSWORD") where User='root'; flush privileges; quit;" | mysql -u root -pOLDPASSWORD

私は見たこの文書そして他にもいくつかありましたが、いくつかの行で「簡単な」明確な答えが見つかりませんでした。

そして、mysqlこれを行う前にサーバーを停止して再起動する必要がありますか? (Debianでmysql stoporを試しましたが、mysql -uroot -pOLDPASSWORD stopどちらも機能しませんでした)。


注:mysql -V与えられたmysql Ver 14.14 Distrib 5.5.40, for debian-linux-gnu (x86_64)

答え1

これを行う正しいコマンドは次のとおりです。

mysql -uroot -poldp4ssw0rd -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newp4ssw0rd');"

私たちが言うとoldp4ssw0rdそして新しいp4ssw0rd既存のパスワードと新しいパスワードです。

いつでもMySQLサーバーを停止または再起動する必要はありません。実際にサービスに接続して上記のコマンドを実行するには、サービスが実行されている必要があります。

注:このコマンドを使用すると問題が解決する可能性がありますが、通常はログインしている他のユーザーに表示されるため、パスワードをコマンドライン引数として渡すことはお勧めできません。

関連情報