λ°±μλ μ§μ μ€ λΆμ‘±νλ€κ³ μ¬κ²¨μ§λ DB λ₯Ό λ νμ΅νκΈ° μν΄ Real MySQL μμ μ μ½κΈ° μμνλ€. μμΌλ‘ μ¬λ¬ μ°¨λ‘μ κ±Έμ³ μ± μ λ΄μ©μ μ λ¦¬ν΄ λκ°κ³ μ νλ€.
μ΄λ² κΈμμλ MySQL μ€μΉ μ΄ν μλ²λ₯Ό μμνλ λ¨κ³μμ μμλμ΄μΌ νλ λͺ κ°μ§ λͺ λ Ήμ΄μ κ°λ μ μμ½ν΄λ³Έλ€.
β¨ μλ² μ°κ²° λ°©λ²
MySQL μλ²μ μ μνλ λ°©λ²μ ν°λ―Έλμ mysql λͺ λ Ήμ΄λ₯Ό μ€ννλ κ²μΈλ°, μ΄ λ λͺ λ Ήμ΄μ μΈλΆ λ΄μ©μ΄ μΈ κ°μ§λ‘ λλκ² λλ€.
첫 λ²μ§Έ λ°©λ²μ MySQL μμΌ νμΌμ μ΄μ©ν΄ μ μνλ κ²μ΄λ€.
mysql -u root -p --host=localhost --socket=/tmp/mysql.sock
π‘ μμΌμ΄λ, νλ μ΄μμ λ¨λ§μ μμΉν λ κ°μ λ€λ₯Έ νλ‘μΈμ€κ° ν΅μ ν μ μλλ‘ νλ μΌμ’ μ μ’ μ°©μ μ΄λ€. 리λ μ€μμλ λͺ¨λ κ²μ΄ νμΌ λ¨μλ‘ μ²λ¦¬λλλ°, νλ‘μΈμ€λ νμΌλ€μ μ κ·Όν λ fd λ₯Ό μ¬μ©νκ² λλ€.
λ λ²μ§Έ λ°©λ²μ TCP/IP λ₯Ό ν΅ν΄ λ‘컬νΈμ€νΈλ‘ μ μνλ κ²μΈλ°, μ격 νΈμ€νΈμ μ μνλ κ²½μ° λ°λμ μ΄ λ°©λ²μ μ¬μ©ν΄μΌ νλ€. μ΄ λ°©λ²μ μΈ λ νΈμ€νΈλ‘ localhost λ₯Ό λͺ μνλ κ²κ³Ό 127.0.0.1μ λͺ μνλ κ²μ μ‘°κΈ λ€λ₯΄λ€. μ μμ κ²½μ° μμ λ§νλ μμΌ νμΌμ ν΅ν΄ μλ²μ μ μνκ² λλ©°, IPC (Inter Process Communication) μ ν΅ν΄ ν΅μ νλ€. νμ§λ§ νμμ κ²½μ° TCP/IP ν΅μ λ°©μμ μ¬μ©νλ€.
mysql -u root -p --host=127.0.0.1 --port=3306
μΈ λ²μ§Έ λ°©λ²μ νΈμ€νΈ μ£Όμμ ν¬νΈλ₯Ό λͺ μνμ§ μμ§λ§ κΈ°λ³Έκ°μΌλ‘ νΈμ€νΈλ localhost κ° λμ΄ μμΌ νμΌμ μ¬μ©νλ©°, μμΌ νμΌμ μμΉλ MySQL μλ²μ μ€μ νμΌμμ μ½λλ€.
mysql -u root -p
β¨ μλ² μ κ·Έλ μ΄λ
MySQL μλ²λ₯Ό μ κ·Έλ μ΄λνλ λ°©λ²μ λ κ°μ§μ΄λ€.
1) In-place upgrade: μλ²μ λ°μ΄ν° νμΌμ κ·Έλλ‘ λκ³ μ κ·Έλ μ΄λ
2) Logical upgrade: μλ²μ λ°μ΄ν°λ₯Ό SQL λ¬Έμ΄λ νμΌλ‘ λ€νν ν, μλ‘ μ κ·Έλ μ΄λ λ λ²μ μ MySQL μλ²μμ λ€νλ λ°μ΄ν°λ₯Ό μ μ¬
μ κ·Έλ μ΄λ μ κ³ λ €ν΄μΌ ν μ λν λ κ°μ§μ΄λ€.
1) λ§μ΄λ λ²μ κ° μ κ·Έλ μ΄λ (ex: 8.0.16 -> 8.0.21): λ°μ΄ν° νμΌ λ³κ²½ μμ΄ μ§ν
2) λ©μ΄μ λ²μ κ° μ κ·Έλ μ΄λ (ex: 5.6 -> 5.7): λ λ¨κ³ μ΄μ μ κ·Έλ μ΄λν κ²½μ° (ex. 5.5 -> 5.7) λ°μ΄ν° νμΌ λ³κ²½ νμ, μ΄λ mysqldump νλ‘κ·Έλ¨μΌλ‘ λ°μ΄ν° λ°±μ ν μλ‘ κ΅¬μΆλ μλ²μ λ°μ΄ν° μ μ¬ κ°λ₯
βin-place upgrade λ₯Ό νλ κ²½μ°, λ©μ΄μ λ²μ μ κ·Έλ μ΄λκ° νΉμ λ§μ΄λ λ²μ μμλ§ κ°λ₯ν κ²½μ°κ° μκ±°λ μ΄μ λ©μ΄μ λ²μ μ μ΅μ λ§μ΄λ λ²μ μμλ§ μ§μλ μ μλ€. λ°λΌμ MySQL λ¬Έμλ₯Ό μ½μ΄λ³΄λ κ²μ΄ μ€μνλ€.
π‘ MySQL λ²μ νμΈμ mysql --version λͺ λ Ήμ΄λ₯Ό ν΅ν΄ ν μ μλ€.
π‘ MySQL λ²μ νμΈμ mysql --version λͺ λ Ήμ΄λ₯Ό ν΅ν΄ ν μ μλ€.
π‘ MySQL 8.0 μ£Όμ λ³κ²½μ¬ν: 8.0 λ²μ μΌλ‘ μ κ·Έλ μ΄λ μ λ³κ²½λλ λͺ κ°μ§ λΆλΆμ λ€μκ³Ό κ°λ€.
- μ¬μ©μ μΈμ¦ λ°©μ (Native Authentication -> Caching SHA-2 Authentication)
- μΈλν€ μ΄λ¦μ κΈΈμ΄ (64κΈμ μ ν)
- λ°μ΄ν° λμ λ리 μ 보 λ³΄κ΄ (FRM νμ₯μλ₯Ό κ°μ§ νμΌ -> InnoDB ν μ΄λΈ)
β¨ μλ² μ€μ (conf)
MySQL μλ²λ νλμ μ€μ νμΌμ μ¬μ©νλ©°, μ§μ λ μ¬λ¬ κ°μ λλ ν 리λ₯Ό νμνλ©° μ²μ λ°κ²¬λ νμΌμ μ¬μ©νλ€.
π‘λ§₯μ μ€μ νμΌμ my.conf λ‘ λμ΄ μμΌλ©° mysql --verbose --help | grep my.cnf λͺ λ Ήμ΄λ₯Ό ν΅ν΄ κ²½λ‘λ₯Ό νμΈν μ μλ€.
π‘리λ μ€μ mysqld --verbose --help λͺ λ Ήμ΄λ₯Ό ν΅ν΄μλ κ²½λ‘λ₯Ό νμΈν μ μλ€.
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
μ΄λ κ² 4κ°μ λ€λ₯Έ κ²½λ‘κ° λμ€λ©°, μλ²λ 첫 λ²μ§Έ κ²½λ‘λΆν° μμλλ‘ μ½μ΄λκ°λ€κ° my.cnf νμΌμ΄ μ‘΄μ¬νλ©΄ μ½λλ€. μ€μ νμΌμ μ΄λ©΄ μ΄λ° λ΄μ©μ΄ μλ€:
# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1
λκ΄νΈ μμ μλ λ΄μ©μ μ€μ κ·Έλ£Ή μ΄λ¦μ΄λ©°, νλ‘κ·Έλ¨μ΄ μ°Έμ‘°νλ μμμ΄κΈ°λ νλ€. κ°λ Ή, mysqld νλ‘κ·Έλ¨μ mysqld μΉμ μ μ°Έμ‘°ν κ²μ΄λ©°, mysqldump νλ‘κ·Έλ¨μ [mysqldump] μΉμ μ μ°Έμ‘°νλ€. μ€μ νμΌμ κ·Έλ£Ήμ κ°μ νμΌμ 곡μ νκΈ°λ νμ§λ§, μλ‘ λ¬΄κ΄νκ² μ μ©λλ€.
μ€μ νμΌμλ μμ€ν λ³μλ₯Ό λ³κ²½ν μ μλ λ΄μ©μ λ΄μ μ μμΌλ©°, λ°μλ μμ€ν λ³μλ MySQL μλ²μμ SHOW GLOBAL VARIABLES λͺ λ Ήμ΄λ₯Ό μ λ ₯νμ¬ νμΈν μ μλ€. κ° μμ€ν λ³μλ 5κ°μ§ μμ±μ κ°λλ€.
1) Cmd-Line : MySQL μλ²μ λͺ λ ΉμΌλ‘ μ€μ λ μ μλμ§ μ¬λΆ
2) Option File : cnf νμΌλ‘ μ μ΄ν μ μλμ§ μ¬λΆ
3) System Var : μμ€ν λ³μμΈμ§ μ¬λΆ
4) Var Scope : μ μ© λ²μ
5) Dynamic : mySQL μλ²κ° κΈ°λ μ€μΈ μνμμ λ³κ²½ κ°λ₯νμ§
π‘ μμ± μ€ 4λ²μΈ Var Scopeμ λ°λΌ μμ€ν λ³μλ₯Ό κΈλ‘λ²/μΈμ λ³μλ‘ λλ μ μλ€.
1) κΈλ‘λ² λ³μ : MySQL μλ² μ 체λ₯Ό λμμΌλ‘ νλ λ³μ
2) μΈμ λ³μ : μλ²μ ν΄λΌμ΄μΈνΈμ 컀λ₯μ μ λμμΌλ‘ νλ λ³μ
βμΌλ°μ μΌλ‘ μμ€ν λ³μ μ€ μΈμ μ μ μ©λλ λ³μμ κ²½μ° κΈλ‘λ²μλ μ μ©μ΄ λλλ°, μ΄λ Var Scope λ 'Both' λ‘ νκΈ°νλ€.
βλ³΄ν΅ 'Both' μΈ λ³μλ μ€μ νμΌμ ν΅ν΄ κΈ°λ³Έκ°μ μ€μ ν μ μμΌλ, μΈμ λ³μλ κ·Έλ΄ μ μκ³ μΈμ μ΄ λ§λ€μ΄μ§λ μκ° ν΄λΉ 컀λ₯μ μλ§ μ ν¨ν λ³μκ° λλ€.
π‘ μμ± μ€ 5λ²μΈ Dynamicμ λ°λΌ μμ€ν λ³μλ₯Ό μ μ /λμ λ³μλ‘ λλ μ μλ€.
1) μ μ λ³μ : mySQL μλ²κ° κΈ°λ μ€μΈ μνμμ λ³κ²½ λΆκ°λ₯
2) λμ λ³μ : mySQL μλ²κ° κΈ°λ μ€μΈ μνμμ λ³κ²½ κ°λ₯
μμ€ν λ³μλ μ€μ νμΌμ ν΅ν΄μ λλ μμ€ν λ³μλ₯Ό μ§μ 건λλ € (SET GLOBAL...) λ³κ²½ν μ μλλ°, μ μμ κ²½μ° μλ²κ° μ¬μμνκΈ° μ μλ μ μ©λμ§ μλλ€ (μ μ λ³μ) . νμλ₯Ό ν΅ν κ²½μ°μλ μ€μ νμΌμ λ°μνλ κ²μ μλκΈ° λλ¬Έμ νμ¬ κΈ°λ μ€μΈ μΈμ€ν΄μ€μμλ§ μ ν¨νλ€. λ°λΌμ MySQL 8.0 λΆν°λ SET PERSIST λͺ λ Ήμ΄λ₯Ό ν΅ν΄ μ€ν μ€μΈ μμ€ν λ³μλ₯Ό λ³κ²½νκ³ λμμ my.cnf μ΄ μλ λ³λμ μ€μ νμΌ (mysqld-auto.cnf) μλ κΈ°λ‘ν μ μκ² λμ΄ μλ€. μ΄ν MySQL μλ²κ° μ¬μμν λ λ κ°μ μ€μ νμΌμ λͺ¨λ μ°Έμ‘°ν΄μ λ³κ²½μ¬νμ μ μ©νλ€.
π‘ SET PERSIST λͺ λ Ήμ΄λ μΈμ λ³μμλ μ μ©λμ§ μλλ€. (μΈμ λ³μμ μ μ©ν κ²½μ° μλμΌλ‘ GLOBAL λ‘ μΈμν¨)
π‘ SET PERSIST λͺ λ Ήμ΄λ₯Ό ν΅ν΄ mysqld-auto.cnf μ λ³κ²½μ¬νμ μ μ΄λκΈ°λ§ νκ³ λΉμ₯ λ°μνκ³ μΆμ§λ μμΌλ©΄ SET PERSIST_ONLY λ₯Ό μ¬μ©νλ€. μ μ λ³μμ κ°μ μꡬμ μΌλ‘ λ°κΎΈκ³ μ ν λ μ¬μ©ν μ μλ€.
π‘ SET PERSIST λ‘ μΆκ°ν μ€μ νμΌμ λ΄μ©μ μμ νκ³ μΆμ κ²½μ° μ§μ μμ νλ κ²λ³΄λ€ μ€λ₯ λ°©μ§λ₯Ό μν΄ RESET PERSIST λͺ λ Ήμ΄λ₯Ό μ¬μ©νλ κ²μ΄ λ μ©μ΄νλ€.
β¨ μ°Έκ³ μλ£
- Real MySQL (μν€λΆμ€)
'π» DEV > SQL' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[SQL] MYSQL κΈ°λ³Έ λ¬Έλ² (0) | 2021.07.17 |
---|
λκΈ