문서의 이전 판입니다!
CentOS7
// 상태 보기 [mysql@dev tmp]$ systemctl status mariadb // 시스템 부팅시 자동 시작 [mysql@dev tmp]$ systemctl enable mariadb // MariaDB 재시작 [mysql@dev tmp]$ systemctl restart mariadb
user table 사용자 추가
INSERT INTO mysql.`user` (Host, `User`, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, Event_priv, Trigger_priv, Create_tablespace_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections, plugin, authentication_string, password_expired, is_role) VALUES('%', '__user__', password('__password__'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', '', 'N', 'N') ;
db table 사용자 추가
INSERT INTO mysql.db (Host, Db, `User`, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Create_tmp_table_priv, Lock_tables_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Execute_priv, Event_priv, Trigger_priv) VALUES('%', '__db__', '__user__', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
적용하기
FLUSH privileges;
사용자 생성
MariaDB [(none)]> create user '${User }'@'${Host }' identified by '${Password }'; Query OK, 0 rows affected (0.00 sec)
사용자 권한 변경(${DB }내 모든 테이블)
MariaDB [(none)]> grant all privileges on ${DB }.* to '${User }'@'${Host }'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec)
LOCK, UNLOCK
ALTER USER '${User }'@'${Host }' ACCOUNT LOCK; ALTER USER '${User }'@'${Host }' ACCOUNT UNLOCK;
MySQL, MariaDB의 DB, 계정, 권한 생성 및 설정
[mysql] mysql, mariaDB 계정 생성, 권한 추가
Account Locking
프로시져, 뷰 확인 방법
[프로시져 목록 확인방법] mysql> SHOW PROCEDURE STATUS [프로시져 스크림트 확인방법] mysql> SHOW CREATE PROCEDURE uso_Get_Mini_Evaluation [뷰 스크립트 확인방법] mysql> SHOW CREATE VIEW v_core_ability_examination
delimiter $$ DROP FUNCTION IF EXISTS dbname.getCodeIdByName $$ CREATE FUNCTION dbname.getCodeIdByName(findCode VARCHAR(100) ) RETURNS VARCHAR(20) BEGIN DECLARE getName VARCHAR(20); SET getName = NULL; SELECT CODE_ID_DET INTO getName FROM COM_CODE_DET WHERE CODE_NM_DET= findCode; RETURN getName; END $$ delimiter ;
SQL 작성후 DBeaver에서는 CTRL+ENTER(sql 실행)를 사용시 함수 적용이 안되므로 반드시 ALT + X(스크립트 실행) 를 사용하여 함수생성 결과를 확인한다.
MariaDB 업데이트
[mysql@dev tmp]$ mysql_upgrade -u root -p
TIMESTAMPDIFF
TIMESTAMPDIFF(단위, 날짜1, 날짜2);
예시
SELECT aei.ABILITYUNIT_EL_NM , group_concat(arr.RES_ROLES separator '|') AS RES_ROLES_RES , aei.AUE_CD FROM ABILITYUNIT_INFO ai GROUP BY aei.ABILITYUNIT_EL_NM
페이징 기본(둘다 같은 결과 나온다)
SELECT boardno, account, subject, content, createdate FROM board ORDER BY boardno DESC LIMIT 0, 10
SELECT boardno, account, subject, content, createdate FROM board ORDER BY boardno DESC LIMIT 10 OFFSET 0
스키마(SCHEMA) 복사
CREATE TABLE ${NEW_TABLE} LIKE ${OLD_TABLE}
스키마(SCHEMA)와 데이터 복사
CREATE TABLE ${NEW_TABLE} ( SELECT * FROM ${OLD_TABLE} )
데이터 복사
INSERT INTO ${DEST_TABLE} ( SELECT * FROM ${SOURCE_TABLE} )
SQL Developer로 하면 됨 autoincrement는 자동으로 시퀀스를 생성해 줌