MySQL - ynjch97/YNJCH_WIKI GitHub Wiki
1. MySQL 8.0.28 μ€μΉ
- https://downloads.mysql.com/archives/installer/ >
mysql-installer-community-8.0.28.0.msi
- μ€ννμ¬ κΈ°λ³Έ μ€μ μΌλ‘
MySQL Server
, MySQL Workbench
μ€μΉ
- νκ²½ λ³μ μ€μ > μμ€ν
λ³μ >
Path
: C:\Program Files\MySQL\MySQL Server 8.0\bin
1-1. MySQL Server
- μλ κΈ°μ¬λ λ΄μ©λ§ μ€μ ν Next λ²νΌ ν΄λ¦
- Type and Networking
- Config Type : Development Computer
- Connectivity : κΈ°λ³Έ ν¬νΈ 3306
- Authentication Method
- RECOMMENDED μ€μ μΌλ‘ 체ν¬
- Accounts and Roles
- root κ³μ (μ΅μμ κΆν κ³μ )μ ν¨μ€μλ μ€μ -> 1111
- Window Service
- Window Service Name : MySQL
- Start the MySQL Server at System Startup νλͺ© μ²΄ν¬ (OS λΆν
ν μλμΌλ‘ MySQLμ΄ μ¬μμνλλ‘)
- MySQL Workbench μμ μ μ ν
μ€νΈ
1-2. cmd μ°½μμ μ μ
- μ¬μ μ νκ²½ λ³μ μ€μ νμ
- μμ€ν
λ³μ >
Path
: C:\Program Files\MySQL\MySQL Server 8.0\bin
C:\Users\ynjch> mysql -u root --port 3306 -p
Enter password:
2. MySQL Workbench
2-1. Public key retrieval is not allowed μ€λ₯
- Mysql 8.0 λ²μ μ΄λΌλ©΄ μλ μ΅μ
μ νμΈν΄μΌ ν¨
- useSSL: DBμ SSLλ‘ μ°κ²°
- allowPublicKeyRetrieval: μλ²μμ RSA 곡κ°ν€λ₯Ό κ²μνκ±°λ κ°μ ΈμμΌ νλμ§
- URL μ μλ μ€μ μ ν΄μ£Όμ§ μμΌλ©΄ μλ¬κ° λ°μ
jdbc:mysql://localhost:3306/[DBλͺ
]?useSSL=false&allowPublicKeyRetrieval=true
2-2. MariaDB κ° MySQL Workbench μμ Export λμ§ μμ λ
- C:\Program Files\MariaDB 10.4\bin\mysqldump.exe μλ¬ λ°μ
- MariaDB μ€μΉ ν C:\Program Files\MariaDB 10.4\bin\mysqldump.exe νμΌ νμΈ
- Workbench > Edit > Preferences > Administration > Path to mysqldump Tool μ ν΄λΉ exe νμΌ μ€μ
- Export μ μ μ€νλ¨
2-3. MariaDB κ° MySQL Workbench μμ Import λμ§ μμ λ
- Operation failed with exitcode 1 / ERROR 1049 (42000): Unknown database
- μ€ν€λ§ μμ±μ ν΄μΌ ν¨
CREATE DATABASE [μ€ν€λ§ μ΄λ¦];
3. μμ±
3-1. λ°μ΄ν°λ² μ΄μ€ μμ±
mysql> CREATE DATABASE ynjch;
Query OK, 1 row affected (0.00 sec)
3-2. μ¬μ©μ μμ±
mysql> CREATE USER 'ynjch'@'%' IDENTIFIED BY 'ynjch';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL PRIVILEGES ON ynjch.* TO 'ynjch'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
# μλμ κ°μ΄ λ‘κ·ΈμΈνμ¬ μ±κ³΅ μ¬λΆ νμΈ
C:\Users\YNJCH>mysql -u ynjch -p
Enter password: *****
9. λ¬Έμμ΄ μ²λ¦¬
9-1. Text Length
- MySQL μ varchar(n) νμ
: MySQL 4.1 μ΄μ μλ n λ°μ΄νΈλ₯Ό, 4.1 μ΄νμλ λ¬Έμ μλ₯Ό λνλ
- varcher(30) : ascii λ¬Έμ, νκΈ μκ΄ μμ΄ 30μ λ§νΌ μ
λ ₯ κ°λ₯
9-1-1. λ¬Έμ μΈμ½λ© λ°©μ
πΆ euc-kr
- euc-kr λλ ksc5601
- ascii μ½λ + νκΈ
- μλ¬Έ/μ«μ/κΈ°νΈλ 1λ°μ΄νΈ, νκΈκ³Ό νμλ 2λ°μ΄νΈ
- μΉνμ΄μ§ μμ±μ μ¬μ© κ°λ₯
- νΉμν μΈκ΅μ΄ λ¬Έμλ μΌλ³Έμ/μ€κ΅μ νμλ νν λΆκ°
πΆ unicode
- λͺ¨λ κΈμλ₯Ό 2λ°μ΄νΈλ‘ νν
- μ μΈκ³ λͺ¨λ κΈμλ€μ νκΊΌλ²μ νν κ°λ₯
- μΉνμ΄μ§ μμ±μ μ¬μ© λΆκ°
πΆ utf-8
- μλ¬Έ/μ«μ/κΈ°νΈλ 1λ°μ΄νΈ, νκΈκ³Ό νμ λ±μ 3λ°μ΄νΈ
- μ μΈκ³ λͺ¨λ κΈμλ€μ νκΊΌλ²μ νν κ°λ₯
- μΉνμ΄μ§ μμ±μ μ¬μ© κ°λ₯
9-1-2. λ¬Έμ ν¬κΈ° κ³μ°
- charater_length(char_length) : λ¬Έμμλ₯Ό κ³μ°νλ μ°μ°
- octet_length : λ°μ΄νΈ μλ₯Ό κ³μ°νλ μ°μ°
- μΈμ½λ© λ°©μμ μ£Όμνμ¬ μ¬μ©ν΄μΌ ν¨
- MySQL 4.1 μ΄νλ‘λ
char_length()
μ¬μ©
10. κΈ°ν
10-1. MySQL μ scv νμΌλ‘ λ°μ΄ν° μ½μ
νκΈ°
LOAD DATA INFILE 'C:/ynjch/01_DB.csv' INTO TABLE [ν
μ΄λΈλͺ
] FIELDS TERMINATED BY ',';
- MySQL 5.1.17 μ΄νλΆν° 보μμ μν΄ νμΌ μ
/μΆλ ₯ μ μ© κ²½λ‘λ₯Ό μ§μ ν μ μμ
- μλ²μ secure-file-priv κ°μ ν΅ν΄ μ€μ κ°λ₯ (μ΄κ³³μ μ€μ λ κ²½λ‘ μ΄μΈμλ νμ
μ
μΆλ ₯μ΄ λΆκ°λ₯)
- λ§μ½ κ·Έ λ°μ κ²½λ‘λ‘ μ
μΆλ ₯μ μλνκ² λλ κ²½μ° λ€μκ³Ό κ°μ μ€λ₯κ° λ°μν¨
- Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 0.016 sec
SHOW VARIABLES LIKE 'secure_file%';
- μ
μΆλ ₯ κ²½λ‘ νμΈ ν ν΄λΉ κ²½λ‘λ‘ μ€μ ν μ€νν΄μΌ ν¨
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/01_DB.csv' INTO TABLE [ν
μ΄λΈλͺ
] FIELDS TERMINATED BY ',';
10-2. MySQL μ
μΆλ ₯ κ²½λ‘ λ³κ²½νκΈ°
- MySQL μ€μ νμΌμΈ my.ini νμΌ μ ν΅ν΄ μμ ν μ μμ
- C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
- ν΄λΉ νμΌμ μ΄μ΄ secure-file μ΄λΌλ ν€μλλ‘ κ²μ
- λ€μκ³Ό κ°μ λΆλΆμ΄ λνλλ©΄ μνλ κ²½λ‘λ‘ λ³κ²½ κ°λ₯ (λ§μ½ μ΅μ
μ μ¬λ¬ λ² μ°λ κ²½μ° κ°μ₯ λ§μ§λ§μ κ²½λ‘λ§ μ μ©λ¨)
# Secure File Priv.
secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"
- my.ini νμΌμ μ μ₯νκ³ MySQL μλ²(μλΉμ€)λ₯Ό μ¬μμ
- cmdλ₯Ό κ΄λ¦¬μ λͺ¨λλ‘ μ΄κ³ λ€μμ λͺ
λ Ήμ΄λ₯Ό ν΅ν΄ μ¬μμ κ°λ₯
net stop MySQL
net start MySQL
10-3. MySQL SELECT 쿼리 μ€ν μμ
- FROM > ON > JOIN > WHERE > GROUP BY > CUBE | ROLLUP > HAVING > SELECT > DISTINCT > ORDER BY