ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•
DB ์ ‘์† ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์š”์•ฝ

๐Ÿ“„ DB ์ ‘์† ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์š”์•ฝ

๐Ÿงฉ ํ…Œ์ŠคํŠธ ๋Œ€์ƒ

  • MariaDB (ํฌํŠธ 3306)
  • Microsoft SQL Server (ํฌํŠธ 1433)

๐Ÿ”ง ํ…Œ์ŠคํŠธ ํ•ญ๋ชฉ

ํ…Œ์ŠคํŠธ ์ข…๋ฅ˜ ์„ค๋ช…
test1 DB ์ ‘์† ํ›„ ์ฆ‰์‹œ ์ข…๋ฃŒ (์—ฐ๊ฒฐ๋งŒ ํ™•์ธ)
test2 DB ์ ‘์† โ†’ ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ฟผ๋ฆฌ ์‹คํ–‰ โ†’ ์ข…๋ฃŒ

๐Ÿงช ํ•˜๋“œ์ฝ”๋”ฉ๋œ ์ฟผ๋ฆฌ (test2)

DB ํƒ€์ž…์ฟผ๋ฆฌ
MariaDBSELECT NOW()
MSSQLSELECT GETDATE()

๐Ÿš€ ๋ช…๋ น์–ด ์˜ˆ์‹œ

# test1 - ์ ‘์†๋งŒ ํ…Œ์ŠคํŠธ (10ํšŒ ๋ฐ˜๋ณต)
python test_db_loop.py test1 mariadb 127.0.0.1 3306 root mypass testdb 10

# test2 - ์ฟผ๋ฆฌ ํ…Œ์ŠคํŠธ ํฌํ•จ (5ํšŒ ๋ฐ˜๋ณต)
python test_db_loop.py test2 mssql 127.0.0.1 1433 sa pass123 mydb 5

๐Ÿงต ๋ณ‘๋ ฌ ์‹คํ–‰ ์˜ˆ์‹œ (๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค)

from multiprocessing import Process
from test_db_lib import test1_connect_only

def run_task():
    test1_connect_only(
        dbtype="mariadb",
        host="192.168.0.10",
        port="3306",
        user="root",
        password="mypassword",
        dbname="test"
    )

if __name__ == "__main__":
    processes = [Process(target=run_task) for _ in range(10)]
    for p in processes:
        p.start()
    for p in processes:
        p.join()

๐Ÿง  ์ฃผ์š” Python ์ฝ”๋“œ ๊ตฌ์„ฑ (test1/test2)

def test1_connect_only(dbtype, host, port, user, password, dbname):
    if dbtype == "mariadb":
        import pymysql
        conn = pymysql.connect(
            host=host, port=int(port), user=user, password=password,
            database=dbname, connect_timeout=5
        )
        conn.close()
        print("[OK] ์ ‘์†/์ข…๋ฃŒ ์„ฑ๊ณต")
        return True

    elif dbtype == "mssql":
        import pyodbc
        conn_str = (
            f"DRIVER={{ODBC Driver 17 for SQL Server}};"
            f"SERVER={host},{port};DATABASE={dbname};UID={user};PWD={password};"
            f"TrustServerCertificate=yes;"
        )
        conn = pyodbc.connect(conn_str, timeout=5)
        conn.close()
        print("[OK] ์ ‘์†/์ข…๋ฃŒ ์„ฑ๊ณต")
        return True

โš ๏ธ ์œ ์˜ ์‚ฌํ•ญ

  • Windows์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ __name__ == "__main__" ์กฐ๊ฑด๋ฌธ ์•ˆ์—์„œ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰
  • DB ๊ณ„์ • ๋™์‹œ ์ ‘์† ์ œํ•œ, ์ปค๋„ฅ์…˜ ํ’€ ์ตœ๋Œ€๊ฐ’ ๋“ฑ ํ™•์ธ ํ•„์š”
  • ์ฟผ๋ฆฌ ์‹คํŒจ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์—๋Ÿฌ๋Š” ๋กœ๊ทธ๋กœ ์ถœ๋ ฅ๋จ

728x90
๋Œ“๊ธ€
๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ