나는 Ubuntu 20.04에 MySQL 8.0을 설치하기 위해 여러 튜토리얼을 따랐습니다. 모든 것이 mysql 로그에 보고된 오류 없이 작동합니다.
내가 가진 질문은 내가 이 명령을 입력할 때입니다.
SELECT user,authentication_string,plugin,host FROM mysql.user;
사용자가 사용한 인증 방법의 출력을 반환합니다.
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
6 debian+b #\siDqHjswpns2/K47l/F308RUepcThPVhJGQr2RWJk22 | caching_sha2_password | localhost |
| mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
| root | $A$005$dTc)W-"llags)qp0o48Ov..6NwzAnLhuMRrkttballyzCE16p6zoOE4 | caching_sha2_password | localhost |
+------------------+------------------------------------------------------------------------+-----------------------+-----------+
6 rows in set (0.03 sec)
모든 사용자에게는 authentication_strings
위와 같은 숫자, 문자, 문자가 있지만 mysql.session, mysql.infoschema and mysql.sys authentication_strings
다음 메시지가 포함되어 있습니다.
$A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED
이게 무슨 뜻인가요? 문제가 있는 걸까요?
MySQL 8.0 Docs를 포함하여 여기저기 검색해 보았지만 인증_문자열의 특정 메시지와 관련된 답변은 없는 것 같습니다.
내 LAMP 스택에서 모든 것이 제대로 작동하는 것 같아서 이 문제를 해결하려고 시도하지 않았습니다.
답변1
이들은 어떤 방식으로든 변경해서는 안 되는 내부 데이터베이스 사용자입니다.
그만큼설치 스크립트MySQL 자체에서는 이러한 사용자를 생성하고 이 해시를 할당합니다. 이는 가능한 비밀번호와 절대 일치하지 않도록 설계되었습니다. 이러한 사용자 계정은 일반 연결에 사용되지 않도록 의도되었습니다.
이러한 사용자의 목적은 다음 항목에 설명되어 있습니다.선적 서류 비치.
'mysql.sys'@'localhost'
:DEFINER
의 용도 로 사용됨시스템스키마 개체. 이mysql.sys
계정을 사용하면 DBA가 루트 계정의 이름을 바꾸거나 제거하는 경우 발생하는 문제를 피할 수 있습니다. 이 계정은 클라이언트 연결에 사용할 수 없도록 잠겨 있습니다.
'mysql.session'@'localhost'
: 서버에 액세스하기 위해 플러그인에서 내부적으로 사용됩니다. 이 계정은 클라이언트 연결에 사용할 수 없도록 잠겨 있습니다. 계정이 시스템 계정입니다.
'mysql.infoschema'@'localhost'
:DEFINER
의 용도 로 사용됨INFORMATION_SCHEMA
견해. 이mysql.infoschema
계정을 사용하면 DBA가 루트 계정의 이름을 바꾸거나 제거하는 경우 발생하는 문제를 피할 수 있습니다. 이 계정은 클라이언트 연결에 사용할 수 없도록 잠겨 있습니다.