MySqlのrootパスワードを変更するのは正しいですか?
echo "use mysql; update user set password=PASSWORD("NEWPASSWORD") where User='root'; flush privileges; quit;" | mysql -u root -pOLDPASSWORD
私は見たこの文書そして他にもいくつかありましたが、いくつかの行で「簡単な」明確な答えが見つかりませんでした。
そして、mysql
これを行う前にサーバーを停止して再起動する必要がありますか? (Debianでmysql stop
orを試しましたが、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サーバーを停止または再起動する必要はありません。実際にサービスに接続して上記のコマンドを実行するには、サービスが実行されている必要があります。
注:このコマンドを使用すると問題が解決する可能性がありますが、通常はログインしている他のユーザーに表示されるため、パスワードをコマンドライン引数として渡すことはお勧めできません。