Home > Development tools and environments > πŸ› οΈ[개발 도ꡬ 및 ν™˜κ²½] MySQL root λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •ν•˜κΈ° for MacOS.

πŸ› οΈ[개발 도ꡬ 및 ν™˜κ²½] MySQL root λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •ν•˜κΈ° for MacOS.
Development tools Enviroments

πŸ› οΈ[개발 도ꡬ 및 ν™˜κ²½] MySQL root λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •ν•˜κΈ° for MacOS.

πŸ“Œ Intro.

  • β†˜οΈŽ ν•„μžλŠ” 8.0.39 버전을 μ‚¬μš©μ€‘μ΄λ©° 8.0.39 버전을 κΈ°μ€€μœΌλ‘œ μ„€λͺ…ν•©λ‹ˆλ‹€.
    • β†˜οΈŽ λ‹€λ₯Έ 버전은 λΉ„λ°€λ²ˆν˜Έ μž¬μ„€μ •μ΄ λ‹€λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€ ⚠️

βœ…1️⃣ MySQL μ„œλ²„ 확인 및 μ€‘μ§€ν•˜κΈ°.

  • β†˜οΈŽ MySQL μ„œλ²„κ°€ μ‹€ν–‰ 쀑인지 ν™•μΈν•©λ‹ˆλ‹€.
    ps aux | grep mysql
    
  • β†˜οΈŽ μ˜ˆμƒ κ²°κ³Ό:
    _mysql           15308   0.1  1.3 412253456 449312 s001  S     8:23AM   0:02.13 /path/to/mysqld --basedir=/path/to/mysql --datadir=/path/to/mysql/data --plugin-dir=/path/to/mysql/plugin --user=mysql --log-error=/path/to/mysql/logs/mysql.err --pid-file=/path/to/mysql/data/mysql.pid
    user1             6103   0.0  0.4 415725424 141392   ??  S     3:47AM   0:26.89 /path/to/IntelliJ IDEA.app/bin/java -Djava.rmi.server.hostname=127.0.0.1 -Duser.timezone=UTC ...
    user1             15467   0.0  0.0 410733328   1632 s001  S+    8:32AM   0:00.00 grep --color=auto mysql
    root             15224   0.0  0.0 410726688   2672 s001  S     8:23AM   0:00.01 /bin/sh /path/to/mysql/bin/mysqld_safe --datadir=/path/to/mysql/data --pid-file=/path/to/mysql/data/mysql.pid
    

βœ…1️⃣ MySQL μ„œλ²„κ°€ μ‹€ν–‰ 쀑일 경우.

  • β†˜οΈŽ 1. kill -9 'ν”„λ‘œμ„ΈμŠ€μ˜ PID'
    • β†˜οΈŽ 예: kill -9 15308
      • β†˜οΈŽ μœ„μ™€ 같이 ν”„λ‘œμ„ΈμŠ€μ˜ PIDλ₯Ό μ£½μ—¬ μ„œλ²„λ₯Ό μ€‘μ§€μ‹œν‚΅λ‹ˆλ‹€.
  • β†˜οΈŽ 2. sudo pkill mysqld
    • β†˜οΈŽ μœ„ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ λͺ¨λ“  ν”„λ‘œμ„ΈμŠ€λ₯Ό μ£½μ—¬ μ„œλ²„λ₯Ό μ€‘μ§€μ‹œν‚΅λ‹ˆλ‹€.
  • β†˜οΈŽ 3. /path/to/mysql/support-files/mysql.server stop
    • β†˜οΈŽ μœ„ λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ mysql.serverλ₯Ό μ€‘μ§€μ‹œν‚΅λ‹ˆλ‹€.
  • β†˜οΈŽ 4. λ‚˜λ§Œμ˜ 슀크립트 μ‚¬μš©.
    • β†˜οΈŽ μžμ‹ λ§Œμ˜ μŠ€ν¬λ¦½νŠΈκ°€ μžˆλ‹€λ©΄ κ·Έ 슀크립트λ₯Ό μ‚¬μš©ν•˜μ—¬ serverλ₯Ό μ€‘μ§€μ‹œν‚΅λ‹ˆλ‹€.

βœ…2️⃣ MySQL μ„œλ²„ --skip-grant-tables λͺ…λ Ήμ–΄λ‘œ μ‹œμž‘ν•˜κΈ°.

  • β†˜οΈŽ μ„œλ²„λ₯Ό --skip-grant-tables μ˜΅μ…˜μ„ μ£Όμ–΄ μ‹œμž‘ν•©λ‹ˆλ‹€.
    /path/to/mysql/support-files/mysql.server start --skip-grant-tables
    
  • β†˜οΈŽ μœ„ μ˜΅μ…˜μ˜ 경우 root 인증 없이 MySQL μ„œλ²„μ— μ ‘κ·Όν•  수 μžˆλ„λ‘ ν•΄μ€λ‹ˆλ‹€.

βœ…3️⃣ root 계정에 μ ‘κ·Ό 및 λΉ„λ°€λ²ˆν˜Έλ₯Ό null둜 λ°”κΎΈκΈ°.

βœ…1️⃣ root 계정에 μ ‘κ·Όν•˜κΈ°.

  • β†˜οΈŽ mysql -u root λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•˜μ—¬ root 계정에 μ ‘κ·Όν•©λ‹ˆλ‹€.
    mysql -u root
    

βœ…2️⃣ λΉ„λ°€λ²ˆν˜Έλ₯Ό null둜 λ°”κΎΈκΈ°.

  • πŸ“Œ λΉ„λ°€λ²ˆν˜Έλ₯Ό null둜 λ°”κΎΈλŠ” 이유
    • β†˜οΈŽ MySQL 8.0.X λΆ€ν„°λŠ” ALTER USERλ₯Ό μ‚¬μš©ν•˜μ—¬ λΉ„λ°€λ²ˆν˜Έλ₯Ό λ³€κ²½ν•΄μ•Ό ν•©λ‹ˆλ‹€.
    • β†˜οΈŽ κ·ΈλŸ¬λ‚˜ --skip-grant-tables μ˜΅μ…˜μ€ ALTER USER κ°€ μ‹€ν–‰λ˜μ§€ μ•ŠμœΌλ―€λ‘œ λΉ„λ°€λ²ˆν˜Έλ₯Ό null둜 λ°”κΎΈκ³  빈 λΉ„λ°€λ²ˆν˜Έμ— 정상 μ ‘κ·Όν•˜μ—¬ λΉ„λ°€λ²ˆν˜Έλ₯Ό μž¬μ„€μ •ν•˜λŠ” 방법을 μ‚¬μš©ν•˜κΈ° μœ„ν•΄ null둜 일단 λ°”κΏ‰λ‹ˆλ‹€.

βœ…3️⃣ FLUSH PRIVILEGES.

  • β†˜οΈŽ FLUSH PRIVILEGESλ₯Ό μ‚¬μš©ν•˜μ—¬ κΆŒν•œ 섀정을 ν•΄μ€λ‹ˆλ‹€.

βœ…4️⃣ μ„œλ²„ μž¬μ‹œμž‘ 및 λΉ„λ°€λ²ˆν˜Έ λ³€κ²½.

βœ…1️⃣ μ„œλ²„ μž¬μ‹œμž‘

  • β†˜οΈŽ /path/to/mysql/support-files/mysql.server restart;둜 μ„œλ²„λ₯Ό μž¬μ‹œμž‘ ν•©λ‹ˆλ‹€.

βœ…2️⃣ 루트 κΆŒν•œμœΌλ‘œ μ ‘κ·Ό.

  • β†˜οΈŽ mysql -u rootλ₯Ό μ‚¬μš©ν•˜μ—¬ root κΆŒν•œμœΌλ‘œ μ ‘κ·Όν•©λ‹ˆλ‹€.

βœ…3️⃣ λΉ„λ°€λ²ˆν˜Έ λ³€κ²½.

  • β†˜οΈŽ ALTER USER 'root'@'localhost' identified with caching_sha2_password by 'new_password';
    • β†˜οΈŽ μœ„μ™€ 같이 λΉ„λ°€λ²ˆν˜Έλ₯Ό λ³€κ²½ν•©λ‹ˆλ‹€.

βœ…5️⃣ ν™•μΈν•˜κΈ°.

  • β†˜οΈŽ mysql -u root -p
    • β†˜οΈŽ 바뀐 λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜κ³  잘 접속이 λ˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.