Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Imported Korean translation from sag76
Sv translation
languageen
Section
Column

Table of Contents

Column
Panel

See also:

Migrating User Permissions

Replicating User Account Management Statements

Pre-configured Users

Warning

Do not modify these pre-configured users. You may cause unspecified behavior in the database.

ClustrixDB comes with pre-configured users in the system.users table as follows:

  • root is defined to establish initial root access to ClustrixDB.
  • clustrix_ui user is used internally by ClustrixGUI. 
  • mysql_slave user is used by the slave processes running on the cluster. 
  • clx_supportclx_maint, and clx_view_definer are reserved exclusively for use by Customer Support.

Default root Account

ClustrixDB automatically creates a root user account. This root user is root@'%' and it allows root logins from anywhere. This differs from MySQL, which creates root@localhost.

Info

Root users are not included when importing users using clustrix_clone_users.

This difference in default root users between MySQL and ClustrixDB can lead to issues when importing triggers.  If a trigger happened to be created by the default root@localhost user on MySQL, it may import but then fail to execute on ClustrixDB, with an error like:

ERROR 1449 (HY000): [11309] The user specified as the definer for the trigger

This is because the trigger definition has DEFINER=`root`@`localhost` and ClustrixDB does not map this to the root@'%' user. The simplest way to work around this is to create a root@localhost user on ClustrixDB.

Creating and Managing Users

User information is stored in the system.users table in ClustrixDB, versus the mysql.user table in MySQL. To create users, issue the CREATE USER or GRANT commands, both of which require the CREATE USER privilege.

For example:

sql> CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_passwd'; 
sql> GRANT INSERT on 'test'.* to 'test_user'@'client1' IDENTIFIED BY'test_passwd';

To change a user's login password, use the SET PASSWORD command:

sql> SET PASSWORD FOR test_user = PASSWORD('new_passwd');

To remove a user from the database, use the DROP USER command.

You can qualify ClustrixDB user names by specifying CIDR, subnet mask, SQL wildcards, and FQDN qualifiers.

For example:

'user'@'10.21.2.0/24'
'user'@'10.21.0.0/16'
'user'@'10.0.0.0/255.0.0.0'
'user'@'10.21.2.0/255.255.255.0'
'user'@'10.21%'
'user'@'10.%'
'user'@'%.%.2.55'
'user'@'%.%.%.com'
'user'@'%.colo.%.%'
'user'@'client1.____.com'
'user'@'%.c%.%s.c__'
'user'@'client1.clustrix.com'
'user'@'10.21.2.64'

 

Note

ClustrixDB does not support creating or modifying user data via the mysql.users table.

Granting Privileges

ClustrixDB supports an access control system that is similar to that of MySQL. You can grant privileges globally (using ON *.* ), at the database level ( ON <dbname>.*), or at the table level (ON <dbname>.<tablename>).

To modify privileges, use the GRANT and REVOKE commands, which differ from their MySQL equivalents as follows:

  • column_list and object_type are ignored.
  • The ssl options cipher issuer and subject are not supported and generate syntax errors.

To display permissions, issue the SHOW GRANTS statement. For example, to list permissions for the current user:

sql> show grants;
+-------------------------------------------------------------+
| Grants for root@10.2.2.243                                  |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION | 
+-------------------------------------------------------------+
1 row in set (0.00 sec)

To list permissions for a specific individual:

sql> show grants for sergei;
+-------------------------------------------------------------------------------------------------------+
| Grants for sergei@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'sergei'@'%' IDENTIFIED BY PASSWORD '*F3A2A51A9B0FXXXXXXXXXXXXX32313728C250DBF' | 
+-------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Supported Privileges

ClustrixDB supports the following privileges:

  • ALL [PRIVILEGES]: All Privileges with the exception of GRANT option
  • ALTER: Allow use of ALTER TABLE
  • CREATE: Allow CREATE TABLE and CREATE DATABASE
  • CREATE USER: Allow CREATE USER and DROP USER
  • CREATE VIEW: Allow CREATE VIEW
  • DELETE: Allow DELETE
  • DROP: Allow DROP TABLE, DROP DATABASE, and DROP VIEW
  • GRANT OPTION: Allow GRANT
  • INDEX: Allow CREATE INDEX and DROP INDEX
  • INSERT: Allow INSERT
  • REPLICATION CLIENT: Allow SHOW MASTER STATUS and SHOW SLAVE STATUS
  • REPLICATION SLAVE: Allow reading binary logs
  • SELECT: Allow SELECT
  • SUPER: Allow administrative commands
  • UPDATE: Allow UPDATE
  • USAGE: Allow login

ClustrixDB ignores the following privileges (no syntax error but the command has no effect):

  • ALTER ROUTINE
  • CREATE TEMPORARY TABLES
  • EXECUTE
  • FILE
  • LOCK TABLES
  • PROCESS
  • REFERENCES
  • RELOAD
  • SHOW DATABASES
  • SHOW VIEW
  • SHUTDOWN (requires SUPER Privilege)

See also section on ClustrixDB versus MySQL Privileges

Sv translation
languageko


Section


Column

Table of Contents


Column


Panel

See also:

Migrating User Permissions

Replicating User Account Management Statements



사전 구성된 사용자

ClustrixDB는 다음과 같이 미리 구성된 사용자와 함께 제공됩니다.

  1. clustrix_ui 사용자는 ClustrixGUI에서 내부적으로 사용됩니다.
  2. mysql_slave 사용자는 클러스터에서 동작하는 슬레이브 프로세스에 의해 사용됩니다.
Warning

미리 구성된 사용자는 변경하지 마십시오. 데이터베이스에서 지정되지 않은 동작이 발생할 수 있습니다.

기본 root 계정

ClustrixDB는 자동으로 root 사용자 계정을 만듭니다. 이 root 사용자는 root@'%'로 어디서나 root 로그인이 가능합니다. 이것은 root@localhost를 만드는 MySQL과는 다릅니다.

Info

clustrix_clone_users를 사용하여 사용자를 가져오는 경우 root 사용자는 포함되지 않습니다.

MySQL과 ClustrixDB 간의 기본 root 사용자의 차이 때문에 트리거를(trigger) 가져올 때 문제가 발생할 수 있습니다. 트리거가 MySQL의 기본 root@localhost 사용자에 의해 생성된 경우 ClustrixDB로 트리거를 가져올 수 있지만 실행시 다음과 같은 오류와 함께 실패할 수 있습니다.

ERROR 1449 (HY000): [11309] The user specified as the definer for the trigger

이 오류는 트리거 정의가 DEFINER=`root`@`localhost`로 되어있지만 ClustrixDB는 이것을 root@'%'사용자에 매핑하지 않기 때문에 발생합니다. 이 문제를 해결하는 가장 쉬운 방법은 ClustrixDB에 root@localhost 사용자를 생성하는 것입니다.

사용자 생성 및 관리

사용자 정보는 system.users 테이블에 저장됩니다 (MySQL의 mysql.user과는 다릅니다). 사용자를 생성하려면 CREATE USER 또는 GRANT 명령을 실행하십시오 (CREATE USER 권한이 필요합니다).

예:

sql> CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_passwd'; 
sql> GRANT INSERT on 'test'.* to 'test_user'@'client1' IDENTIFIED BY'test_passwd';

사용자 로그인 암호를 변경하려면 다음과 같이 SET PASSWORD 명령을 사용하십시오.

sql> SET PASSWORD FOR test_user = PASSWORD('new_passwd');

데이터베이스에서 사용자를 제거하려면 DROP USER 명령을 사용하십시오.

CIDR, 서브넷 마스크, SQL 와일드 카드 및 FQDN 한정자를 지정하여 ClustrixDB 사용자 이름을 한정할 수 있습니다.

예:

'user'@'10.21.2.0/24'
'user'@'10.21.0.0/16'
'user'@'10.0.0.0/255.0.0.0'
'user'@'10.21.2.0/255.255.255.0'
'user'@'10.21%'
'user'@'10.%'
'user'@'%.%.2.55'
'user'@'%.%.%.com'
'user'@'%.colo.%.%'
'user'@'client1.____.com'
'user'@'%.c%.%s.c__'
'user'@'client1.clustrix.com'
'user'@'10.21.2.64'


Note

ClustrixDB에서는 mysql.users 테이블을 사용하여 사용자 데이터를 생성하거나 수정할 수 없습니다.

권한 부여

ClustrixDB는 MySQL과 유사한 액세스 제어 시스템을 지원합니다. 데이터베이스 레벨 ( ON <dbname>.*) 또는 테이블 레벨 (ON <dbname>.<tablename>)에서 전역으로 권한을 (ON *.*를 사용) 부여할 수 있습니다.

권한을 변경하려면 GRANT 명령과 REVOKE 명령을 사용하십시오. 이 명령들은 MySQL의 같은 명령과는 다음과 같이 다릅니다.

  • column_listobject_type은 무시됩니다.
  • ssl 옵션 cipher issuersubject는 지원되지 않으며 구문 오류가 생성됩니다.

권한을 표시하려면 SHOW GRANTS 문을 사용하십시오. 예를 들어, 현재 사용자의 권한을 나열하려면 다음과 같이 하십시오.

sql> show grants;
+-------------------------------------------------------------+
| Grants for root@10.2.2.243                                  |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION | 
+-------------------------------------------------------------+
1 row in set (0.00 sec)

특정 개인의 권한을 나열하려면:

sql> show grants for sergei;
+-------------------------------------------------------------------------------------------------------+
| Grants for sergei@%                                                                                   |
+-------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'sergei'@'%' IDENTIFIED BY PASSWORD '*F3A2A51A9B0FXXXXXXXXXXXXX32313728C250DBF' | 
+-------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

지원되는 권한

ClustrixDB은 다음의 권한을 지원합니다.

  • ALL [PRIVILEGES]: GRANT option을 제외한 모든 권한
  • ALTER: ALTER TABLE 사용 허용
  • CREATE: CREATE TABLECREATE DATABASE 허용
  • CREATE USER: CREATE USERDROP USER 허용
  • CREATE VIEW: CREATE VIEW 허용
  • DELETE: DELETE 허용
  • DROP: DROP TABLE, DROP DATABASEDROP VIEW 허용
  • GRANT OPTION: GRANT 허용
  • INDEX: CREATE INDEXDROP INDEX 허용
  • INSERT: INSERT 허용
  • REPLICATION CLIENT: SHOW MASTER STATUSSHOW SLAVE STATUS 허용
  • REPLICATION SLAVE: 바이너리 로그 읽기 허용
  • SELECT: SELECT 허용
  • SUPER: 관리 명령문 허용
  • UPDATE: UPDATE 허용
  • USAGE: login 허용

ClustrixDB는 다음의 권한을 무시합니다 (구문 오류는 없지만 명령은 아무런 효과가 없음).

  • ALTER ROUTINE
  • CREATE TEMPORARY TABLES
  • EXECUTE
  • FILE
  • LOCK TABLES
  • PROCESS
  • REFERENCES
  • RELOAD
  • SHOW DATABASES
  • SHOW VIEW
  • SHUTDOWN (requires SUPER Privilege)

ClustrixDB와 MySQL의 권한 섹션을 참조하십시오.