로컬에서 작업 할 때 데이터베이스에 액세스하기 위해 비밀번호를 입력 할 필요가 없습니다. mysql을 처음 설치할 때 루트 비밀번호를 변경했지만 비밀번호를 다시 변경하는 방법을 모르겠습니다. 어떻게해야합니까?
답변
루트 비밀번호를 newpassword
다음으로 변경하려면
mysqladmin -u root -p'oldpassword' password 'newpassword'
root가 비밀번호를 요구하지 않도록 변경하려면 :
mysqladmin -u root -p'oldpassword' password ''
참고 : 나는 사이에 공백이없는 것을 중요 생각 -p
하고 'oldpassword'
하지만 난 그것에 대해 잘못 될 수는
답변
암호를 제거하지 않고 (해당 서버에 문제가 생길 경우 불쾌한 결과를 초래할 수 있음) 현재 암호 (및 사용자 이름)를 ~/.my.cnf
다음과 같은 위치 (또는 Windows의 동등한 위치 )에 넣으십시오 .
[client]
user = root
password = s3kr1t
이렇게하면 향후에 불쾌감을주지 않으면 서 MySQL에 제공된 자격 증명을 사용하여 자동 로그인 할 수 있습니다.
답변
- mysqld를 중지하고 –skip-grant-tables 옵션으로 다시 시작하십시오 .
- mysql 만 사용하여 연결하십시오 .
-
루트 비밀번호를 변경하십시오.
mysql.user 업데이트 SET Password = PASSWORD ( ‘MyNewPass’) WHERE User = ‘root’;
홍당무;
참조 : 공식 mysql docs .
답변
MySQL 5.7부터 validate_password 플러그인은 기본적으로 활성화되어 있으며 빈 비밀번호를 사용하지 못하게합니다.
빈 비밀번호를 허용하려면이 플러그인을 비활성화해야합니다.
UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');
보안에 신경 쓰지 않는 한 @womble의 조언을 따르고 .my.cnf
편의를 위해 파일 과 함께 암호를 사용해야 합니다.
이 기사 에서 MySQL 루트 암호 제거 기사를 확인하십시오 !
답변
최신 버전에서
UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'
그리고 이것은 암호를 제거합니다
UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'