비디오: MySQL DB Export/Import - 데이터베이스 이관하기 2024
MySQL이 설치되면 mysql 라는 데이터베이스가 자동으로 생성됩니다. 귀하의 데이터를 보호하는 데 사용되는 모든 정보는 계정 이름, 호스트 이름, 암호 및 권한을 포함하여이 데이터베이스에 저장됩니다.
권한은 열에 저장됩니다. 각 열 이름의 형식은 privilege _priv이며 privilege 는 특정 계정 권한입니다. 예를 들어, ALTER 특권이 들어있는 컬럼의 이름은 alter_priv입니다. 각 권한 컬럼의 값은 Y 또는 N이며, 예 또는 아니오입니다.
user:table:
-
이 테이블은 모든 데이터베이스와 테이블에 적용되는 권한을 저장한다. 여기에는 사용자 이름, 호스트 이름 및 암호 열을 포함하는 각 유효한 계정에 대한 행이 들어 있습니다. MySQL 서버는이 테이블에 존재하지 않는 계정에 대한 연결을 거부합니다. - db
테이블: -
이 테이블은 특정 데이터베이스에 적용되는 권한을 저장합니다. 여기에는 계정 이름과 호스트 이름에 권한을 부여하는 데이터베이스 행이 있습니다. 권한이 부여 되려면 계정이 사용자 테이블에 있어야합니다. 사용자 테이블에 주어진 권한은이 테이블의 권한을 상속합니다. 예를 들어, 사용자 테이블에 INSERT 권한을 부여하는 계정 디자이너 행이있는 경우 디자이너는 모든 데이터베이스에 삽입 할 수 있습니다. db 테이블의 행에 PetCatalog 데이터베이스의 디자이너 계정에 대한 INSERT에 대해 N이 표시되면 사용자 테이블이이를 재정의하고 디자이너가 PetCatalog 데이터베이스에 삽입 할 수 있습니다.
호스트
테이블: -
이 테이블은 호스트에 따라 데이터베이스에 대한 액세스를 제어합니다. 호스트 테이블은 db 테이블과 함 2 작동합니다. db 테이블의 행에 호스트에 대한 빈 필드가있는 경우 MySQL은 호스트 테이블에서 db에 행이 있는지 여부를 확인합니다. 이 방법으로 일부 호스트에서는 db에 액세스 할 수 있지만 다른 호스트에서는 액세스 할 수 없습니다. 예를 들어, db1과 db2라는 두 개의 데이터베이스가 있다고 가정합니다. db1 데이터베이스에는 중요한 정보가 있으므로 특정 사용자에게만 정보를 보려는 것이 좋습니다. db2 데이터베이스에는 모든 사람들이 보길 원하는 정보가 있습니다. 빈 호스트 필드가있는 db1에 대한 db 테이블의 행이있는 경우 호스트 테이블의 db1에 대해 두 개의 행을 가질 수 있습니다. 한 행은 특정 호스트에서 연결하는 사용자에게 모든 권한을 부여 할 수 있지만 다른 행은 다른 호스트에서 연결하는 사용자에 대한 권한을 거부 할 수 있습니다.
tables_priv
table:
-
이 테이블은 특정 테이블에 적용되는 권한을 저장합니다. columns_priv table:
-
이 테이블은 특정 열에 적용되는 권한을 저장합니다. 필요한 권한을 가진 계정을 사용하고 있다면 mysql에서 테이블을 직접보고 변경할 수있다. SELECT, INSERT 및 UPDATE와 같은 SQL 쿼리를 사용할 수 있습니다. 고용주, 클라이언트 또는 웹 호스팅 회사를 통해 MySQL에 액세스하는 경우 필요한 권한이있는 계정이 없을 수도 있습니다.