ubuntu์ MySql ์์ค ์ค์น
ubuntu-20.04์ MySql๋ฅผ ์์ค ์ค์นํด๋ณด์.
ubuntu APM ์์ค ์ค์น
์ด ํฌ์คํธ๋ ubuntu-20.04์ APM(Apache, PHP, MySql)์ ์์ค ์ค์นํ๋ ๊ณผ์ ์ด๋ฉฐ, ์๋์ ์ธ ๊ฐ์ง ์์์ ํฌ์คํ
์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
[Linux] ubuntu์ Apache ์์ค ์ค์น
[Linux] ubuntu์ MySql ์์ค ์ค์น
[Linux] ubuntu์ php ์์ค ์ค์น
์์ ํ๊ฒฝ
macOS์์ virtualBox๋ก ๊ฐ์๋จธ์ ubunto๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์์ ์์ค ์ค์น๋ฅผ ์งํํ๋ค.
macOS : Big Sur 11.4
VirtualBox : 6.1.16
ubuntu : 20.04.2.0-desktop
๊ถํ ๋ถ์ฌ & ์ค์น ๊ฒฝ๋ก
์ค์น์ ํ์ํ ๊ถํ์ ๋ถ์ฌ๋ฐ๊ธฐ ์ํด ๋ค์์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ํจ์ค์๋๋ฅผ ์ ๋ ฅํ๋ค.
$ sudo su
์ปดํ์ผ ์ค์น๋ ๊ด๋ก์ /usr/local
์ ์ค์นํ๋ฏ๋ก ํด๋น ๊ฒฝ๋ก๋ก ์ด๋ํ๋ค.
$ cd /usr/local
๊ด๋ จ ํจํค์ง ์ค์น ๋ฐ apr, apr-util ์ค์น
๊ด๋ จ ํจํค์ง
$ apt-get update
$ apt-get install vim cmake gcc g++ libncurses5-dev libxml2-dev openssl libssl-dev curl libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libsasl2-dev autoconf libncurses5-dev
์ปดํ์ผ์ ํ์ํ ๊ด๋ จ ํจํค์ง๋ค์ ์ค์นํด์ค๋ค.
๋ช ๋ น์ด
cd
: ์์น ์ด๋ ๋ช ๋ น์ดcp
: ๋ณต์ฌ ๋ช ๋ น์ดwget
: ์ง์ ํ ์ฃผ์๋ก ๋ถํฐ ํ์ผ์ ๋ค์ด๋ฐ๋ ๋ช ๋ น์ดtar xvfz
: tar.gz ํ์์ ์์ถ์ ํ์ด์ฃผ๋ ๋ช ๋ น์ดmake
: ์์ค๋ฅผ ์ปดํ์ผํด์ฃผ๋ ๋ช ๋ น์ดmake install
: make๋ฅผ ํตํด ๋ง๋ค์ด์ง ์ค์น ํ์ผ์ ์ค์นํด์ฃผ๋ ๋ช ๋ น์ด
make -> make install ์ ์์๋ก ์์ค๋ก ๋ ํ๋ก๊ทธ๋จ ์ค์น ์งํ
Command 'make' not found
make
์ ๊ด๋ จ๋ ์ค์น๋ฅผ ํ์ง์๋๋ค๋ฉด Command 'make' not found
๋ผ๋ ๋ฉ์ธ์ง๊ฐ ๋์ค๊ธฐ ๋๋ฌธ์ ๋ค์์ ๋ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ค.
$ apt install make
MySql ๊ณ์ ๋ง๋ค๊ธฐ
groupadd mysql
useradd -g mysql -s /bin/bash -m mysql
MySql ๋ค์ด๋ก๋ & ์ปดํ์ผ ์ค์น
$ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz
$ tar xvf mysql-5.7.20.tar.gz
$ cd mysql-5.7.20
$ sudo cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_USER=mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql/boost
cmake๋ฅผ ํตํด ๋น๋๋ฅผ ํ๋ฉฐ, cmake๋ ์์ ๊ด๋ จ ํจํค์ง์์ ์ค์นํ์๋ค.
$ make
$ make install
make ์ ๋ ฅ ํ์ ์๋นํ ๊ธด ์๊ฐ์ด ์๋ชจ๋๊ณ , ์์ ๊ฐ์ด ์๋ฃ๋๋ค.
make install
์ ์
๋ ฅํ๋ฉด ์์ ๊ฐ์ด ์ค์น๊ฐ ์๋ฃ๋๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๊ธฐํ & ๊ถํ ์์
$ cd /usr/local/mysql
$ echo "./bin/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data -v"
$ ./bin/mysql_install_db --no-defaults --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql -v
์์ ๋ช
๋ น์ด๋ค์ ์
๋ ฅํด ์ฃผ๋ฉด [NOTE]
๋ก ์์ํ๋ ๋ฉ์์ง๋ค๊ณผ ํจ๊ป ์ด๊ธฐํ๊ฐ ์๋ฃ๋๋ค.
$ chown -R mysql:mysql /usr/local/mysql
๊ถํ์ ์์ ํด ์ค๋ค.
ํ๊ฒฝ ์ค์
$ vim /usr/local/mysql/my.cnf
vi๋ณด๋ค vim์ด ํธํ๊ธฐ ๋๋ฌธ์ vim์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ด์ด์ฃผ์๋ค.
ํด๋น ํ์ผ์ ๋ค์์ ๋ด์ฉ์ ์ ๋ ฅ ํ ์ ์ฅํด ์ค๋ค.
[mysqld]
# port=3306
# basedir=/usr/local/mysql
# datadir=/usr/local/mysql/data
# pid-file=/usr/local/mysql/mysqld.pid
# log_error=/usr/local/mysql/mysql_error.log
# lc-messages-dir=/usr/local/mysql/share
init_connect=SET collation_connection = utf8_general_ci
init_connect=SET NAMES utf8
character-set-server=utf8
collation-server=utf8_general_ci
# table_cache=1024
max_connections=2048
max_user_connections=500
max_connect_errors=10000
wait_timeout=300
query_cache_type = 1
query_cache_size = 128M
query_cache_limit = 5M
slow_query_log
long_query_time=3
max_allowed_packet=16M
sort_buffer_size = 2M
# skip-innodb
skip-name-resolve
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
$ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
์๋น์ค mysqld ํ์ผ์ ๋ณต์ฌํด ์ค๋ค.
$ vim /etc/init.d/mysqld
mysqld๋ฅผ ์ด์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋๋ ํฐ๋ฆฌ๋ฅผ ์ ๋ ฅํ๊ณ ์ ์ฅํด ์ค๋ค.
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
mysqld ์๋น์ค ๋ฑ๋ก ๋ฐ ์คํ
$ update-rc.d mysqld defaults
$ service mysqld start
$ service mysqld status
$ sudo service mysqld stop
service mysqld status
์ ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด mysqld์ ์ํ๋ฅผ ๋ณผ ์ ์๋ค.
์ํธ ์ด๊ธฐํ
$ ./bin/mysqld_safe --skip-grant-tables &
์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅ ํ
./bin/mysql -u root -p
์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๋ฉด Enter password:
๋ฉ์์ง๊ฐ ๋์ค๊ณ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฑ๋กํด ์ฃผ๋ฉด mySql์ด ์ด๋ฆฐ๋ค.