GOLDILOCKS 는 유저와 스키마가 1:N 의 관계를 가집니다.유저는 스키마를 0개 부터 1개 이상을 소유할 수 있습니다. 유저별로 스키마를 소유할 수 있는 방법에 대한 그림입니다. 타 DBMS 의 경우의 유저와 스키마의 관계는 다음과 같습니다. DBMS USER : SCHEMA 관계 Oracle 1 : 1 MySQL 1 : 1 Postgres 1 : N
Database
GOLDILOCKS 는 클러스터 환경에서 Row Identifier 를 위해 Global Secondary Index 를 지원합니다. Global Secondary Index 란?http://mozi.tistory.com/99?category=999095 테이블에 Global Secondary Index 가 없는 경우,LIMIT FETCH 와 같은 쿼리가 수행되지 않습니다. Global Secondary Index 유무 확인하기gSQL> SELECT TABLE_OWNER, TABLE_SCHEMA, TABLE_NAME FROM ALL_GSI_PLACE; TABLE_OWNER TABLE_SCHEMA TABLE_NAME ----------- ----------------- --------------------..
GOLDILOCKS Cluster 에서는 모든 멤버의 데이터의 통일성을 위해 Global Secondary Index 를 지원합니다. Global Secondary Index 란Cluster 환경의 각 멤버들의 레코드의 GRID ( Global Row Identifier ) 값을 Key 로 구성한 B-Tree 인덱스 입니다.Global Secondary Index 가 없는 테이블에 대해서는 LIMIT, FETCH 같은 Non-Deterministic DML 을 지원하지 않습니다. GRID각 멤버들의 동일한 레코드에 대해서 구분할 수 있는 Unique 한 값으로, 데이터가 최초 저장될 때 할당되어 모든 멤버들에게 전파되어 함께 저장됩니다.레코드의 값이 갱신되거나 Shard Key 가 변경되어도 GRID 값..
GOLDILOCKS 는 godlilocks_home 과 goldilocks_data 경로에 운영에 필요한 파일들을 보관합니다. goldilocks_home 폴더 설명 admin 메타 스키마 정보를 담은 파일이 있는 폴더 bin 바이너리 파일이 있는 폴더 include 헤더 파일이 있는 폴더 lib 라이브러리 파일이 있는 폴더 license 라이센스 파일이 있는 폴더 msg 에러메세지 파일이 있는 폴더 sample SQL, ODBC, JDBC, Embedded-SQL 등의 샘플 파일이 있는 폴더 script 스크립트 폴더 goldilocks_data 폴더 설명 archive_log 아카이브 로그파일이 있는 폴더 backup 백업 파일이 있는 폴더 conf 데이터베이스 프로퍼티를 설정하는 파일이 있는 폴더 ..
MySQL 은 타 DBMS 와 다르게 host 를 부여할 수 있습니다.host 에 따라 접근 권한을 다르게 부여할 수 있습니다. host 는 localhost 와 % 가 있습니다. localhost 는 내부접근 % 은 외부접근 입니다. 다음은 사용자를 생성, 삭제하는 CREATE USER, DROP USER 구문입니다.mysql> CREATE USER mozi IDENTIFIED BY 'mozi'; Query OK, 0 rows affected (0.04 sec) mysql> DROP USER mozi; Query OK, 0 rows affected (0.04 sec) mysql> CREATE USER mozi@localhost IDENTIFIED BY 'mozi'; Query OK, 0 rows aff..
MySQL 에서 root 비밀번호를 분실했을 때, root 비밀번호를 변경하는 방법입니다. 1. MySQL 을 종료합니다.2. MySQL 을 --skip-grant-tables 옵션을 부여하여 구동합니다.$ ./mysql.server start --skip-grant-tables Starting MySQL...... SUCCESS!3. root 비밀번호를 변경합니다. root 계정의 비밀번호를 root 로 변경하는 쿼리입니다. PASSWORD(' ') 에 원하는 비밀번호를 입력합니다.$ mysql -u root mysql mysql> UPDATE mysql.user SET AUTHENTICATION_STRING=PASSWORD('root') WHERE USER='root'; Query OK, 1 row ..
MySQL 은 다수개의 데이터베이스를 등록할 수 있고, 사용할 수 있습니다. MySQL 에 mozi 데이터베이스를 생성합니다.mysql> CREATE DATABASE mozi; Query OK, 1 row affected (0.14 sec) MySQL 에 존재하는 데이터베이스의 목록을 확인합니다.mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mozi | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) 특정 데이터베이스를 사용한다고 설정합니다.mysql>..
MySQL 의 my.cnf 파일은 MySQL 의 프로퍼티를 설정하는 파일입니다. 사용자가 임의의 명칭으로 cnf 파일을 만들 수 있으며,MySQL 구동 시 --defaults-extra-files 옵션을 부여하여 만든 cnf 파일을 지정할 수 있습니다. my.cnf 그룹설정[ ] 를 사용하여 그룹을 지정할 수 있습니다.그룹별로 프로퍼티를 설정합니다.$ cat my.cnf | grep '\[' [mysqld] [mysqld_safe] [mysqldump] [client] [mysql] [client]포트번호, 소켓파일의 경로 프로퍼티를 설정합니다. [mysqld]서버를 구동하는데 필요한 프로퍼티를 설정합니다.아래에 기록한 프로퍼티 외에도 다양한 프로퍼티가 있습니다. 프로퍼티 설명 character-set-..
MySQL 을 기본적으로 설치하면 /usr/local/mysql 밑에 위치하게 되나,이전 포스팅에서 설치 시, 경로를 사용자 계정 하위 디렉토리로 위치하게 변경하였습니다.앞에 /usr 를 /home/mysql/mysql 로 바꿔서 보시면 좋습니다. binMySQL 을 실행하는데 필요한 실행파일과 다양한 클라이언트 실행파일이 있습니다.$ pwd /home/mysql/mysql/local/mysql/bin $ ls innochecksum mysql.server mysql_secure_installation mysqld_multi mysqltest lz4_decompress mysql_client_test mysql_ssl_rsa_setup mysqld_safe mysqltest_embedded my_prin..
MySQL 은 타 DBMS 와 다르게, 하나의 Instance 에 다수개의 Engine 을 등록할 수 있습니다.또한 엔진은 Plug In 방식으로, 아래 명령어로 현재 Plug In 된 엔진을 확인할 수 있습니다. mysql> SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------..