CentOS7+MySQL5.8 비밀번호 변경
2625 단어 mysql
아무리 고쳐도 틀려요. 인터넷에서 많은 방안을 찾아도 안 돼요. 다음에 제 수정 방법을 기록해 주세요. 아무래도 기억력이 썩은 붓끝보다 못하니까!
1.vim/etc/my.cnf[mysqld] 뒤에 skip-grant-tables 추가
2. mysql 서비스 mysqld restart 다시 시작
3. 데이터베이스 mysql-u root-p에 로그인하고passwrod: 직접 리턴;
4.mysql>use mysql ; (빼지 마라;)
5.update user set authentication_string='' where user='root';(먼저 공백으로 두고, 직접 비밀번호를 설정할 수 없으니 명심하세요!)
6. mysql을 종료하고/etc/my를 삭제합니다.cnf 파일 아래의skip-grant-tables를 누르고 mysql 서비스를 다시 시작합니다.
7. 데이터베이스 mysql -u root -p에 다시 로그인
8.passwrod: 직접 차로 돌아가기;
9. 로컬 액세스 데이터베이스인 경우: ALTER user'root'@'localhost'IDENTIFIED BY'Qzy000#';원격으로 데이터베이스에 액세스하는 경우: Alter user'root'@'%'IDENTIFIED BY'Qzy1234#'
이로써 수정에 성공하였습니다.새 사용자 이름 비밀번호로 로그인하면 됩니다.
주의해야 할 점:
1. mysql에서 5.8 시작, 비밀번호 수정은 authentication패스워드가 아니라string;
2.update user set authentication_string='Qzy1234#' where user='root';만약 이렇게 수정하면 실행에 성공하고 오류가 발생하지 않지만 수정된 비밀번호는 명문입니다.select host,user,authenticationstring, plugin from user;관련 사용자의 접근 권한, 암호화 방식 등을 볼 수 있습니다. 암호가 암호화되지 않았습니다. mysql은 접근을 거부합니다. 왜냐하면authenticationstring 필드에서 mysql 암호화된 41비트 문자열 암호만 사용할 수 있습니다.그래서 이렇게 수정하면 오류가 발생하지 않지만 로그인할 수 없습니다!
3. 암호화에 대해 5.8.0 기본값cachingsha2_password, 8.0 이전에 사용한 mysqlnative_password, 일부 클라이언트는 아직 caching을 지원하지 않습니다.sha2_password, mysql 로 변경 가능native_password==> 같은 mysql 로그인 후 실행: Alter USER'root'@'localhost'IDENTIFIED with mysqlnative_password BY '000000' PASSWORD EXPIRE NEVER;
4. mysql 로그인 후 실행: SHOW VARIABLES LIKE'validatepassword%';다음과 같은 암호 정책을 볼 수 있습니다.
mysql> SHOW VARIABLES LIKE 'validate_password%';
+--------------------------------------+--------+
| Variable_name | Value |
+--------------------------------------+--------+
| validate_password.check_user_name | ON |
| validate_password.dictionary_file | |
| validate_password.length | 8 |
| validate_password.mixed_case_count | 1 |
| validate_password.number_count | 1 |
| validate_password.policy | MEDIUM |
| validate_password.special_char_count | 1 |
+--------------------------------------+--------+
7 rows in set (0.00 sec)
관련 지식은 스스로 검색할 수 있으며, 수정할 암호가 암호 정책에 부합되지 않으면 스스로 암호 정책을 수정하거나 자신의 암호를 암호 정책에 부합되는 형식으로 설정하면 된다.
암호 정책 수정 방법:
데이터베이스에 로그인한 후 실행: set global validatepassword.policy=0;(이것은 정책 수정일 뿐입니다. 다른 정책 수정 방식은 이것과 유사합니다. 더 이상 군말하지 않고 여기서 끝냅니다!)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL에서 JSON 인덱싱 - aarondfrancis사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 말하지만 완전히 정확하지는 않습니다. MySQL로 JSON 열을 인덱싱하는 것은 완전히 가능합니다! 사람들은 종종 MySQL로 JSON을 인덱싱할 수 없다고 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.