MySql 8.0 이상 버 전 ROOT 비밀 번 호 를 정확하게 수정 하 는 방법

배치 환경:
설치 버 전 red hat Center 7.0
MYSQL 버 전 8.0.2.0
성공 배치 완료 후 고장 상황 발생:
1.      MYSQL 서 비 스 를 정상적으로 시작 한 후 Linux 의 루트 계 정과 비밀 번 호 를 두 드 려 서 들 어 갈 수 없습니다.

2.      /etc/my.cnf 설정 파일 에 skip-grant-table 을 추가 한 후 정상적으로 로그 인 하지만 사용자 등 다 중 작업 을 만 들 수 없습니다.


결론 적 으로 말 하면:
my sql 에 들 어가 고 싶 으 면 다 중 명령 을 조작 할 수 없고 다 중 명령 을 조작 할 수도 없고 my sql 에 들 어 갈 수도 없고 순환 할 수도 없습니다.
구덩이 파 는 부분:
인터넷 에서 많은 방법 을 찾 았 습 니 다.먼저 skip-grant-table 에 가입 한 후에 들 어가 서 권한 표를 새로 고치 고 서 비 스 를 다시 시작 합 니 다.비밀 번 호 를 사용 하지 않 는 루트 에 들 어가 서 루트 비밀 번 호 를 바 꾼 후에 권한 표를 다시 새로 고 칩 니 다.방법 은 여러 가 지 를 시험 해 보 았 지만 모두 틀 렸 다.루트 부분 을 수정 하 는 것 은 시종 옳지 않다.

my sql 8.0 이상 의 버 전 암호 정책 과 문법 변경 이 잘못 되 었 는 지 알려 주 었 습 니 다.
다시 한 번 조작 하기:#vim /etc/my.cnf【mysql】
추가skip-grant-table

#systemctl stop mysqld.service
#systemctl start mysqld.service
#mysql Cu root
[차 를 두 드 리 며 입장!]

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass';
ERROR 1819 (HY000): Your password does notsatisfy the current policy requirements
mysql> alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass@123';
ERROR 1396 (HY000): Operation ALTER USERfailed for 'root'@'localhost'
mysql> alter user'root'@'%' IDENTIFIED BY 'MyNewPass@123'; 
 【my sql 8.0 이상 암호 정책 제한 은 반드시 대소 문자 에 디지털 특수 기 호 를 추가 해 야 합 니 다.저 는 이전에 my sqladmin,set,update 를 사 용 했 습 니 다.루트 비밀 번 호 를 수정 한 이전 사람 을 참고 하 십시오.글 끝 에 소개 되 어 있 습 니 다.
Query OK, 0 rows affected (0.05 sec)
종료,Skip-grant-table 문 구 를 삭제 하고 데이터 베 이 스 를 다시 시작 합 니 다.

[root@localhost ~]# vim /etc/my.cnf【    】
[root@localhost ~]# systemctl stopmysqld.service
[root@localhost ~]# systemctl startmysqld.service
[root@localhost ~]# mysql -uroot Cp
mysql> CREATE USER dbadmin@localhost 
 -> IDENTIFIED BY 'pwd123';
ERROR 1819 (HY000): Your password does notsatisfy the current policy requirements
mysql> CREATE USER dbadmin@localhost 
 -> IDENTIFIED BY 'Pwd123';
ERROR 1819 (HY000): Your password does notsatisfy the current policy requirements
mysql> CREATE USER dbadmin@localhost 
 -> IDENTIFIED BY 'Pwd@123';
ERROR 1819 (HY000): Your password does notsatisfy the current policy requirements
mysql> CREATE USER dbadmin@localhost 
 -> IDENTIFIED BY 'MyNewPass@123';
Query OK, 0 rows affected (0.10 sec)
[정상적으로 사용 자 를 만 들 수 있 습 니 다.암호 보안 은 복잡 도 를 높 여야 합 니 다.]

두 번 째 는 SQL 도 구 를 사용 하여 원 격 연결 을 합 니 다.여 기 는 SQLyog 를 사용 하여 원 격 연결 을 합 니 다.
  일반적으로 ROOT 사용자 의 계 정 비밀번호 로 직접 연결 하면 안 되 며,즉시 비밀번호 가 정확 하 다.
MYSQL 8.0 에 함 수 를 새로 추가mysql_native_password하여 이 함수 비밀 번 호 를 변경 하여 원 격 으로 연결 합 니 다.
2.1 첫째,ROOT 사용 자 를 변경 할 수 있 는 native비밀번호

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY'MyPass@123';
Query OK, 0 rows affected (0.15 sec)

2.2 두 번 째 는 루트 사용자 로 로그 인하 여 사용 자 를 새로 늘 리 고 권한 을 부여 하여 원 격 으로 연결 할 수 있다.

mysql> CREATE USER 'super'@'%'IDENTIFIED BY 'MyPass@123';
Query OK, 0 rows affected (0.10 sec)
Query OK, 0 rows affe mysql> GRANT ALLON *.* TO 'super'@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.10 sec)
mysql> Flush privileges;
Query OK, 0 rows affected (0.00 sec)cted(0.01 sec)
mysql> ALTER USER 'super'@'%' IDENTIFIEDWITH mysql_native_password BY 'MyPass@123';
Query OK, 0 rows affected (0.10 sec)

메모:mysql_native_passwd비밀 번 호 를 변경 하 였 습 니 다.사용자 의 원본 비밀 번 호 를 변경 하 는 것 과 같 습 니 다.MYSQL 8.0 내mysql-native_passwd를 위주 로 하고 셸 인터페이스 에서 로그 인 할 때 주의 가 필요 합 니 다.
ps:MySQL 에서 루트 비밀 번 호 를 변경 하 는 여러 가지 방법 을 살 펴 보 겠 습 니 다.
Navicat for MySQL 아래 에서 바로 실행  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');   되다
방법 1:SET PASSWORD 명령 으로

mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
방법 2:my sqladmin 으로
   mysqladmin -u root password "newpass"루트 에 비밀 번 호 를 설정 했다 면 다음 과 같은 방법 을 사용 하 십시오.
   mysqladmin -u root password oldpass "newpass"방법 3:UPDATE 로 user 표 직접 편집

mysql -u root
  mysql> use mysql;
  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';
  mysql> FLUSH PRIVILEGES;
루트 비밀 번 호 를 잃 어 버 렸 을 때 이렇게 할 수 있 습 니 다.

mysqld_safe --skip-grant-tables&
  mysql -u root mysql
  mysql> UPDATE user SET password=PASSWORD("new password") WHERE user='root';
  mysql> FLUSH PRIVILEGES;
총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 MySql 8.0 이상 버 전의 ROOT 비밀 번 호 를 정확하게 수정 하 는 방법 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기