λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
DBMS/Mariadb

[DBMS]MariaDB μ‚¬μš©μž κΆŒν•œ 관리: 둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ μ ‘μ†μ˜ λ³΄μ•ˆ κ°•ν™”

by YJ Dev 2024. 5. 17.
728x90
λ°˜μ‘ν˜•
SMALL

λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ—μ„œλŠ” μ‚¬μš©μžμ˜ κΆŒν•œ 관리가 μ€‘μš”ν•œ μš”μ†Œλ‘œ κ°•μ‘°λ©λ‹ˆλ‹€. 특히 MariaDBμ—μ„œλŠ” μ‚¬μš©μžμ˜ 호슀트 정보λ₯Ό ν™œμš©ν•˜μ—¬ 둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ 접속을 κ΅¬λΆ„ν•˜μ—¬ λ³΄μ•ˆμ„ κ°•ν™”ν•˜λŠ” 것이 ν•„μš”ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ˜ μ•ˆμ „μ„±μ„ 높일 수 μžˆμŠ΅λ‹ˆλ‹€.

    μ‚¬μš©μž κΆŒν•œ 관리

     

    μ‚¬μš©μž κΆŒν•œ κ°œμš”πŸ”

    MariaDBμ—μ„œ μ‚¬μš©μžλŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜κ³  μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. μ‚¬μš©μžλŠ” μ‚¬μš©μž 이름과 호슀트 μ •λ³΄λ‘œ μ‹λ³„λ©λ‹ˆλ‹€. κΆŒν•œμ€ μ‚¬μš©μžκ°€ μˆ˜ν–‰ν•  수 μžˆλŠ” μž‘μ—…μ„ κ²°μ •ν•˜λŠ”λ° μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€.

    μ‚¬μš©μž(User)

    • μ‚¬μš©μžλŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•˜κ³  μž‘μ—…μ„ μˆ˜ν–‰ν•˜λŠ” 개체λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    • 각 μ‚¬μš©μžλŠ” κ³ μœ ν•œ μ‹λ³„μž(μ‚¬μš©μž 이름)λ₯Ό 가지고 μžˆμŠ΅λ‹ˆλ‹€.
    • μ‚¬μš©μžλŠ” 둜컬 호슀트 λ˜λŠ” μ™ΈλΆ€ ν˜ΈμŠ€νŠΈμ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ— 접속할 수 μžˆμŠ΅λ‹ˆλ‹€.

    κΆŒν•œ(Permission)

      • κΆŒν•œμ€ μ‚¬μš©μžκ°€ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μˆ˜ν–‰ν•  수 μžˆλŠ” μž‘μ—…μ„ μ •μ˜ν•©λ‹ˆλ‹€.
      • λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ€ μ‚¬μš©μžμ— λŒ€ν•œ κΆŒν•œμ„ λΆ€μ—¬ν•˜κ³  이λ₯Ό 톡해 μ–΄λ–€ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ”μ§€ κ²°μ •ν•©λ‹ˆλ‹€.
      • μ£Όμš” κΆŒν•œμ—λŠ” SELECT(쑰회), INSERT(μ‚½μž…), UPDATE(μˆ˜μ •), DELETE(μ‚­μ œ), CREATE(생성), DROP(제거) 등이 μžˆμŠ΅λ‹ˆλ‹€.
      • 각 κΆŒν•œμ€ νŠΉμ • λ°μ΄ν„°λ² μ΄μŠ€ 객체(ν…Œμ΄λΈ”, λ·° λ“±)에 λŒ€ν•œ μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

    호슀트(Host)

    • ν˜ΈμŠ€νŠΈλŠ” μ‚¬μš©μžκ°€ μ ‘μ†ν•˜λŠ” ν΄λΌμ΄μ–ΈνŠΈ 컴퓨터λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.
    • μ‚¬μš©μžλŠ” νŠΉμ • ν˜ΈμŠ€νŠΈμ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ— 접속할 수 μžˆμŠ΅λ‹ˆλ‹€.
    • 호슀트 정보λ₯Ό ν™œμš©ν•˜μ—¬ 둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ 접속을 κ΅¬λΆ„ν•˜μ—¬ λ³΄μ•ˆ 정책을 μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    κΆŒν•œμ˜ μ’…λ₯˜πŸ€Ή‍♂️

    SELECT(쑰회)

    • λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ—μ„œ 데이터λ₯Ό μ½μ–΄μ˜€λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • SELECT 문을 μ‚¬μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ˜ 데이터λ₯Ό μ‘°νšŒν•˜κ³  검색할 수 μžˆμŠ΅λ‹ˆλ‹€.

    INSERT(μ‚½μž…)

    • λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ— μƒˆλ‘œμš΄ 데이터λ₯Ό μΆ”κ°€ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • INSERT INTO λ¬Έμ„ μ‚¬μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ— μƒˆλ‘œμš΄ λ ˆμ½”λ“œλ₯Ό μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    UPDATE(μˆ˜μ •)

    • λ°μ΄ν„°λ² μ΄μŠ€ ν…Œμ΄λΈ”μ—μ„œ κΈ°μ‘΄ 데이터λ₯Ό μˆ˜μ •ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • UPDATE 문을 μ‚¬μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ˜ κΈ°μ‘΄ λ ˆμ½”λ“œλ₯Ό μˆ˜μ •ν•˜κ±°λ‚˜ μ—…λ°μ΄νŠΈν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    DELETE(μ‚­μ œ)

    • λ°μ΄ν„°λ² μ΄μŠ€ 객체λ₯Ό μƒμ„±ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • DELETE FROM 문을 μ‚¬μš©ν•˜μ—¬ ν…Œμ΄λΈ”μ—μ„œ νŠΉμ • λ ˆμ½”λ“œλ₯Ό μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    CREATE(생성)

    • λ°μ΄ν„°λ² μ΄μŠ€ 객체λ₯Ό μƒμ„±ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • CREATE TABLE, CREATE INDEX λ“±μ˜ 문을 μ‚¬μš©ν•˜μ—¬ μƒˆλ‘œμš΄ ν…Œμ΄λΈ”, 인덱슀 등을 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

    DROP(제거)

    • λ°μ΄ν„°λ² μ΄μŠ€ 객체λ₯Ό μ‚­μ œν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • DROP TABLE, DROP INDEX λ“±μ˜ 문을 μ‚¬μš©ν•˜μ—¬ ν…Œμ΄λΈ”, 인덱슀 등을 μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    ALTER(λ³€κ²½)

    • λ°μ΄ν„°λ² μ΄μŠ€ 객체의 ꡬ쑰λ₯Ό λ³€κ²½ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • ALTER TABLE, ALTER INDEX λ“±μ˜ 문을 μ‚¬μš©ν•˜μ—¬ ν…Œμ΄λΈ” ꡬ쑰λ₯Ό λ³€κ²½ν•˜κ±°λ‚˜ 인덱슀λ₯Ό μˆ˜μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    GRANT(λΆ€μ—¬)

    • λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆλŠ” κΆŒν•œμž…λ‹ˆλ‹€.
    • GRANT 문을 μ‚¬μš©ν•˜μ—¬ λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ SELECT, INSERT, UPDATE λ“±μ˜ κΆŒν•œμ„ λΆ€μ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    μ΄λŸ¬ν•œ μ£Όμš” κΆŒν•œ μ’…λ₯˜λŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©μžμ˜ μ ‘κ·Όκ³Ό μž‘μ—…μ„ μ œμ–΄ν•˜λŠ” 데 μ€‘μš”ν•œ 역할을 ν•©λ‹ˆλ‹€. μ‚¬μš©μžμ— 따라 ν•„μš”ν•œ κΆŒν•œμ„ 적절히 λΆ€μ—¬ν•˜μ—¬ λ°μ΄ν„°λ² μ΄μŠ€μ˜ λ³΄μ•ˆμ„ μœ μ§€ν•˜κ³  λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ μ ‘μ†μ˜ ꡬ뢄πŸ‘₯

    둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ 접속은 λ°μ΄ν„°λ² μ΄μŠ€ λ³΄μ•ˆμ— μžˆμ–΄μ„œ 핡심적인 μš”μ†Œμž…λ‹ˆλ‹€. 둜컬 ν˜ΈμŠ€νŠΈλŠ” λ°μ΄ν„°λ² μ΄μŠ€μ— 직접 μ ‘μ†ν•˜λŠ” 경우λ₯Ό μ˜λ―Έν•˜λ©°, μ™ΈλΆ€ 접속은 μ™ΈλΆ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ ‘μ†ν•˜λŠ” 경우λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. 이 λ‘˜μ„ κ΅¬λΆ„ν•˜μ—¬ λ³΄μ•ˆ 정책을 μ μš©ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. μ—¬κΈ°μ—λŠ” λͺ‡ 가지 μ΄μœ κ°€ μžˆμŠ΅λ‹ˆλ‹€.

    1. λ‚΄λΆ€ VS μ™ΈλΆ€ μœ„ν˜‘: 둜컬 ν˜ΈμŠ€νŠΈλŠ” λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ— 직접 μ ‘μ†ν•˜λŠ” 경우둜, 일반적으둜 더 μ‹ λ’°ν•  수 μžˆλŠ” ν™˜κ²½μž…λ‹ˆλ‹€. λ°˜λ©΄μ— μ™ΈλΆ€ 접속은 μ™ΈλΆ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 μ ‘μ†ν•˜λŠ” 경우둜, λ³΄μ•ˆ μœ„ν˜‘μ΄ 높을 수 μžˆμŠ΅λ‹ˆλ‹€.
    2. μ ‘κ·Ό μ œμ–΄ κ°•ν™”: 둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ 접속을 κ΅¬λΆ„ν•¨μœΌλ‘œμ¨, 둜컬 ν˜ΈμŠ€νŠΈμ—μ„œλŠ” 보닀 μ—„κ²©ν•œ μ ‘κ·Ό μ œμ–΄λ₯Ό μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ‚΄λΆ€ μ‚¬μš©μžμ—κ²ŒλŠ” 더 λ§Žμ€ κΆŒν•œμ„ μ£Όκ³  μ™ΈλΆ€ μ‚¬μš©μžμ—κ²ŒλŠ” μ œν•œλœ κΆŒν•œμ„ λΆ€μ—¬ν•  수 μžˆλ„λ‘ ν•©λ‹ˆλ‹€.
    3. λ„€νŠΈμ›Œν¬ λ³΄μ•ˆ: 외뢀접속은 μ™ΈλΆ€ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 이루어지기 λ•Œλ¬Έμ—, λ„€νŠΈμ›Œν¬ μˆ˜μ€€μ˜ λ³΄μ•ˆ 정책이 ν•„μš”ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ™ΈλΆ€μ—μ„œμ˜ λΆˆλ²•μ μΈ 접근을 방지할 수 μžˆμŠ΅λ‹ˆλ‹€.
    4. κ°μ‹œ 및 λ‘œκΉ…: 둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ 접속을 κ΅¬λΆ„ν•˜μ—¬ λ³΄μ•ˆ 정책을 μ μš©ν•˜λ©΄, 각각의 ν™˜κ²½μ—μ„œ λ°œμƒν•˜λŠ” ν™œλ™μ„ λͺ¨λ‹ˆν„°λ§ν•˜κ³  λ‘œκΉ…ν•˜λŠ” 것이 μš©μ΄ν•΄μ§‘λ‹ˆλ‹€. μ΄λŠ” λ³΄μ•ˆ 사고 λ°œμƒ μ‹œ μ‹ μ†ν•˜κ²Œ λŒ€μ‘ν•  수 μžˆλ„λ‘ λ„μ™€μ€λ‹ˆλ‹€.

    λ”°λΌμ„œ λ°μ΄ν„°λ² μ΄μŠ€ μ‹œμŠ€ν…œμ—μ„œλŠ” 둜컬 ν˜ΈμŠ€νŠΈμ™€ μ™ΈλΆ€ 접속을 κ΅¬λΆ„ν•˜μ—¬ λ³΄μ•ˆ 정책을 μ μš©ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€.

    μ‚¬μš©μž μƒμ„±πŸ˜

    λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš©μž μƒμ„±μ˜ μ£Όμš” λͺ©μ μ€ λ³΄μ•ˆκ³Ό μ ‘κ·Ό μ œμ–΄μž…λ‹ˆλ‹€. λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš©μžλ₯Ό λΆ„λ¦¬ν•˜μ—¬ 각 μ‚¬μš©μžμ—κ²Œ ν•„μš”ν•œ κΆŒν•œλ§Œ λΆ€μ—¬ν•¨μœΌλ‘œμ¨ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ•ˆμ „μ„±μ„ 높이고, 각 μ‚¬μš©μžκ°€ μˆ˜ν–‰ν•  수 μžˆλŠ” μž‘μ—…μ„ μ œν•œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    λ‘œμ»¬μ—μ„œ 접속할 수 μžˆλŠ” μ‚¬μš©μž 생성

    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    • CREATE USER: μƒˆλ‘œμš΄ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜λŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€. `username`μ΄λΌλŠ” μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜κ³  `localhost`λΌλŠ” 호슀트 (ν˜„μž¬ 컴퓨터)μ—μ„œλ§Œ 접속을 ν—ˆμš©ν•˜λ„λ‘ μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€. 
    • @: μ‚¬μš©μž 이름과 호슀트λ₯Ό κ΅¬λΆ„ν•˜λŠ” κ΅¬λΆ„μžμž…λ‹ˆλ‹€. 이 경우 `username`μ΄λΌλŠ” μ‚¬μš©μž 이름과 `localhost`λΌλŠ” 호슀트λ₯Ό κ΅¬λΆ„ν•©λ‹ˆλ‹€. 
    • DENTIFIED BY: μ‚¬μš©μžμ—κ²Œ μ•”ν˜Έλ₯Ό μ„€μ •ν•˜λŠ” μ˜΅μ…˜μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” 'password'λΌλŠ” μ•”ν˜Έλ₯Ό μ‚¬μš©ν•˜λ„λ‘ μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€.
    • λΉ„λ°€λ²ˆν˜ΈλŠ” κ΅¬μ„±μš”μ†Œκ°€ μ•„λ‹Œ λ¬Έμžμ—΄λ‘œ μΈμ‹ν•©λ‹ˆλ‹€. 

    μ΄λ ‡κ²Œ μƒμ„±λœ μ‚¬μš©μžλŠ” ν•΄λ‹Ή 호슀트 localhostμ—μ„œλ§Œ 접속할 수 있으며, μ•”ν˜ΈλŠ” passwordμž…λ‹ˆλ‹€. 이 μ‚¬μš©μžλ₯Ό 톡해 λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘μ†ν•˜κ³  μž‘μ—…μ„ μˆ˜ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    μ™ΈλΆ€μ—μ„œ μ ‘κ·Όν•˜λŠ” μ‚¬μš©μž 생성

    CREATE USER `username`@`%` IDENTIFIED BY 'password';
    • CREATE USER: μƒˆλ‘œμš΄ μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜λŠ” λͺ…λ Ήμ–΄μž…λ‹ˆλ‹€. `username`μ΄λΌλŠ” μ‚¬μš©μžλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.
    • @: μ‚¬μš©μž 이름과 호슀트λ₯Ό κ΅¬λΆ„ν•˜λŠ” κ΅¬λΆ„μžμž…λ‹ˆλ‹€. 이 경우 `username`μ΄λΌλŠ” μ‚¬μš©μž 이름과 `localhost`λΌλŠ” 호슀트λ₯Ό κ΅¬λΆ„ν•©λ‹ˆλ‹€. 
    • %: μ™€μΌλ“œμΉ΄λ“œ 문자둜, λͺ¨λ“  호슀트λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. λ”°λΌμ„œ 이 μ‚¬μš©μžλŠ” μ–΄λ–€ ν˜ΈμŠ€νŠΈμ—μ„œλ“  접속할 수 있게 λ©λ‹ˆλ‹€.
      λ§Œμ•½ νŠΉμ • μ‚¬μš©μžλ₯Ό νŠΉμ • ν˜ΈμŠ€νŠΈμ—μ„œλ§Œ μ ‘μ†ν•˜λ„λ‘ μ œν•œν•˜κ³  μ‹Άλ‹€λ©΄ ν•΄λ‹Ή 호슀트의 IP μ£Όμ†Œλ‚˜ 도메인을 λͺ…μ‹œν•˜μ—¬ μ‚¬μš©μžλ₯Ό 생성할 수 μžˆμŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ % λ₯Ό μ‚¬μš©ν•˜λ©΄ λͺ¨λ“  ν˜ΈμŠ€νŠΈμ—μ„œ 접속이 κ°€λŠ₯ν•˜λ―€λ‘œ μ£Όμ˜κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
    • DENTIFIED BY: μ‚¬μš©μžμ—κ²Œ μ•”ν˜Έλ₯Ό μ„€μ •ν•˜λŠ” μ˜΅μ…˜μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œλŠ” 'password'λΌλŠ” μ•”ν˜Έλ₯Ό μ‚¬μš©ν•˜λ„λ‘ μ§€μ •ν–ˆμŠ΅λ‹ˆλ‹€.
    • λΉ„λ°€λ²ˆν˜ΈλŠ” κ΅¬μ„±μš”μ†Œκ°€ μ•„λ‹Œ λ¬Έμžμ—΄λ‘œ μΈμ‹ν•©λ‹ˆλ‹€. 

    λ‹€μŒμ€ μ‚¬μš©μžλ₯Ό νŠΉμ • ν˜ΈμŠ€νŠΈμ—μ„œλ§Œ 접속할 수 μžˆλ„λ‘ μ œν•œν•˜λŠ” μ˜ˆμ‹œμž…λ‹ˆλ‹€.

    CREATE USER 'study'@'specific_host' IDENTIFIED BY 'test1234';


    μ—¬κΈ°μ„œ specific_hostλŠ” νŠΉμ • 호슀트의 IP μ£Όμ†Œλ‚˜ 도메인을 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ ν•΄λ‹Ή μ‚¬μš©μžλŠ” μ§€μ •λœ ν˜ΈμŠ€νŠΈμ—μ„œλ§Œ 접속할 수 있게 λ©λ‹ˆλ‹€.

    κΆŒν•œ λΆ€μ—¬πŸ€

    MariaDBμ—μ„œλŠ” μ‚¬μš©μžλ₯Ό μƒμ„±ν•˜κ³  κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” λ‹€μ–‘ν•œ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. μ‚¬μš©μž 생성(CREATE), κΆŒν•œ λΆ€μ—¬(GRANT), κΆŒν•œ 회수(REVOKE), κΆŒν•œ 적용(FLUSH) λ“±μ˜ κΈ°λŠ₯을 톡해 λ°μ΄ν„°λ² μ΄μŠ€μ˜ λ³΄μ•ˆμ„ κ°•ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    κΆŒν•œ λΆ€μ—¬ κΈ°λ³Έ 문법

    GRANT 문은 λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ‚¬μš©μžμ—κ²Œ κΆŒν•œμ„ λΆ€μ—¬ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. 이 문법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

    GRANT κΆŒν•œ ON λ°μ΄ν„°λ² μ΄μŠ€.ν…Œμ΄λΈ” TO 'μ‚¬μš©μž'@'호슀트';


    μ—¬κΈ°μ„œ 각 μš”μ†ŒλŠ” λ‹€μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

    • κΆŒν•œ: μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•  κΆŒν•œμ„ μ§€μ •ν•©λ‹ˆλ‹€. SELECT, INSERT, UPDATE, DELETE 등이 μžˆμŠ΅λ‹ˆλ‹€.
    • λ°μ΄ν„°λ² μ΄μŠ€: κΆŒν•œμ„ λΆ€μ—¬ν•  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.
    • ν…Œμ΄λΈ”: κΆŒν•œμ„ λΆ€μ—¬ν•  νŠΉμ • ν…Œμ΄λΈ”μ„ μ„ νƒμ μœΌλ‘œ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€. 이 뢀뢄을 μƒλž΅ν•˜λ©΄ λ°μ΄ν„°λ² μ΄μŠ€μ˜ λͺ¨λ“  ν…Œμ΄λΈ”μ— λŒ€ν•œ κΆŒν•œμ΄ λΆ€μ—¬λ©λ‹ˆλ‹€.
    • μ‚¬μš©μž: κΆŒν•œμ„ λΆ€μ—¬ν•  μ‚¬μš©μžλ₯Ό μ§€μ •ν•©λ‹ˆλ‹€.
    • 호슀트: μ‚¬μš©μžκ°€ 접속할 수 μžˆλŠ” 호슀트λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. '%'λŠ” λͺ¨λ“  호슀트λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ™€μΌλ“œμΉ΄λ“œμž…λ‹ˆλ‹€.

    λͺ¨λ“  κΆŒν•œ λΆ€μ—¬

    GRANT ALL ON *.* TO `username`@`localhost`;

     

    username μ‚¬μš©μžμ— λŒ€ν•΄ λͺ¨λ“  λ°μ΄ν„°λ² μ΄μŠ€*.* μ˜ λͺ¨λ“  ν…Œμ΄λΈ”μ— λŒ€ν•œ λͺ¨λ“  κΆŒν•œ ALL을 λΆ€μ—¬ν•©λ‹ˆλ‹€. 즉, 이 μ‚¬μš©μžλŠ” localhostμ—μ„œ λͺ¨λ“  λ°μ΄ν„°λ² μ΄μŠ€μ™€ ν…Œμ΄λΈ”μ— λŒ€ν•΄ λͺ¨λ“  μž‘μ—…μ„ μˆ˜ν–‰ν•  수 있게 λ©λ‹ˆλ‹€.

    νŠΉμ • κΆŒν•œ λΆ€μ—¬ 

    GRANT SELECT, INSERT ON database_name.table_name TO 'username'@'localhost';

     

    database_name λ°μ΄ν„°λ² μ΄μŠ€μ˜ table_name ν…Œμ΄λΈ”μ— λŒ€ν•œ SELECT 및 INSERT κΆŒν•œλ§Œμ„ κ°€μ§‘λ‹ˆλ‹€.

    κΆŒν•œ 적용

    FLUSH PRIVILEGES;

    κΆŒν•œ λ³€κ²½ 사항을 μ¦‰μ‹œ μ μš©ν•  수 μžˆλ„λ‘ FLUSH PRIVILEGES 문을 μ‚¬μš©ν•©λ‹ˆλ‹€. 이 λͺ…령을 μ‹€ν–‰ν•˜λ©΄ λ³€κ²½λœ κΆŒν•œμ΄ μ¦‰μ‹œ μ μš©λ©λ‹ˆλ‹€.

     

    κΆŒν•œ 회수

    REVOKE ALTER, DROP ON *.* FROM 'username'@'localhost';

    λΆˆν•„μš”ν•œ κΆŒν•œμ„ νšŒμˆ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. REVOKE 문을 μ‚¬μš©ν•˜μ—¬ νŠΉμ • μ‚¬μš©μžμ˜ κΆŒν•œμ„ μ œκ±°ν•©λ‹ˆλ‹€.

    핡심 λ‚΄μš©πŸ‘€

    μ‚¬μš©μž κΆŒν•œ 관리

    728x90
    λ°˜μ‘ν˜•