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;(이것은 정책 수정일 뿐입니다. 다른 정책 수정 방식은 이것과 유사합니다. 더 이상 군말하지 않고 여기서 끝냅니다!)

좋은 웹페이지 즐겨찾기