μ΄μ ν¬μ€ν°μμ apache μμ€ μ€μΉλ₯Ό λ€λ€λ€λ©΄ μ΄λ²μ MySQL μμ€ μ€μΉ λ₯Ό λ€λ€ λ³΄κ² μ΅λλ€.
[apache μμ€μ€μΉ: 10000sukk.tistory.com/19]
[μ°Έκ³ μΆμ²: salix97.tistory.com/141]
[Mysql 곡μ μ¬μ΄νΈ λ€μ΄λ‘λ: dev.mysql.com/downloads/mysql/]
μμ κ·Έλ¦Όμμ μνλ tar νμΌμ λ°μ κ²μ΄λ€. Download λ²νΌμ λλ₯΄λ©΄
μμ κ°μ νμ΄μ§κ° λ¨λλ° No thanks λ₯Ό λλ¬μ λ€μ΄λ‘λλ₯Ό μ€ν μν¬ μ μλ€.
νμ§λ§ λλ wget μΌλ‘ λ°μ μμ μ΄λ λ§ν¬ μ£Όμλ§ μμλ΄λ³΄μ.
μ΄μ μμΆ νμΌ μ£Όμλ₯Ό μμμΌλ μ 체μ μΈ μμ€μ€μΉ μμλ Mysql ννμ΄μ§μ μμΈνκ² λμ μλ€.
[dev.mysql.com/doc/refman/8.0/en/installing-source-distribution.html]
1. μ μꡬμ¬νμΌλ‘ μμ‘΄μ± ν¨ν€μ§λ₯Ό λ€μ΄ λ°λλ€.
곡μ ννμ΄μ§μλ λ prerequsite λν μ λμ μλ€. μ΄λ Mysql μ€μΉμμ νμν κ²λ€μ λνλΈ λ¬Έμμ΄λ€.
[dev.mysql.com/doc/refman/8.0/en/source-installation-prerequisites.html]
μ΄ λ΄μ©μ 보면
<μ μꡬ μ¬ν> - μμ‘΄μ± ν¨ν€μ§
1) cmake
2) GNU make (gmake) - μ΄λ 리λ μ€μμ makeμ μμ ν λμΌνκ² κΈ°λ₯νκΈ°μ gmake λμ μ make λ₯Ό μ°λ©΄ λλ€.
3) gcc 5.3 λ²μ μ΄μ
4) C++ or C99 compiler
5) SSL library
6) Boost C++ library
7) ncurses library
8) Pcre
λ±μ΄ λμ μλ€.
μμμ 1), 5), 6), 7) λ§ λ€μ΄ λ°μ 보κ²λ€.
λͺ λ Ήμ΄λ
sudo apt-get install cmake
sudo apt-get install libssl-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libncurses5-dev libncursesw5-dev λ‘ λ€μ΄μ λ°μ μ€λ€.
2. mysql tar νμΌμ λ€μ΄ λ°λλ€. κ·Έλ¦¬κ³ μ€μ -> make -> make install
μμμ tar νμΌ μ£Όμλ₯Ό μμ λλ€. μ΄λ₯Ό ν΅ν΄μ λ€μ΄λ‘λ λ°μ
/usr/local/mysql λλ ν 리λ₯Ό λ§λ€μ΄μ μ¬κΈ°μ μ§ν νκ²λ€.
ls λ₯Ό ν΅ν΄μ λλ ν 리 μμ μ΄ν΄λ³΄λ configure νμΌμ΄ μλ€. νκ²½μ€μ μ κ·ΈλΌ μ΄λ»κ² νλ κ²μΈκ°?
5.5.9 λ²μ λΆν°λ cmake λ₯Ό ν΅ν΄μ μ€μΉλ₯Ό μ§ννλ€.
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql : μ€μΉ λλ ν 리 μ€μ
-DMYSQL_DATADIR=/usr/local/mysql/data : MySQL data directory μ€μ
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock : Unix socket file κ²½λ‘ μ€μ , μλ²κ° μμΌμ°κ²°μ listen ν λ μ¬μ©
-DMYSQL_TCP_PORT=3306 : μλ²κ° TCP/IP μ°κ²°μ μ²μ·¨νλ ν¬νΈ λ²νΈ. default λ 3306
-DMYSQL_USER=mysql
-DDEFAULT_CHARSET=utf8 : μλ² λ¬Έμ μΈνΈ. MySQL μ κΈ°λ³Έμ μΌλ‘ utf8mb4 λ¬ΈμμΈνΈλ₯Ό μ¬μ©νλ€.
-DDEFAULT_COLLATION=utf8_general_ci : μλ² λ°μ΄ν° μ λ ¬
-DSYSCONFDIR=/etc : my.cnf μ΅μ
νμΌμ λλ ν 리 μ€μ
-DWITH_EXTRA_CHARSETS=all : μΆκ°λ‘ μ§μν μΈμ΄ μ€μ
μ΄ μλλ‘λ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μμ±, μ½κΈ°, μ
λ°μ΄νΈνλλ° μ¬μ©νλ μννΈμ¨μ΄ λͺ¨λ.
-DWITH_INNOBASE_STORAGE_ENGINE=1 :
-DWITH_MYISAM_STORAGE_ENGINE=1 :
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_MEMORY_STORAGE_ENGINE=1
-DWITH_READLINE=1 : readline μ§μμ¬λΆ
-DWITH_BOOST=/usr/local/mysql/boost : boost μμΉ κ²½λ‘
-DENABLED_LOCAL_INFILE=1 : SQL νμΌμ λ‘λνκ² ν΄μ£Όλ κΈ°λ₯μ μΌ λ€. (νμ±ν1, λΉνμ±ν 0 λλ λͺ
λ Ήμ μ£Όμ§ μμ)
-DENABLE_DOWNLOADS=1
-DDOWNLOAD_BOOST=1
μμ κ°μ΄ μ€ννλ©΄
μ€ν¨..
μ¦, μμ€ λλ ν 리 λ΄μ build λ₯Ό μν λλ ν 리λ₯Ό μΆκ° μμ±νκ³
(μ΅μ
μμ μμ±νλ λλ ν 리('μ무거λ') – “λλ ν 리 μ΄λ¦μ μμ λ‘κ² κ°λ₯”)
κ·Έ νλ¨μμ μμ
μ μ§ννλλ‘ “(κ°μ )κΆκ³ ” λμ΄ λ²λ Έλ€.
[ν΄κ²°μ± μΆμ²: jirak.net/wp/cmake-error-for-mysql-8-0-15-please-do-not-build-in-source/]
cd mysql-8.0.19
rm -f CMakeCache.txt
mkdir 'μ무μ΄λ¦'
cd 'μ무μ΄λ¦'
cmake \
.. \
-DCMAKE_INSTALL_PREFIX…. (μ΄ν μλ΅)
(μ°Έκ³ ) rm -f CMakeCache.txt νλ μ΄μ - CMakeList μ μν΄μ νλ² μΊμκ° μ μλλ©΄ μ΄λ₯Ό μ΄κΈ°ν μν¬ μ μλ λ°©λ²μ μΊμ νμΌμ μ§μ°κ±°λ κ°μ λ‘ κ°μ λ°κΎΈλ λ°©λ² λ°μ μλ€.
λλ mymysql μ λ§λ€μ΄μ μ§ννμλ€. μ΄μ μ μ³£λ λͺ λ Ήμ΄ λ€μ .. λ₯Ό λΆνλ©΄ λΆλͺ¨ λλ ν 리μ cmake κ° μ€νλλ€.
μ΄νμ make μ make install μ μ§νμμΌ μ€λ€. μ€λκ±Έλ¦°λ€.
3.MySQL λ°μ΄ν° λ² μ΄μ€ μ΄κΈ°ν
[곡μ λ¬Έμ: dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html]
1) MySQL μ μλΉμ€ ν κ³μ μ μμ±ν΄ μ£Όμ(보μμ μν΄μ)
groupadd mysql
useradd -g mysql mysql λ‘ μ§ννλ€.
groupadd mysql μ mysql μ΄λΌλ κ·Έλ£Ήμ λ§λ€μ΄μ κ΄λ¦¬νκ² λ€λ λ»μ΄λ€.
useradd λ μλ‘μ΄ μ¬μ©μλ₯Ό μΆκ°νκ² λ€λ λ»μ΄λ€. -r μ΅μ
μ system accountλ₯Ό λ§λ€κ² λ€λ μ리.
-g μ΅μ
μ μ΄λ€ κ·Έλ£Ήμ λ£μ΄λκ³ κ΄λ¦¬ν κ²μΈμ§, -s μ΅μ
μ μ μ μ λ‘κ·ΈμΈ shell μ μ§μ νλ κ².
λ§μ§λ§μ κΈ°μ ν mysql μ΄λΌλ μ΄λ¦μΌλ‘ μλ‘μ΄ μ¬μ©μλ₯Ό μΆκ°νκ² λ€λ λ»μ΄λ€.
mysql κ·Έλ£Ήμ΄ λ§λ€μ΄ μ§κ²μ νμΈ κ°λ₯νλ€.
cat /etc/passwd λ‘ μ μ μ 보 λν νμΈ κ°λ₯νλ€.
/usr/local/mysql λλ ν λ¦¬λ‘ μ΄λνλ€. μ΄λ make λΉμμ μμ± cmake μ€μ μΌλ‘ μΈν΄ μμ±λ«μ κ²μ΄λ€. λλ μ΄λ―Έ μμ±λ μνμλ€.
κ·Έλ¦¬κ³ mysql-files λ₯Ό μμ±νμ¬ μ€λ€.
κ·Έλ¦¬κ³ chownμΌλ‘ κ·Έλ£Ήμ μμ κΆμλ₯Ό λ°κΏμ€λ€.
(μ°Έκ³ )
chown λͺ
λ Ήμ΄λ change own μ μΆμ½μ΄λ‘, νμΌμ μμ κΆμλ₯Ό λ³κ²½νλ λͺ
λ Ήμ΄μ΄λ€
chown {μμ κΆμ}:{κ·Έλ£Ήμλ³μ} {μμ κΆμ λ³κ²½νκ³ μΆμ νμΌλͺ
} ννλ‘ λͺ
λ Ήμ΄λ₯Ό μ€ννλ€.
μ¦, mysql-files λΌλ λλ ν 리μ μμ κΆμ mysql μ΄λΌλ κ·Έλ£Ήμ mysql μ΄λΌλ μ μ μκ² ν λΉνκ² λ€λ λ».
-R μ΅μ
: νμ λλ ν 리κΉμ§ λͺ¨λ μμ κΆμ ν λΉ.
ls -al λͺ
λ Ήμ΄λ‘ μμ κΆμ νμΈν μ μλ€.
chmod λ‘ λλ ν 리μ μ¬μ©κΆνμ λ³κ²½ν΄μ€λ€. (μ°Έκ³ )chmod λͺ
λ Ήμ΄λ change mode μ μΆμ½μ΄λ‘, λμ νμΌκ³Ό λλ ν 리μ μ¬μ©κΆνμ λ³κ²½ν λ μ¬μ©νλ€.
chmod [μ΅μ
] [λͺ¨λ] [νμΌ] ννλ‘ λͺ
λ Ήμ΄λ₯Ό μ€ννλ€. 750μ΄λΌλ λ»μ
- μμ μκΆν : μ½κΈ°, μ°κΈ°, μ€ν
- κ·Έλ£ΉκΆν : μ½κΈ°, μ€ν
- μ 체κΆν : μμ
λΌλ μλ―Έλ‘ ν΄μλλ€.
ls -l λͺ λ ΉμΌλ‘ λ°λκ²μ νμΈ κ°λ₯νλ€.
μ΄μ κΈ°λ³Έ λ°μ΄ν° λ² μ΄μ€λ₯Ό μμ±νμ.
μ΄λ°μμΌλ‘ λ§μ§λ§μ μμ λΉλ°λ²νΈλ₯Ό μ£Όλ©΄ μ μ°κ²° λ κ²μ΄λ€.
(μ νμ¬ν)[λ§μ½ 보μ μ°κ²°μ μνλ€λ©΄ : medium.com/@js230023/리λ μ€-mysql-μ€μ -1701ba44da9c]
- mysql μλ² λ°±κ·ΈλΌμ΄λλ‘ μ€ν
: mysqld_safe --user=mysql &
ps -ef | grep mysqld λͺ λ Ήμ΄λ‘ MySQL μ΄ μ€νλκ³ μλμ§ νμΈ
μμμ μ»μ μμ λΉλ°λ²νΈλ‘ mysql μλ²λ‘ μ μ κ°λ₯νλ€. λκ°κΈ°λ exit μ λ ₯
[root μνΈμ λΉλ°λ²νΈλ₯Ό μ΄κΈ°ν νλ λ°©λ²:
μμ λͺ λ ΉμΌλ‘ mysql μλ²λ₯Ό μ’ λ£ κ°λ₯νλ€.
4. μλΉμ€ λ±λ‘
μλΉμ€λ₯Ό λ±λ‘νμ¬ λμΌλ©΄ μλΉμ€κ° μ€νλ λ μλμΌλ‘ mysqlμ΄ μ€ν λλ€.
μλ₯Ό μ€ν
vi λ‘ μ΄λ₯Ό μ°λ€.
'=' λ€μ λΉμ΄ μλ 곡백μ μλ μ£Όμλ₯Ό μΆκ°νμ¬ μ€λ€.
5. λ§λ¬΄λ¦¬
MySQL μ μ΅μ νμΌμ νλ‘κ·Έλ¨μ μ€νν λλ§λ€ λͺ λ Ήμ€μ μ΅μ μ μ λ ₯ν νμκ° μλλ‘ μΌλ°μ μΌλ‘ μ¬μ©λλ μ΅μ μ μ§μ νλ νΈλ¦¬ν λ°©λ²μ΄λ€. νλ‘κ·Έλ¨μ΄ μ΅μ νμΌμ μ½λμ§ μ¬λΆλ₯Ό νμΈνκΈ° μν΄μλ mysqld --verbose --help λ₯Ό μ¬μ©ν μ μλ€. μ΅μ νμΌμ my.cnf λΌλ μ΄λ¦μ ν μ€νΈνμΌλ‘ λμ΄μλ€. cnf λ config μ μ€μλ§μ΄λ€. 리λ μ€ μ΄μ체μ μμ my.cnf νμΌμ default λ‘ /etc/my.cnf κ²½λ‘μμ μ½μ΄μ¨λ€. CMake λ‘ MySQL μ λΉλν λ, SYSCONFDIR λ₯Ό μ€μ ν΄μ£Όμλ€λ©΄ ν΄λΉ κ²½λ‘μμ my.cnf νμΌμ μ½μ΄μ¨λ€.
sudo /etc/my.cnf λ₯Ό μ΄μ΄μ μ΄λ₯Ό μΆκ°νλ€.
[mysqld]
bind-address=0.0.0.0
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
μ΄μ service λͺ λ ΉμΌλ‘λ 컨νΈλ‘€ κ°λ₯νλ€
'Server > basic' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Mac μμ bitnami MAMP μ€μΉ (0) | 2020.10.04 |
---|---|
APM μμ€μ€μΉ(3) - PHP μμ€ μ€μΉ (0) | 2020.09.29 |
APM μμ€μ€μΉ(1) - Apache μμ€ μ€μΉ (0) | 2020.09.27 |
μλ²λ 무μμΈκ°? (0) | 2020.09.27 |
μνμ½λ© OAuth μ 리 (0) | 2020.09.19 |