|
|
@@ -1,38 +1,84 @@
|
|
|
+/*데이터베이스 생성*/
|
|
|
+CREATE DATABASE style24 DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_0900_ai_ci;
|
|
|
+
|
|
|
+/*유저 생성*/
|
|
|
+create user 'style'@'%' identified by 'tmxkdlf24^@^'; /*스타일24^@^*/
|
|
|
+
|
|
|
+/*권한부여*/
|
|
|
+grant all privileges on style.* to 'style24'@'%';
|
|
|
+
|
|
|
/**
|
|
|
-collation의 경우 utf8mb4_general_ci 이 기본값이다.
|
|
|
-이 설정을 사용할경우 정렬 속도가 utf8mb4_unicode_ci 설정에 비해 약간 빠르다고는 하는데 (거의 미미하다고 함)
|
|
|
-한글이나 일본어 같은 비 라틴계 언어들에 대해서 조금 어색한 정렬 순서들이 존재한다고 한다.
|
|
|
-때문에 utf8mb4_unicode_ci를 사용하는 것이 더 좋고, 이를 위해서 추가 설정을 해주어야 한다.
|
|
|
+기본 character_set과 collation이 mysql 버전별로 다음과 같다.
|
|
|
+mysql 5.7 > show session variables like '%char%';
|
|
|
++--------------------------+----------------------------------------+
|
|
|
+| Variable_name | Value |
|
|
|
++--------------------------+----------------------------------------+
|
|
|
+| character_set_client | utf8 |
|
|
|
+| character_set_connection | utf8 |
|
|
|
+| character_set_database | latin1 |
|
|
|
+| character_set_filesystem | binary |
|
|
|
+| character_set_results | utf8 |
|
|
|
+| character_set_server | latin1 |
|
|
|
+| character_set_system | utf8 |
|
|
|
+| character_sets_dir | /MySQL/binaries/5.7.24/share/charsets/ |
|
|
|
++--------------------------+----------------------------------------+
|
|
|
+
|
|
|
+mysql 8.0 > show session variables like '%char%';
|
|
|
++--------------------------+----------------------------------------+
|
|
|
+| Variable_name | Value |
|
|
|
++--------------------------+----------------------------------------+
|
|
|
+| character_set_client | utf8mb4 |
|
|
|
+| character_set_connection | utf8mb4 |
|
|
|
+| character_set_database | utf8mb4 |
|
|
|
+| character_set_filesystem | binary |
|
|
|
+| character_set_results | utf8mb4 |
|
|
|
+| character_set_server | utf8mb4 |
|
|
|
+| character_set_system | utf8 |
|
|
|
+| character_sets_dir | /MySQL/binaries/8.0.13/share/charsets/ |
|
|
|
++--------------------------+----------------------------------------+
|
|
|
+
|
|
|
+드디어 기본 character_set과 collation이 지긋지긋한 latin1 (latin1_swedish_ci)에서
|
|
|
+utf8mb4 (utf8mb4_0900_ai_ci)로 변경이 되었고, 모든 작업이 utf8mb4 character_set을 기본으로 동작하게 되었다.
|
|
|
+
|
|
|
+MySQL 8.0의 default collation은 utf8mb4_0900_ai_ci 이고, 이는 다음과 같은 내용을 포함한다
|
|
|
+ * collation의 character set은 utf8mb4 이다. (utf8mb4)
|
|
|
+ * Unicod 9.0의 문자를 표현한다. (0900). emoji 검색 지원
|
|
|
+ * Accent Insensitive Mode로 동작한다. (ai)
|
|
|
+ * Case Insensitive Mode로 동작한다. (ci)
|
|
|
*/
|
|
|
-#캐릭터셋과 COLLATE 확인
|
|
|
+
|
|
|
+-- collation 확인
|
|
|
+show variables like 'c%';
|
|
|
+
|
|
|
+-- 캐릭터셋과 COLLATE 확인
|
|
|
SELECT @@character_set_database, @@collation_database;
|
|
|
|
|
|
ALTER DATABASE style24
|
|
|
DEFAULT CHARACTER SET utf8mb4
|
|
|
- DEFAULT COLLATE utf8mb4_unicode_ci
|
|
|
+ DEFAULT COLLATE utf8mb4_0900_ai_ci
|
|
|
;
|
|
|
|
|
|
-# 테이블 칼럼의 캐릭터셋과 COLLATE 확인
|
|
|
+-- 테이블 칼럼의 캐릭터셋과 COLLATE 확인
|
|
|
SHOW FULL COLUMNS FROM tb_user;
|
|
|
|
|
|
SELECT concat("ALTER TABLE `",table_schema,"`.`",table_name,
|
|
|
- "` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;") as _sql
|
|
|
+ "` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;") as _sql
|
|
|
FROM information_schema.TABLES a
|
|
|
WHERE table_schema = 'style24'
|
|
|
AND table_name like 'tb%'
|
|
|
;
|
|
|
|
|
|
-ALTER TABLE `style24`.`tb_af_link` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_common_code` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_menu_access_hst` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_menu_role` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_supply_company` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_user` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_user_hst` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_user_login_fail` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_user_login_hst` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
-ALTER TABLE `style24`.`tb_user_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
|
+ALTER TABLE `style24`.`tb_af_link` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_common_code` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_menu_access_hst` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_menu_role` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_supply_company` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_user` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_user_hst` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_user_login_fail` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_user_login_hst` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
+ALTER TABLE `style24`.`tb_user_menu` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
|
|
|
|
|
################################################################################
|
|
|
#시퀀스
|