MySQL은 관계형 데이터베이스 관리 시스템이며 세계에서 가장 인기 있는 오픈 소스 데이터베이스 중 하나입니다. 그러나 MySQL에는 "mysql"이라는 테이블이 실제로 존재하지 않습니다. 이 글에서는 MySQL의 시스템 데이터베이스와 시스템 테이블 및 그 기능을 소개합니다.
1. 시스템 데이터베이스
MySQL의 시스템 데이터베이스에는 다음이 포함됩니다.
위 시스템 데이터베이스는 MySQL에서 볼 수 있으며 SHOW DATABASES 명령을 통해 쿼리할 수 있습니다.
2. 시스템 테이블
MySQL 시스템 데이터베이스에는 많은 시스템 테이블이 있습니다. 다음은 시스템 테이블과 해당 기능 중 일부입니다.
mysql.user: MySQL 사용자 계정 및 보안 액세스 수준 정보를 저장합니다. 여기에는 사용자 이름, 호스트 주소, 비밀번호 등이 포함됩니다. 권한 관리 측면에서 중요한 테이블이다.
mysql.db: 사용자의 데이터베이스 권한을 포함합니다. 데이터베이스와 테이블에 액세스할 수 있는 사용자가 나열됩니다. (특정 호스트 주소 포함)
mysql.host: 클라이언트 IP 주소를 반환하기 위한 호스트 이름과 해당 규칙을 저장합니다.
mysql.roles 및 mysql.role_edges: mysql8.0에 도입되었으며 역할 통합에 사용됨
information_schema.tables: 모든 테이블의 상세 정보를 저장합니다. 데이터베이스 이름, 테이블 이름, 테이블 유형(예: 테이블, 뷰 또는 시스템 테이블), 테이블 엔진, 테이블 생성 시간 등을 포함합니다.
information_schema.columns: 열 이름, 데이터 유형, NULL 허용 여부, 열의 기본값 등 테이블의 각 열에 대한 자세한 정보를 나열합니다.
information_schema.indexes: 인덱스 정보를 표시합니다. 인덱스 이름, 인덱스의 고유 여부, 포함된 컬럼, 인덱스 유형 등에 대한 정보를 포함합니다.
mysql.proc: 프로시저 이름, 매개변수, 코드 등과 같은 저장 프로시저 및 함수에 대한 정보가 포함되어 있습니다.
mysql.event: 이벤트 이름, 시작 시간, 주기 시간 등과 같은 예정된 이벤트(예: 일반 작업)를 포함합니다.
sys 스키마의 보기, 함수 등: MySQL 메타데이터 보기를 사용하기 쉬운 쿼리로 변환합니다. 예를 들어, sys 라이브러리에는 다양한 테이블과 인덱스에 대한 통계를 포함하는 "schema_table_statistics" 뷰가 있습니다.
위의 시스템 테이블에서 우리는 MySQL 시스템 정보가 주로 사용자 및 권한, 데이터베이스 및 테이블 관련 정보를 포함한다는 것을 분명히 이해합니다.
요약하자면, MySQL에는 "mysql"이라는 테이블이 없지만, MySQL에는 MySQL 서버와 관련된 정보와 데이터베이스 메타데이터를 저장하는 시스템 데이터베이스와 테이블이 많이 있습니다. 이러한 시스템 데이터베이스와 테이블을 이해하면 MySQL을 더 잘 이해하는 데 도움이 될 수 있습니다.
위 내용은 mysql에는 mysql 테이블이 없습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!