문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
wiki:database:mariadb [2020/09/14 17:31] hylee [등록된 DATA로 날짜 비교] |
wiki:database:mariadb [2023/07/11 14:09] (현재) r_kimmk |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | ====== MariaDB ====== | + | ====== |
| <WRAP left notice 80%> | <WRAP left notice 80%> | ||
| * description : MariaDB, Mysql 관련 자료 정리 | * description : MariaDB, Mysql 관련 자료 정리 | ||
| 줄 11: | 줄 11: | ||
| * 대소문자 주의하는 것에 대해 고민하자 | * 대소문자 주의하는 것에 대해 고민하자 | ||
| + | ===== FAQ ===== | ||
| + | * 사용자 패스워드 변경하기 | ||
| + | * dbSpider 수집 데이터 한글이 깨질 때 characterEncoding=UTF-8 추가 | ||
| + | <code bash> | ||
| + | jdbc: | ||
| + | </ | ||
| ===== 시작/ | ===== 시작/ | ||
| CentOS7 | CentOS7 | ||
| 줄 30: | 줄 36: | ||
| [[http:// | [[http:// | ||
| - | ===== mysql db ===== | + | |
| + | ===== 사용자 관리(생성, | ||
| + | |||
| + | ==== Mysql DB ==== | ||
| user table 사용자 추가 | user table 사용자 추가 | ||
| 줄 54: | 줄 63: | ||
| </ | </ | ||
| - | ===== 사용자 생성 ===== | + | ==== Maria DB ==== |
| 사용자 생성 | 사용자 생성 | ||
| <code bash> | <code bash> | ||
| 줄 60: | 줄 69: | ||
| Query OK, 0 rows affected (0.00 sec) | Query OK, 0 rows affected (0.00 sec) | ||
| </ | </ | ||
| + | EX : create user 홍길동@' | ||
| + | Host : 허용 IP \\ | ||
| + | Tip : 허용 IP는 보통 3가지를 등록한다. \\ | ||
| + | * 홍길동@' | ||
| + | * 홍길동@' | ||
| + | * 홍길동@' | ||
| - | 사용자 권한 변경(${DB }내 모든 테이블) | + | \\ |
| + | ==== 사용자 권한 변경(${DB }내 모든 테이블) | ||
| <code bash> | <code bash> | ||
| MariaDB [(none)]> | MariaDB [(none)]> | ||
| Query OK, 0 rows affected (0.00 sec) | Query OK, 0 rows affected (0.00 sec) | ||
| - | + | </ | |
| + | EX : grant all privileges on repia.* to ' | ||
| + | Tip : grant all - 모든권한 \\ | ||
| + | * all 대신 select, update, create 등이 있다. | ||
| + | \\ | ||
| + | |||
| + | <code bash> | ||
| MariaDB [(none)]> | MariaDB [(none)]> | ||
| Query OK, 0 rows affected (0.00 sec) | Query OK, 0 rows affected (0.00 sec) | ||
| </ | </ | ||
| - | + | Tip : 권한 바꾸고 쿼리로 데이터를 수정하고 등록했던 모든 것을 메모리에 올리는 개념. 마지막에 꼭 해주는 것이 좋다. \\ | |
| - | LOCK, UNLOCK | + | \\ |
| + | 링크 | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | \\ | ||
| + | ==== LOCK, UNLOCK | ||
| <code bash> | <code bash> | ||
| 줄 80: | 줄 107: | ||
| [[https:// | [[https:// | ||
| [[https:// | [[https:// | ||
| + | |||
| + | ==== 쿼리 대소문자 구분 😒==== | ||
| + | Windows에서는 잘 되던 것이 리눅스 환경으로 배포하면 가끔 테이블을 못 찾는다는 에러가 뜬다. '' | ||
| + | 그 이유는 \\ | ||
| + | '''' | ||
| + | 즉, Linux계열에서 쿼리는 대소문자를 정확히 해서 테이블명과 컬럼명을 찾아야한다. \\ | ||
| + | |||
| + | > 해결 방법 | ||
| + | |||
| + | * mariadb를 기본 설치했다면 ''/ | ||
| + | |||
| + | ^ value ^ meaing | ||
| + | | 0 | CREATE TABLE 이나 CREATE DATABASE 실행시 디스크에 저장되는 테이블과 데이타베이스의 이름을 대소문자를 구분해서 생성한다.\\ SELECT 나 Insert 사용시에도 대소문자를 구분해서 사용해야 한다. 대소문자를 구별하는 OS 에서만 의미가 있고 Windows/Mac OS X 에 는 적용되지 않는다 | ||
| + | | 1 | 테이블과 DB 이름을 소문자로 생성하며 참조시에는 소문자로 변경하여 처리한다. 기존에 대문자가 포함되어 생성한 테이블과 DB 는 문제가 될 수 있다. | ||
| + | | 2 | CREATE TABLE 이나 CREATE DATABASE 실행시 디스크에 저장되는 테이블과 데이타베이스의 이름을 대소문자를 구분해서 생성한다.\\ 참조시에는 소문자로 변경한다. 대소문자를 구분하지 않는 파일 시스템을 가진 OS(Mac OS X) 에서만 동작한다. | ||
| + | |||
| + | \\ | ||
| + | 위 표를 보면 알듯이 설정을 한 후에 데이터가 생성되어야 하기 때문에\\ | ||
| + | 다시 DATABASE를 지우고 새로 생성해야 한다. \\ | ||
| + | 생성한 다음 dump 파일을 넣어 주면 된다. | ||
| + | |||
| + | ===== 인덱스 관리 (생성, 조회, 삭제) ===== | ||
| + | <code sql> | ||
| + | // 조회 (SHOW INDEX FROM 테이블명) | ||
| + | $> SHOW INDEX FROM HEQMS.TB_HFDMS2_STD_CMPTN_SD; | ||
| + | // 삭제 (ALTER TABLE 테이블명 DROP INDEX 인덱스명) | ||
| + | $> ALTER TABLE HEQMS.TB_HFDMS2_STD_CMPTN_SD DROP INDEX IX_TB_HEQMS2_STD_JOB_CMPTN_SD_01; | ||
| + | // 생성 (CREATE INDEX 인덱스명 ON 테이블명 (필드명 리스트)) | ||
| + | $> CREATE INDEX IX_TB_HFDMS2_STD_CMPTN_SD_01 using BTREE ON TB_HFDMS2_STD_CMPTN_SD (STD_NO); | ||
| + | $> CREATE INDEX IX_TB_HFDMS2_STD_CMPTN_SD_02 using BTREE ON TB_HFDMS2_STD_CMPTN_SD (STD_NO, DGNSS_ROUND); | ||
| + | // 삭제 & 추가 | ||
| + | $> ALTER TABLE RSA.SIMS_MONITORING DROP INDEX IX_SIMS_MONITORING_01; | ||
| + | $> CREATE UNIQUE INDEX IX_SIMS_MONITORING_01 USING BTREE ON RSA.SIMS_MONITORING (MONIT_ID); | ||
| + | // 삭제 | ||
| + | $> ALTER TABLE RSA.SIMS_MONITORING DROP INDEX `PRIMARY`; | ||
| + | </ | ||
| + | > 인덱스 이름 변경은 잘 안됨 | ||
| ===== 함수(function) 생성 ===== | ===== 함수(function) 생성 ===== | ||
| 줄 182: | 줄 246: | ||
| INSERT INTO ${DEST_TABLE} ( SELECT * FROM ${SOURCE_TABLE} ) | INSERT INTO ${DEST_TABLE} ( SELECT * FROM ${SOURCE_TABLE} ) | ||
| + | ===== Function & Procedures ===== | ||
| + | * [[wiki: | ||
| ===== Encoding ===== | ===== Encoding ===== | ||
| - | |||
| * [[wiki: | * [[wiki: | ||
| - | |||
| ===== Logging ===== | ===== Logging ===== | ||
| 줄 198: | 줄 262: | ||
| ===== Trouble Shooting ===== | ===== Trouble Shooting ===== | ||
| * [[wiki: | * [[wiki: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | \\ | ||
| ===== Ref ===== | ===== Ref ===== | ||
| * [[https:// | * [[https:// | ||
| 줄 210: | 줄 276: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| - | + | ===== MySQL Note ===== | |
| - | + | | |
| {{tag> | {{tag> | ||