โœ… ๊ณต์‹๋ฌธ์„œ

Install Redis from Source

 

โฌ‡๏ธ Redis ์„ค์น˜ ์ „์— ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• โฌ‡๏ธ

2023.01.08 - [์ธํ”„๋ผ/NHN Cloud] - NHN Cloud ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ


์ธ์Šคํ„ด์Šค ํ™˜๊ฒฝ

  • OS : CentOS 7.9
  • ์•„ํ‚คํ…์ณ: x86_64

์„ค์น˜ํ•  Redis ๋ฒ„์ „

  • redis 7.0.8 (the lastest stable)

 

1. ์„ค์น˜ ๊ณผ์ •

( 1 / 6 ) ์ธ์Šคํ„ด์Šค์— SSH ๋ฐฉ์‹์œผ๋กœ ์ ‘์†

ssh -i [ํ‚คํŽ˜์–ด์ด๋ฆ„.pem] centos@[ํ”Œ๋กœํŒ…IP]

 

( 2 / 6 ) wget ๋‹ค์šด๋กœ๋“œ

# ์ธํ„ฐ๋„ท์ด ๊ฐ€๋Šฅํ•œ ํ™˜๊ฒฝ์ผ ๊ฒฝ์šฐ
sudo yum install wget

# ์ธํ„ฐ๋„ท์ด ๋ถˆ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ
# ์„ค์น˜ํ•  ํŒŒ์ผ์„ ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•ด์„œ ์ง„ํ–‰

 

( 3 / 6 ) redis ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฒ„์ „ ์••์ถ•ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

# ์•ˆ์ •์ ์ธ ์ตœ์‹  ๋ฒ„์ „์— ๋Œ€ํ•œ ์†Œ์Šค ํŒŒ์ผ (๋ฒ„์ „ 7.0.8)
wget https://download.redis.io/redis-stable.tar.gz

 

( 4 / 6 ) ์••์ถ•ํ•ด์ œ

tar -xzvf redis-stable.tar.gz

 

( 5 / 6 ) make ์‹คํ–‰

make

๐Ÿ’ก make๋ž€?

๋”๋ณด๊ธฐ
  • Unix/Linux์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๋ช…๋ น์–ด
  • ํŒŒ์ผ๊ด€๋ฆฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์†Œํ”„ํŠธ์›จ์–ด
  • makefile์ด๋ผ๋Š” ํŒŒ์ผ์„ ์ฐธ์กฐํ•ด์„œ ์ปดํŒŒ์ผ๋Ÿฌ์— ๋ช…๋ น์„ ์ „๋‹ฌํ•˜๋ฉฐ, makefile์— ๊ธฐ์ˆ ๋œ shell ๋ช…๋ น์–ด๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ฒŒ ํ•จ
    • gcc ๋ช…๋ น์–ด ๋“ฑ์˜ ์ปดํŒŒ์ผ๋Ÿฌ ๋ช…๋ น์–ด๋ฅผ makefile์— ๊ธฐ์ˆ ํ•ด ๋†“์œผ๋ฉด ๊ฐœ๋ฐœ์ž๋Š” make ๋ช…๋ น์–ด๋งŒ ์‚ฌ์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ ์ปดํŒŒ์ผ ๊ณผ์ •์„ ํ•œ๋ฒˆ์— ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

 

  • โ—๏ธ์˜ค๋ฅ˜ ๋ฐœ์ƒ which: no python3 in (/user/local/bin:/usr/bin:...)
    • python3 ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ ํ›„ ์„ค์น˜
# ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ
python3 --version

# ์„ค์น˜ ์ „
-bash: python3: command not found

# ์„ค์น˜
sudo yum install python3

# ์„ค์น˜ ํ›„
Python 3.6.8

 

  • โ—๏ธ์˜ค๋ฅ˜ ๋ฐœ์ƒ make[3]: cc: Command not found
    • gcc๊ฐ€ ์—†์–ด์„œ ๋‚˜๋Š” ์˜ค๋ฅ˜์ด๋ฏ€๋กœ gcc ์„ค์น˜ ํ›„ make cleanํ•˜๊ณ  ๋‹ค์‹œ make
# src ์œ„์น˜์—์„œ
sudo yum install gcc
make clean
make

๐Ÿ’ก gcc๋ž€?

๋”๋ณด๊ธฐ

Gnu Complier Collection์˜ ์ค„์ž„๋ง๋กœ GNU ํ”„๋กœ์ ํŠธ์˜ ์ผํ™˜์œผ๋กœ ๊ฐœ๋ฐœ๋˜์–ด ๋„๋ฆฌ ์“ฐ์ด๊ณ  ์žˆ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ

 

  • โ—๏ธโ—๏ธ ๋‹ค์‹œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
make distclean
make

๐Ÿ’ก make clean ๊ณผ make distclean ์ฐจ์ด

๋”๋ณด๊ธฐ

๋ณดํ†ต source complie ๊ณผ์ •์€ <์••์ถ•ํ•ด์ œ - configure - make> ์ด๋‹ค.

 

make ํ•œ ๊ฒƒ์„ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” make clean์„ ํ•˜๋ฉด ๋˜์ง€๋งŒ,

์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์„œ configure ์ด์ „์œผ๋กœ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” make distclean์„ ํ•œ๋‹ค.

  • make clean : ์ด์ „์— ์ปดํŒŒ์ผ ํ–ˆ๋˜ ๋‚ด์šฉ์„ ์‚ญ์ œ
  • make distclean : tar.gz ๋“ฑ ์••์ถ•ํŒŒ์ผ์„ ํ’€์—ˆ์„ ๋•Œ ์ตœ์ดˆ ์ƒํƒœ๋กœ ๋˜๋Œ์•„๊ฐ
    • ์ด๋ฏธ ํ•œ๋ฒˆ configure ํ–ˆ๋‹ค๊ฐ€ ๋‹ค์‹œ configure ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ•ด๋‹น ํŒŒ์ผ์„ ์••์ถ• ํ•ด์ œํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ ์„ค์ • ํŒŒ์ผ ๋“ฑ์„ ์ง€์›Œ์•ผ ํ•˜๋Š” ๋ณต์žกํ•œ ๊ณผ์ •์„ ์•Œ์•„์„œ ์‚ญ์ œํ•ด์คŒ

 

( 6 / 6 ) ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ์••์ถ•ํŒŒ์ผ ์‚ญ์ œ

rm redis-stable.tar.gz

 

2. ์„ค์น˜ ๊ฒฐ๊ณผ

( 1 / 6 ) redis ์„œ๋ฒ„ ์‹คํ–‰

cd redis-stable/
src/redis-server

 

( 2 / 6 ) redis ํด๋ผ์ด์–ธํŠธ ์‹คํ–‰

์„œ๋ฒ„๋ฅผ ์ผœ๋‘” ์ƒํƒœ์—์„œ ๋‹ค๋ฅธ ์‰˜์—์„œ SSH ์ ‘์†ํ•ด์„œ redis-cli๋กœ ๋™์ž‘ ์ค‘์ธ redis ์„œ๋ฒ„์— ์ ‘์†

cd redis-stable/
src/redis-cli

 

( 3 / 6 ) ping ๋‚ ๋ ค๋ณด๊ธฐ

 

( 4 / 6 ) strings ์ƒ์„ฑ

 

( 5 / 6 ) hashes ์ƒ์„ฑ

 

( 6 / 6 ) set key ์ƒ์„ฑ

 

 

๋ถ€๋ก) ์ œ๊ฑฐ ๋ฐฉ๋ฒ•

# 1. ์‹คํ–‰์ค‘์ธ ๋ชจ๋“  ๋ ˆ๋””์Šค ์„œ๋ฒ„๋ฅผ ์ค‘๋‹จ
$ sudo service redis stop
 
# 2. /usr/local/bin/ ์˜ ๋ชจ๋“  ๊ฒƒ ์ œ๊ฑฐ
$ sudo rm /usr/local/bin/redis-*
 
# 3. Redis configurations ํด๋” ๋ฐ ๋‚ด์šฉ ์ œ๊ฑฐ
$ sudo rm -r /etc/redis/
 
# 4. ๋กœ๊ทธ ํŒŒ์ผ๋“ค ์ œ๊ฑฐ
$ sudo rm /var/log/redis_*
 
# 5. Redis data ํด๋” ๋ฐ ๋‚ด์šฉ ์ œ๊ฑฐ
$ sudo rm -r /var/lib/redis/
 
# 6. Redis init ์Šคํฌ๋ฆฝํŠธ ์ œ๊ฑฐ
$ sudo rm /etc/init.d/redis_*
 
# 7. Redis PID ์ œ๊ฑฐ
$ sudo rm /var/run/redis_*

 

 

 

์ฐธ๊ณ 

http://egloos.zum.com/sweeper/v/3157977

https://dobby-the-house-elf.tistory.com/109

https://m.blog.naver.com/sory1008/221707361845

https://celltwo.tistory.com/89

https://80000coding.oopy.io/d5fa7c87-192f-4c68-95eb-aa4af5b9dbf5

์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

ALTER USER '[user๋ช…]'@'localhost' IDENTIFIED BY '[๋ณ€๊ฒฝํ•  ๋น„๋ฐ€๋ฒˆํ˜ธ]';

 

USER ์ƒ์„ฑ, ๊ถŒํ•œ ๋ถ€์—ฌ

user ์ƒ์„ฑ

CREATE USER '[user๋ช…]'@'[์ ‘๊ทผ๊ฐ€๋Šฅ๋ฒ”์œ„]' IDENTIFIED BY '[๋น„๋ฐ€๋ฒˆํ˜ธ]';

# ๋‚ด๋ถ€ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” user ์ƒ์„ฑ
CREATE USER '[user๋ช…]'@'localhost' IDENTIFIED BY '[๋น„๋ฐ€๋ฒˆํ˜ธ]';

# ์™ธ๋ถ€ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” user ์ƒ์„ฑ
CREATE USER '[user๋ช…]'@'%' IDENTIFIED BY '[๋น„๋ฐ€๋ฒˆํ˜ธ]';

# ํŠน์ • IP๋งŒ ํ—ˆ์šฉํ•˜๋Š” user ์ƒ์„ฑ
CREATE USER '[user๋ช…]'@'192.168.188.122' IDENTIFIED BY '[๋น„๋ฐ€๋ฒˆํ˜ธ]';

# ํŠน์ • IP ๋Œ€์—ญ์„ ํ—ˆ์šฉํ•˜๋Š” user ์ƒ์„ฑ
CREATE USER '[user๋ช…]'@'192.168.%' IDENTIFIED BY '[๋น„๋ฐ€๋ฒˆํ˜ธ]';

์ ‘๊ทผ๊ฐ€๋Šฅ๋ฒ”์œ„

  1. localhost : ๋‚ด๋ถ€ IP๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ
  2. % : ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ
  3. ํŠน์ • IP : ์ •ํ•ด์ง„ IP์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ

user ๊ถŒํ•œ ๋ถ€์—ฌ

# ๊ณ„์ •์ด ์ด๋ฏธ ์กด์žฌํ•˜๋Š”๋ฐ 'identfied by '๋น„๋ฐ€๋ฒˆํ˜ธ'' ๋ถ€๋ถ„์„ ์ถ”๊ฐ€ํ•˜๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค.
GRANT ALL PRIVILEGES ON [database๋ช…].[table๋ช…] TO [user id]@host IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ';
# ๋ชจ๋“  ์›๊ฒฉ์ง€์—์„œ ์ ‘์† ๊ถŒํ•œ ์ถ”๊ฐ€
GRANT ALL PRIVILEGES ON [database๋ช…].[table๋ช…] TO [user๋ช…]@'%' IDENTIFIED BY '๋น„๋ฐ€๋ฒˆํ˜ธ';
# host์— '200.100.%' ๋กœ ํ•˜๋ฉด IP์ฃผ์†Œ๊ฐ€ 200.100.X.X ๋กœ ์‹œ์ž‘๋˜๋Š” ๋ชจ๋“  IP์—์„œ ์›๊ฒฉ ์ ‘์†์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ
# host์— '200.100.100.50' ์œผ๋กœ ํ•˜๋ฉด IP์ฃผ์†Œ๊ฐ€ 200.100.100.50 ์ธ ๊ณณ์—์„œ๋งŒ ์›๊ฒฉ ์ ‘์†์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์˜๋ฏธ

๋ณ€๊ฒฝ๋œ ๋‚ด์šฉ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ˜์˜(๊ถŒํ•œ ์ ์šฉ)

flush privileges;

 

DB ์กฐํšŒ ๋ฐ ์ƒ์„ฑ

DB ์กฐํšŒ

SHOW DATABASES;

DB ์ƒ์„ฑ

CREATE DATABASE [database๋ช…];

 

Table ์ƒ์„ฑ

CREATE TABLE [table๋ช…] (column1 datatype1, column2 datatype2, ...);

 

๋ฐ์ดํ„ฐ ์ž…์ถœ๋ ฅ

๋ฐ์ดํ„ฐ ์‚ฝ์ž…

INSERT INTO [table๋ช…] (column1, column2, ...) VALUES (value1, value2, ...), (value1, value2, ...), ...;

๋ฐ์ดํ„ฐ ์กฐํšŒ

SELECT [column๋ช…] FROM [table๋ช…];

 

MySQL config ๋‚ด์šฉ ํ™•์ธ

# ์••์ถ•ํŒŒ์ผ ์„ค์น˜
cat /home/centos/mysql/my.cnf

# yum ์„ค์น˜
cat /etc/my.cnf

โœ… ๊ณต์‹๋ฌธ์„œ

https://docs.nhncloud.com/ko/TOAST/ko/Overview/

 

โฌ‡๏ธ MySQL ์„ค์น˜ ์ „์— ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• โฌ‡๏ธ

2023.01.08 - [์ธํ”„๋ผ/NHN Cloud] - NHN Cloud ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ


์ธ์Šคํ„ด์Šค ํ™˜๊ฒฝ

  • OS : CentOS 7.9
  • ์•„ํ‚คํ…์ณ: x86_64

 

0. ์„ค์น˜ ์ „ ํ™•์ธ

์ธ์Šคํ„ด์Šค์— MySQL์„ ์ฒ˜์Œ ์„ค์น˜ํ•œ๋‹ค๋Š” ๊ฐ€์ •์œผ๋กœ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

  • ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ
rpm -qa | grep mysql


์•„๋ž˜์™€ ๊ฐ™์ด ๋‚˜์˜ค๋ฉด ์„ค์น˜๊ฐ€ ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์žฌ์„ค์น˜๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ญ์ œ๋ฅผ ๋จผ์ € ํ•˜๊ณ  ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

yum remove mysql-server

 

1. ์„ค์น˜ ๊ณผ์ •

( 1 / 8 ) ์ธ์Šคํ„ด์Šค์— SSH ๋ฐฉ์‹์œผ๋กœ ์ ‘์†

ssh -i [ํ‚คํŽ˜์–ด์ด๋ฆ„.pem] centos@[ํ”Œ๋กœํŒ…IP]

 

( 2 / 8 ) yum์„ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ

sudo yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-4.noarch.rpm
  • yum repository์— ๋‹ค์šด ๋ฐ›์€ MySQL์ด ์ถ”๊ฐ€๋˜์—ˆ๋Š”์ง€ ํ™•์ธ
yum repolist enabled | grep "mysql.*-community.*"

๐Ÿ’ก yum์ด๋ž€?

2023.01.13 - [ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Linux] - Yum์ด๋ž€? ๊ฐœ๋…, ์‚ฌ์šฉ๋ฒ• ๋ฐ ๋™์ž‘๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ

 

( 3 / 8 ) MySQL ์„ค์น˜

sudo yum install mysql-community-server

 

( 4 / 8 ) MySQL version ํ™•์ธ

mysql --version

 

( 5 / 8 ) MySQL ์‹œ์ž‘

sudo systemctl start mysqld

 

( 6 / 8 ) ์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ ํ™•์ธ

sudo grep '์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ' /var/log/mysqld.log

 

( 7 / 8 ) root ๊ณ„์ •์— ์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ๋กœ MySQL ์ ‘์†

mysql -u root -p

 

( 8 / 8 ) root ๊ณ„์ •์˜ ์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ

ALTER USER 'root'@'localhost' IDENTIFIED BY '[๋ณ€๊ฒฝํ•  ๋น„๋ฐ€๋ฒˆํ˜ธ]';

 

2. ์„ค์น˜ ๊ฒฐ๊ณผ

sudo systemctl start mysqld
sudo systemctl status mysqld

โœ… ๊ณต์‹๋ฌธ์„œ

https://docs.nhncloud.com/ko/TOAST/ko/Overview/

 

โฌ‡๏ธ MySQL ์„ค์น˜ ์ „์— ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ• โฌ‡๏ธ

2023.01.08 - [์ธํ”„๋ผ/NHN Cloud] - NHN Cloud ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ


์ธ์Šคํ„ด์Šค ํ™˜๊ฒฝ

  • OS : CentOS 7.9
  • ์•„ํ‚คํ…์ณ: x86_64

 

0. ์„ค์น˜ ์ „ ํ™•์ธ

์ธ์Šคํ„ด์Šค์— MySQL์„ ์ฒ˜์Œ ์„ค์น˜ํ•œ๋‹ค๋Š” ๊ฐ€์ •์œผ๋กœ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

  • ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ
mysql --version

์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ๋‚˜์˜ค๋ฉด ์„ค์น˜๊ฐ€ ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์žฌ์„ค์น˜๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‚ญ์ œ๋ฅผ ๋จผ์ € ํ•˜๊ณ  ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

rm -rf /var/lib/mysql

๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด๋‚˜ config ํŒŒ์ผ๊นŒ์ง€ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค.

1. ์„ค์น˜ ๊ณผ์ •

( 1 / 12 ) ์ธ์Šคํ„ด์Šค์— SSH ๋ฐฉ์‹์œผ๋กœ ์ ‘์†

ssh -i [ํ‚คํŽ˜์–ด์ด๋ฆ„.pem] centos@[ํ”Œ๋กœํŒ…IP]

 

( 2 / 12 ) wget ๋‹ค์šด๋กœ๋“œ

sudo yum install wget

๐Ÿ’ก wget์ด๋ž€?
'web get'์˜ ์ค„์ž„๋ง๋กœ, ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. HTTP, HTTPS, FTP ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋ฉฐ, HTTP proxy์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

( 3 / 12 ) MySQL ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฒ„์ „ ์••์ถ•ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

 

( 4 / 12 ) ํŽธ๋ฆฌํ•˜๋„๋ก mv๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋” ์ด๋ฆ„ ๋ณ€๊ฒฝ

mv mysql-8.0.27-linux-glibc2.12-x86_64/ mysql

 

( 5 / 12 ) mysql ํด๋” ์†Œ์œ ์ž ์ง€์ •

# sudo chown -R [์‚ฌ์šฉ์ž๋ช…]:[์‹คํ–‰OS๋ช…] [์ง€์ •ํ•  ํด๋”๋ช…]
sudo chown -R centos:centos mysql
  • -R : ํด๋”์™€ ํด๋” ๋‚ด๋ถ€ ํŒŒ์ผ๊นŒ์ง€ ์ „๋ถ€ ์†Œ์œ ์ž์™€ ๊ทธ๋ฃน์ด ๋ณ€๊ฒฝ๋จ

 

( 6 / 12 ) mysql ํด๋”์— my.cnf ํŒŒ์ผ ์ƒ์„ฑ ๋ฐ ๋‚ด์šฉ ์ถ”๊ฐ€

๐Ÿ’กmy.cnf ํŒŒ์ผ์ด๋ž€?
Unix ๊ณ„์—ด MySQL ์—”์ง„์—์„œ ์‚ฌ์šฉํ•˜๋Š” configure ํŒŒ์ผ. Windows ๊ณ„์—ด์—์„œ๋Š” my.ini ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

cd mysql
touch my.cnf
vi my.cnf
## ๋‚ด์šฉ ##
[client]
port=3306  # ์ ‘์†์‹œ ์‚ฌ์šฉํ•  Port ์„ค์ •
socket=/home/centos/mysql/mysql.sock  # ์‚ฌ์šฉํ•  ์†Œ์ผ“ ํŒŒ์ผ ์„ค์ •
[mysqld]
socket=/home/centos/mysql/mysql.sock
basedir=/home/centos/mysql  # base directory ์„ค์ •
datadir=/home/centos/mysql/data  # data directory ์„ค์ •
user=mysql  # ์ ‘์† ์œ ์ €๋ช…
key_buffer_size=64M  # ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ์ธ๋ฑ์Šค ๋ธ”๋ก์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฒ„ํผ์˜ ํฌ๊ธฐ, MyISAM ํ…Œ์ด๋ธ”์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ชจ๋“  ์“ฐ๋ ˆ๋“œ์—์„œ ๊ณต์œ ํ•˜๋Š” ๋ฒ„ํผ ํฌ๊ธฐ
max_allowed_packet=32M  # ๊ฐ€์žฅ ํฌ๊ฒŒ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋Š” packet 1๊ฐœ ํฌ๊ธฐ(๋ฐ”์ดํŠธ) ์„ค์ •
#query_cache_size=32M
max_connections=2625  # ๋™์‹œ์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ปค๋„ฅ์…˜ ์ˆ˜ ์„ค์ •
max_connect_errors=2000000  # ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์—๋Ÿฌ ๊ฐœ์ˆ˜
wait_timeout=60  # API๋ฅผ ์ด์šฉํ•œ client ํ”„๋กœ๊ทธ๋žจ(PHP, JDBC, ODBC...) ์ƒ์—์„œ ์ตœ๋Œ€ ์—ฐ๊ฒฐ์‹œ๊ฐ„
explicit_defaults_for_timestamp = 1
pid-file=/home/centos/mysql/mysqld.pid
log-error=/home/centos/mysql/logs/mysqld.log
bulk_insert_buffer_size=0

์„ค์ •ํ•  variable์„ ๊ทธ๋ฃน๋ณ„๋กœ ๋ชจ์•„์„œ ์ค‘๊ด„ํ˜ธ๋กœ ๊ธฐ์ˆ ํ•˜๋Š” ๊ฒƒ์„ ์›์น™์œผ๋กœ ํ•œ๋‹ค.

 

variable ์ž‘์„ฑ ๊ทœ์น™

  1. ์ฃผ์„์€ # ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  2. variable๊ณผ value ์‚ฌ์ด์—๋Š” ๊ณต๋ฐฑ์ด ์žˆ์–ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.
  3. variable ์•ž์— -, --๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  4. my.cnf์— ๊ธฐ์ˆ ๋œ variable์€ ์ฒ˜์Œ ์„œ๋ฒ„๊ฐ€ ๋กœ๋“œ ๋ ๋•Œ๋งŒ ์ ์šฉ๋œ๋‹ค.
  5. my.cnf์— ๊ธฐ์ˆ ๋˜์ง€ ์•Š์€ variable์€ default๊ฐ’์œผ๋กœ ์„ค์ •๋œ๋‹ค.
  6. ๋ชจ๋“  varaiable์€ ๊ทธ๋ฃน ์•ˆ์— ์†ํ•ด์•ผ ํ•œ๋‹ค.

 

( 7 / 12 ) libaio ๋‹ค์šด๋กœ๋“œ

mkdir data
mkdir logs
sudo yum install libaio -y

๐Ÿ’ก libaio์ด๋ž€?
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ํ•„์ˆ˜์ธ ๋น„๋™๊ธฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ.
libaio๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด intialization ๋‹จ๊ณ„๋‚˜ ์ดํ›„ ์„œ๋ฒ„ ์‹œ์ž‘ ๋‹จ๊ณ„์—์„œ ์‹คํŒจํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

( 8 / 12 ) my.cnf ํŒŒ์ผ ๊ฒฝ๋กœ ์ง€์ •

/home/centos/mysql/bin/mysqld --defaults-file=/home/centos/mysql/my.cnf --initialize

--default-file= ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง€์ •๋œ ํŒŒ์ผ๋งŒ ์ฝ๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

์ฐธ๊ณ ) my.cnf ์™ธ์— ๋‹ค๋ฅธ cnf ํŒŒ์ผ์„ ์ง€์ •ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๊ฒฝ์šฐ --defaults-extra-files๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด ์—ฌ๋Ÿฌ ๋Œ€์˜ MySQL ์„œ๋ฒ„๋ฅผ ์šด์˜ํ•˜๋Š” ๊ฒฝ์šฐ, ๊ธฐ๋ณธ์ ์ธ ์„ค์ •์€ my.cnf๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ •ํ•˜๊ณ , ์„œ๋ฒ„๋ณ„ ํŠน์ด ์‚ฌํ•ญ์€ ๋‹ค๋ฅธ cnf ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์—ฌ configuration ๋‚ด์šฉ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.

 

( 9 / 12 ) mysql ์‹คํ–‰

/home/centos/mysql/bin/mysqld --defaults-file=/home/centos/mysql/my.cnf &

 

( 10 / 12 ) logs/mysqld.log ์—์„œ ์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ

cd logs
cat mysqld.log

 

( 11 / 12 ) mysql ํด๋”์—์„œ ์‹คํ–‰

cd ..
/home/centos/mysql/bin/mysql -uroot -p '์ž„์‹œ๋น„๋ฐ€๋ฒˆํ˜ธ' -S/home/centos/mysql/mysql.sock

 

( 12 / 12 ) ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ์••์ถ•ํŒŒ์ผ ์‚ญ์ œ

rm mysql-8.0.27-linux-glibc2.12-x86_64.tar.xz

 

โœ‹๐Ÿป ์—ฌ๊ธฐ์„œ ์ž ๊น ! PATH ์„ค์ •ํ•˜๊ธฐ


โญ๏ธ ๊ฒฝ๋กœ๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.โญ๏ธ

  1. /etc/profile ์ˆ˜์ •ํ•˜๊ธฐ
# pwd ํ–ˆ์„ ๋•Œ / ์ธ ์ƒํƒœ์—์„œ
sudo vi /etc/profile
  1. GG ์ด์šฉํ•ด์„œ ํŒŒ์ผ ๋งจ ๋์œผ๋กœ ๊ฐ€์„œ ์ถ”๊ฐ€ํ•˜๊ณ  ์ €์žฅํ•˜๊ธฐ(:wp)
export PATH="$PATH:/home/centos/mysql/bin"
  1. ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ ์ ์šฉํ•˜๊ธฐ
    source /etc/profile


์ฐธ๊ณ ) PATH์— ๋„ฃ์„ ๊ฒฝ๋กœ๋Š” my.cnf ์— basedir ๊ฒฝ๋กœ์— bin๋งŒ ์ถ”๊ฐ€ํ•œ ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

2. ์„ค์น˜ ๊ฒฐ๊ณผ

์‹œ๋‚˜๋ฆฌ์˜ค

client1 ์ธ์Šคํ„ด์Šค์—์„œ ๊ณต๊ฐœํ‚ค(id_rsa.pub)๋ฅผ ์ƒ์„ฑํ•˜๊ณ , host ์ธ์Šคํ„ด์Šค๋กœ ๋ณด๋‚ธ๋‹ค.

๋ฐ›์€ ๊ณต๊ฐœํ‚ค ๋‚ด์šฉ์„ host ์ธ์Šคํ„ด์Šค์— ๋“ฑ๋กํ•œ๋‹ค.

 

์™œ?

๊ธฐ์กด์— ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ณด๋‚ด๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ์€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ID/๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ , ์ ‘์†ํ•  ๋•Œ๋งˆ๋‹ค ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์›€์ด ์žˆ๋‹ค.
SSH ํ‚ค๋Š” ์ด์™€ ๋‹ฌ๋ฆฌ ๊ณต๊ฐœํ‚ค ์•”ํ˜ธ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์—์„œ ์ธ์ฆ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•”ํ˜ธ๋ฅผ ์ƒ๋žตํ•˜๊ณ  ์›๊ฒฉ ํ˜ธ์ŠคํŠธ๋กœ ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์‹ค์Šต ํ™˜๊ฒฝ

  • client1 ์ธ์Šคํ„ด์Šค : CentOS 7.9
  • host ์ธ์Šคํ„ด์Šค : CentOS 7.9

 

์ค€๋น„ํ•  ํ•ญ๋ชฉ

1. client1์—์„œ ์‹คํ–‰

sudo vi /etc/ssh/sshd_config
  • PubkeyAuthentication yes
  • PasswordAuthentication yes

 

2. ๋ณด์•ˆ๊ทธ๋ฃน ์„ค์ •

  • client1์˜ ํ”Œ๋กœํŒ… IP๋ฅผ ์ˆ˜์‹ ์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.

 

๊ณผ์ •

1. client1์—์„œ ์‹คํ–‰ํ•ด์„œ Key Pair ์ƒ์„ฑ

ssh-keygen

# default ์„ค์ •
# ssh-keygen -t rsa 3072

# ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ช…์‹œํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ
# ssh-keygen -t rsa

# ํ‚ค ํฌ๊ธฐ(bit)๋ฅผ ๋ช…์‹œํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ
# ssh-keygen -t rsa -b 2048

 

2. Key Pair ์ƒ์„ฑ๋๋Š”์ง€ ํ™•์ธ

ํŒŒ์ผ๋ช… ์„ค๋ช… ์ €์žฅ ์œ„์น˜ ๋น„๊ณ 
id_rsa ๊ฐœ์ธํ‚ค client1(Local) ์ฒ ์ €ํ•œ ๋ณด์•ˆ ๊ด€๋ฆฌ ํ•„์š”
id_rsa.pub ๊ณต๊ฐœํ‚ค host(Remote) ์™ธ๋ถ€์— ๊ณต๊ฐœํ•ด๋„ ์ƒ๊ด€ ์—†์Œ

 

 

3. client1์— ์žˆ๋Š” ํŒŒ์ผ ๊ถŒํ•œ ๋ณ€๊ฒฝ

chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub  
chmod 644 ~/.ssh/known_hosts

 

4. client1์—์„œ ์‹คํ–‰

scp ~/.ssh/id_rsa.pub [host id]@[host fixed ip]:id_rsa.pub

 

5. host์—์„œ client1๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ id_rsa.pub ๋‚ด์šฉ ๋ณต์‚ฌ

 

6. 5๋ฒˆ์—์„œ ๋ณต์‚ฌํ•œ ๋‚ด์šฉ์„ host์˜ ~/.ssh/authorized_keys์— ๋ณต์‚ฌ (์—ฌ๋Ÿฌ ๊ณต๊ฐœํ‚ค๋Š” ์ค„๋ฐ”๊ฟˆ์œผ๋กœ ๊ตฌ๋ถ„)

 

๊ฒฐ๊ณผ

client1์—์„œ host๋กœ SSH ์ ‘์†์„ ์‹œ๋„ํ•œ๋‹ค.

ssh [host id]@[host fixed ip]

๋” ์ด์ƒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ฌป์ง€ ์•Š์•„ ํŽธ๋ฆฌํ•œ ์„œ๋ฒ„ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๋‹ค!

 

 

 

 

์ฐธ๊ณ 

https://blog.radia.me/%EA%B3%B5%EA%B0%9C%ED%82%A4-%EA%B8%B0%EB%B0%98-ssh-%EC%A0%91%EC%86%8D-%EB%B0%A9%EB%B2%95/

https://opentutorials.org/module/432/3742

https://www.cubrid.com/blog/3825015

+ Recent posts