๐Ÿฅ Database

๋ฐ˜๋ณต๋˜๋Š” ์—…๋ฌด์˜ ์ž๋™ํ™”๋ฅผ ๋„์™€์ค„... ์ด๋ฒคํŠธ ์Šค์ผ€์ฅด๋Ÿฌ

์š”๋‹ˆ๊น€ 2023. 8. 6. 23:21

๐Ÿฅ  ๋งฅ๋ฝ

ํ™ˆํŽ˜์ด์ง€ ๋ฐฉ๋ฌธ IP ๋ณ„ ๊ด€์‹ฌ์žˆ๋Š” ํŽ˜์ด์ง€ ์ •๋ณด๋ฅผ ๋ถ„์„ํ•˜๊ณ , 

๋ถ„์„ํ•œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ด€์‹ฌ ์ œํ’ˆ ์ถ”์ฒœ ๋ฉ”์‹œ์ง€๋ฅผ ๋…ธ์ถœ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ํŒ์—… ๋ชจ๋“ˆ์„ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐํš๋ถ€ํ„ฐ-๊ฐœ๋ฐœํ•˜์˜€๋‹ค.

(ํ”„๋กœ์ ํŠธ ์ƒ์„ธ ์„ค๋ช…์€ ์ถ”ํ›„ ํฌ์ŠคํŒ…์— ์ด์–ด์ง‘๋‹ˆ๋‹ท)

 

๐Ÿฅ  ๋ฌธ์ œ

IP ๋ณ„๋กœ ๋ถ€์—ฌํ•œ ๋งž์ถคํ˜• ๋ฉ”์‹œ์ง€๋ฅผ ์ˆ˜๊ธฐ๋กœ ์ถ”์ ํ•˜๊ณ  ๊ฐฑ์‹ ์‹œํ‚ค๋Š” ์ž‘์—…์€ ๋ฒˆ๊ฑฐ๋กญ๊ณ  ์ด๋Š” ๊ณง ๋น„์šฉ์„ ์˜๋ฏธํ•˜๊ธฐ์—,

๋ฉ”์‹œ์ง€ ์œ ํšจ์ผ์„ ์„ ํƒํ•˜๊ณ , ์„ ํƒํ•œ ์œ ํšจ์ผ์ด ์ง€๋‚œ ์‹œ์  ๊ธฐ์ค€ ์ž๋™์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์‚ญ์ œ์‹œํ‚ค๋Š” ์Šค์ผ€์ฅด๋ง ์ž‘์—…์„ ์ ์šฉํ•ด๋ณด์•˜๋‹ค. 

 

๐Ÿฅ  ํ™˜๊ฒฝ

์‚ฌ๋‚ด ํ™ˆํŽ˜์ด์ง€ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋Š” Kinsta(*์›Œ๋“œํ”„๋ ˆ์Šค ์›น์‚ฌ์ดํŠธ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธ์ŠคํŒ… ์„œ๋น„์Šค)๋ฅผ ํ†ตํ•ด ์šด์˜๋˜๊ณ  ์žˆ์—ˆ๋‹ค.

 

์žฅ์ . ๋†’์€ ์ž์œ ๋„ 

- ์›น์‚ฌ์ดํŠธ ๋นŒ๋” ์ค‘ ํ•˜๋‚˜์ธ ์›Œ๋“œํ”„๋ ˆ์Šค๋Š” ๋น ๋ฅธ ์ดˆ๊ธฐ ์›น์‚ฌ์ดํŠธ ๊ตฌ์ถ•์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•จ

- Kinsta ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ๋‚ด์žฅ๋œ ์›Œ๋“œํ”„๋ ˆ์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ/์กฐ์ž‘์ด ์ˆ˜์›”ํ•จ

 

๋‹จ์ . ๋‚ฎ์€ ํ†ต์ œ๊ถŒ

- ์˜๋„ํ•œ ๊ธฐ๋Šฅ ์ถ”๊ฐ€์— ์•ž์„œ (์†์‰ฌ์šด ์›น์‚ฌ์ดํŠธ ์ œ์ž‘ ๋’ค์— ์ˆจ๊ฒจ์ง„) ์ดˆ๊ธฐ ์†Œ์Šค ์ฝ”๋“œ์— ๋Œ€ํ•œ ์ดํ•ด 

- ์ฐธ๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ์†Œ์Šค์˜ ๋ถ€์žฌ 

 

๐Ÿฅ  ์—ฌ๋Ÿฌ ์ ‘๊ทผ

1. ์ด๋ฒคํŠธ ์Šค์ผ€์ฅด๋Ÿฌ

RDBMS๋กœ MariaDB๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ณ , MariaDB์˜ ์ด๋ฒคํŠธ ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ ํšจ์ผ ๊ธฐ์ค€ ๋ฉ”์‹œ์ง€ ์‚ญ์ œ ํ”„๋กœ์‹œ์ ธ๋ฅผ ์ž๋™ ๋ฐ˜๋ณต ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค. 

 

์ž‘์„ฑ ํ›„ ๋“ฑ๋ก ๊ณผ์ •์—์„œ MariaDB์—์„œ ์ด๋ฒคํŠธ ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ํ™œ์„ฑํ™” ์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„  super privilege ๊ถŒํ•œ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ๊ณ ...

Kinsta๋ผ๋Š” ์™ธ๋ถ€ ํ˜ธ์ŠคํŒ… ์—…์ฒด๋ฅผ ํ†ตํ•ด DB๊ฐ€ ํ˜ธ์ŠคํŒ…๋˜๊ณ  ์žˆ๋Š” ๊ฒฝ์šฐ super privilege ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์ง€ ์•Š๊ธฐ์—, ๋ณ„๋„๋กœ Kinsta ์šด์˜ํŒ€์— ์š”์ฒญํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ–ˆ๋‹ค. ใ… ใ… 

 

ํ•˜์ง€๋งŒ...

 

๋Œ์•„์˜จ ๋‹ต๋ณ€์€ ์ด๋ฒคํŠธ ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ํ™œ์„ฑํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด์„  Enterprise plan์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ์‹œ์ผœ์•ผํ•œ๋‹ค๋Š”…

์ž...๋‹ค์Œ ์ ‘๊ทผ!

 

 

2. ์ž‘์—… ์Šค์ผ€์ฅด๋ง ๋„๊ตฌ [์œˆ๋„์šฐ ์ž‘์—… ์Šค์ผ€์ฅด๋Ÿฌ]

ํ™ˆํŽ˜์ด์ง€๊ฐ€ ๋ฐฐํฌ๋œ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์–ด๋– ํ•œ ์ด๋ฒคํŠธ๋ฅผ ํŠธ๋ฆฌ๊ฑฐ๋กœ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋งค์ผ ์˜ค์ „ 12์‹œ์— ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ์™ธ๋ถ€ ์„œ๋ฒ„์— ์ž‘์—… ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ๋“ฑ๋กํ•˜์—ฌ ์›ํ•˜๋Š” ๋™์ž‘์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ ์ƒ๊ฐํ–ˆ๋‹ค. 

 

์ด์ „์— ํŒŒ์ด์ฌ ํฌ๋กค๋ง ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์Šค์ผ€์ฅด๋งํ•œ ์ ์ด ์žˆ์–ด์„œ (์ถ”ํ›„ ๋‹ค๋ฃฐ ์˜ˆ์ •), ๊ฐ™์€ ์ ‘๊ทผ์„ ์ทจํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์Šค์ผ€์ฅด๋Ÿฌ๋Š” ์œˆ๋„์šฐ ํ™˜๊ฒฝ์˜ IIS ์„œ๋ฒ„์— ์ง์ ‘ ๋“ฑ๋กํ•ด์•ผํ–ˆ๋‹ค. 

 

ํ•˜์ง€๋งŒ Kinsta DB์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด SSH ํ„ฐ๋„๋ง ๊ณผ์ •์ด ํ•„์š”ํ–ˆ๊ณ  (์ถ”ํ›„ ๋‹ค๋ฃฐ ์˜ˆ์ •), ์ด๋ฅผ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ๋ฐ์ดํ„ฐํ”„๋ ˆ์ž„ ์กฐ์ž‘์„ ์œ„ํ•ด ์„ค์น˜ํ•ด์•ผํ–ˆ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ˆ˜๊ฐ€ ๋งค์šฐ ๋งค์šฐ ๋งŽ์•˜๋‹ค.

 

IIS ์„œ๋ฒ„์— ๊ธฐ์กด์— ์„ค์น˜๋œ ํŒŒ์ด์ฌ ๋ฒ„์ „ ๋˜๋Š” ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๊ฑฐ๋‚˜, ์ถ”ํ›„์— ์„ค์น˜๋  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฒ„์ „๊ณผ ์ถฉ๋Œ์ด ์ผ์–ด๋‚œ๋‹ค๋ฉด ๋” ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜๊ธฐ์—, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•  ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•˜๋ฉฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜๋ คํ–ˆ์ง€๋งŒ..

์ด ์ผ๋ จ์˜ ๊ณผ์ •์„ ํฌํ•จํ•˜๋Š” ๋น„์šฉ์„ ์ƒ๊ฐํ–ˆ์„ ๋•Œ ๋” ๋น ๋ฅด๊ณ  ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ํ•„์š”ํ–ˆ๋‹ค...

 

 

3. ๊ฒจ์šฐ ์ฐพ์€ ์›Œ๋“œํ”„๋ ˆ์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ: wp-cron

wp-cron์€ ์›Œ๋“œํ”„๋ ˆ์Šค ๋‚ด์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  - ๋“ฑ๋กํ•˜๊ณ  - ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 

<?php
//  ํ”„๋กœ์‹œ์ ธ ํ˜ธ์ถœ 
function wpse_custom_procedure(){
    global $wpdb;
    return $wpdb->query("CALL ํ”„๋กœ์‹œ์ ธ๋ช…();");
}

// ์Šค์ผ€์ฅด ์ด๋ฒคํŠธ ํ•จ์ˆ˜
function wpse_schedule_custom_procedure() {
    if (!wp_next_scheduled('wpse_daily_event')) {
        $timestamp = strtotime('24:00:00'); // ์‹คํ–‰ํ•  ์‹œ๊ฐ„
        wp_schedule_event($timestamp, 'daily', 'wpse_daily_event'); // ์ด๋ฒคํŠธ ๋ช…๋ช…
    }
}

// ์Šค์ผ€์ฅด ์ด๋ฒคํŠธ ๋“ฑ๋ก
add_action('wp', 'wpse_schedule_custom_procedure');
add_action('wpse_daily_event', 'wpse_custom_procedure');

ํ•˜์ง€๋งŒ...

์‚ฌ์šฉ ์ค‘ ๋ฐœ๊ฒฌํ•œ ์š”์ƒํ•œ ํŒจํ„ด์ด ์žˆ๋‹ค. wp-cron์€ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์›น์‚ฌ์ดํŠธ์— ๋ฐฉ๋ฌธํ•œ ๊ฒฝ์šฐ, ์˜ˆ์ • ์Šค์ผ€์ฅด๋œ ์ž‘์—…์ด ์žˆ๋‹ค๋ฉด ๊ทธ์ œ์„œ์•ผ ๋Œ€๊ธฐ ์ž‘์—…์„ ์‹คํ–‰์‹œํ‚จ๋‹ค. ์ด๋Š” ์ฆ‰ == ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์Šค์ผ€์ฅด๋œ ์ž‘์—…์ด ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋ฅผ ์˜๋ฏธํ•˜๊ณ ... ์ด๋Š” ๊ณง == IP ๋ณ„ ์ž‘์„ฑํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ์œ ํšจ์ผ์ด ์ง€๋‚˜๋„ ๋ˆ„๊ตฐ๊ฐ€ ๋ฐฉ๋ฌธํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์‚ญ์ œ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

 

ํ™•์ธํ•ด๋ณด๋‹ˆ wp-cron์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ , server-side ๋ฆฌ์–ผ ํฌ๋ก ์„ ๊ฐœ๋ฐœํ•˜์—ฌ ์ •ํ•ด์ง„ ์‹œ๊ฐ„๋Œ€์— ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ ๋Š” ํ•œ๋‹ค...

๊ทธ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋˜ ์ฐฐ๋‚˜...



4. Wp control (๊ธฐ์ˆ ์ง€์›ํŒ€ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค)

๊ฐ์‚ฌํ•˜๊ฒŒ๋„ 3๋ฒˆ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ฌธ์˜๋ฅผ ํ•˜๋˜ ์ค‘ Technical support ํŒ€์—์„œ ๋ง์”€ ์ฃผ์‹œ๊ธธ, ์›Œ๋“œํ”„๋ ˆ์Šค์—์„œ server-side cron์„ ์‰ฝ๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ด๋ฏธ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•„์ž๋Š” ๋‹ค์Œ ๋งํฌ๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ:https://kinsta.com/knowledgebase/wordpress-cron-job/#server-cron

 

๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1. wp control ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ๋ฐ ํ™œ์„ฑํ™”

2. Tools > Cron Events > ์‹คํ–‰ํ•  ์ฝ”๋“œ ๋“ฑ๋ก

3. ๋“ฑ๋ก๋œ ์Šค์ผ€์ฅด๋ฆฌ ๋œจ๊ฒŒ ๋œ๋‹ค ๋„-์•

 

 

๐Ÿฅ  ๋А๋‚€์ 

- over communication์˜ ์ค‘์š”์„ฑ

- ๋ฌด์–ธ๊ฐ€๋ฅผ ์•Œ์•„์•ผ ์ œ๋Œ€๋กœ๋œ ์งˆ๋ฌธ์„ ํ•  ์ˆ˜ ์žˆ๊ตฌ๋‚˜

- ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด์—ˆ์ง€๋งŒ, ์ด๋ฅผ ์ฐพ๋Š” ๊ณผ์ •ํ–ˆ๋˜ ์ž‘์€ ๊ณ ๋ฏผ๋“ค์ด ์—†์—ˆ๋‹ค๋ฉด ์ด ์‰ฌ์šด ํ•ด๋‹ต์ด๋ผ๋„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ์„๊นŒ

 

๋„-์•