λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

λͺ©λ‘μ΄ μ—†μŠ΅λ‹ˆλ‹€.

[MySQL] 덀프 밀어넣을 μ‹œ λΉ„λ°€λ²ˆν˜Έμ— 특수문자 처리

πŸ›’ DB/MySQL
    λ°˜μ‘ν˜•

    상황

    MySQL λ˜λŠ” MariaDBμ—μ„œ 기쑴에 λ“€μ–΄μžˆλ˜ 데이터λ₯Ό λ°±μ—…ν•˜κ±°λ‚˜ λˆ„κ΅°κ°€μ—κ²Œ 전달해주기 μœ„ν•΄μ„œ λ€ν”„λΌλŠ” 것을 ν•©λ‹ˆλ‹€. 이 덀프 νŒŒμΌμ€ μ‹€μ œλ‘œλŠ” 쿼리문이 λ“€μ–΄μžˆμŠ΅λ‹ˆλ‹€. ν…Œμ΄λΈ”μ„ λ‹€μ‹œ μƒμ„±ν•˜κ³  μ•ˆμ— λ“€μ–΄μžˆλ˜ 데이터λ₯Ό κ·ΈλŒ€λ‘œ λ‹€μ‹œ λ„£μ–΄μ£ΌλŠ” μΏΌλ¦¬λ¬Έμž…λ‹ˆλ‹€.

    μ„œλ²„λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‚¬λžŒ 그리고 DBλ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‚¬λžŒμ΄λΌλ©΄ 덀프λ₯Ό ν•˜κ³  λ‹€μ‹œ λ°€μ–΄λ„£λŠ”κ²ƒμ„ μ΅œμ†Œ ν•œλ²ˆμ―€μ€ κ²½ν—˜μ„ ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

    덀프λ₯Ό ν•˜κ³ , λ°€μ–΄λ„£λŠ” κ³Όμ •μ—λŠ” ν•΄λ‹Ή λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•  수 μžˆλŠ” κΆŒν•œμ„ 가진 계정이 ν•„μš”ν•©λ‹ˆλ‹€.

    이 λ•Œ λ°μ΄ν„°λ² μ΄μŠ€ κ³„μ •μ˜ λΉ„λ°€λ²ˆν˜Έμ— λ³΄μ•ˆμ„ μ‹ κ²½μ¨μ„œ νŠΉμˆ˜λ¬Έμžκ°€ ν¬ν•¨λ˜μ–΄ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 그러면 μ•„λž˜μ™€ 같이 일반적인 둜그인 λ°©μ‹μœΌλ‘œλŠ” 접속할 수 μ—†μŠ΅λ‹ˆλ‹€.

     

    $ mysqldump -u username -p abcd!@#$ --all-databases > /backup/backup.sql
    -bash: !@#$: event not found
    usernameμ΄λΌλŠ” DBμ‚¬μš©μžκ°€ μ ‘κ·ΌκΆŒν•œμ„ 가진 λͺ¨λ“  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ€ν”„ν•˜λŠ” λͺ…λ Ήμ–΄. μ—λŸ¬κ°€ λ°œμƒν•˜λŠ” 것을 확인할 수 μžˆλ‹€.

     

    ν•΄κ²°

    기본적으둜 Linux μ„œλ²„λŠ” @#$와 같은 특수문자 κΈ°ν˜Έκ°€ μ˜ˆμ•½μ–΄λ‘œ μ‚¬μš©λ˜κΈ° λ•Œλ¬Έμ— 즉, 이미 μ‚¬μš©λ  곳이 μ§€μ •λ˜μ–΄ 있기 λ•Œλ¬Έμ— μœ„μ˜ λͺ…λ Ήμ–΄ 처럼 μ‚¬μš©ν•˜κ²Œ 되면 μ—‰λš±ν•˜κ²Œ μΈμ‹ν•˜κ²Œ λ©λ‹ˆλ‹€. λ”°λΌμ„œ μ•„λž˜μ™€ 같이 μž‘μ€λ”°μ˜΄ν‘œ(')둜 λ¬Άμ–΄μ„œ λ³€μˆ˜ν™”ν•˜μ—¬ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

     

    export db_password='abcd!@#$'
    mysqldump -u username -p$db_password --all-databases > /backup/backup.sql

     

     

    λ‹€λ₯Έ ν•΄κ²° 방법

    mysql 5.6인가 5.8 버전 이상은 mysql_config_editorλ₯Ό μ΄μš©ν•΄ μ„€μ •ν•˜λŠ” login_pathλ₯Ό μ΄μš©ν•˜λŠ” 방법도 μžˆμŠ΅λ‹ˆλ‹€.

    μ •λ¦¬λœ λΈ”λ‘œκ·Έ 링크 : https://www.irgroup.org/posts/mysql-login-path/

     

     

    μ°Έκ³ 

    https://it-sunny-333.tistory.com/82

    https://github.com/HomoEfficio/dev-tips/blob/master/MySQL%20shell%EC%97%90%EC%84%9C%20mysql%20%EC%8B%A4%ED%96%89%20%EC%8B%9C%20%ED%8A%B9%EC%88%98%EB%AC%B8%EC%9E%90%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%20%EC%B2%98%EB%A6%AC.md

    https://walkingfox.tistory.com/116

     

     

    λ°˜μ‘ν˜•