MySql의 루트 비밀번호를 변경하는 것이 맞습니까?
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 서버를 중지하거나 다시 시작할 필요가 없습니다. 실제로 서비스에 연결하고 위 명령을 실행하려면 서비스가 실행 중이어야 합니다.
참고: 이 명령을 사용하면 문제가 해결될 수 있지만 일반적으로 로그인한 다른 사용자가 볼 수 있으므로 암호를 명령줄 인수로 전달하는 것은 좋지 않습니다.