(3D)Dev Deep Dive/TroubleShootings

[Dev Setting, Mariadb/Mysql] local DB 설치과정 중 NIMBY 현상 발생

  • -
728x90

아마 이 글에서 NIMBY는 이런 뜻일 겁니다.

Now
I am going to tell you about how I fixed error about setting

Mysql and mariadb in local environment.

But I can't solve this problem. so reset

Your computer

2023 Series

 

[ 2023 ] CheckPoint, 2023년

2023년 동안 작성했던 의미있다고 생각하는 포스팅들을 모아 둔 게시글입니다 이 글은 2023년이 끝날 때까지 계속해서 업데이트 해 나갈 예정입니다 [ January ] - 변화의 시작, 1월 더보기 [2022WinterBoo

time-map-installer.tistory.com

 


 

문제 정의 - 왜 내 local 환경은 DB를 거부하는가

local 환경: M1, MacBook-PRO

설치 환경: homebrew

Terminal: oh-my-zsh, iTerm2

문제: mysql이나 mariadb 설치오류

 

이전까지 약 한 달 가량 문제 지속, 프론트엔드 엔지니어링에 DB가 많이 필요한 건 아니라서 문제가 없었지만

학교 프로젝트에서 로컬 DB가 필수적이므로 문제 해결을 위한 TroubleShooting을 작성합니다.

 

작성 시점 이전까지 해 본 시도들은 다음과 같습니다.

  1. remove, install로 db 재설치, 실패
  2. brew 삭제 후 cleanup 한 후 재설치, 실패
  3. /opt/homebrew/var/mysql 디렉터리 삭제 후 재설치, 실패
  4. /opt/homebrew/var/mysql 삭제한 후 재실행, 실패
  5. sudo 이용한 설치, 실패
  6. mariadb나 mysql 중 하나만 깔아두고 실행해보기, 실패
  7. httpd 설치 후 mysql 실행, 실패
  8. chmod 이용한 mysql 권한 변경 -> 적용된 권한이 보이지 않음, 실패
  9. /opt/homebrew/var/mysql 삭제 후, brew postinstall 을 통해 설치해보기, 실패
  10. homebrew 제거, 캐시 제거 후 /opt/hombrew/var/ 내부 디렉터리 전체 제거 이후 homebrew 재설치 이후 db 설치, 실패

실패는 성공의 어머니라고 합니다만 지금 어머니께서 여행가셨나보네요. 아직 더 기다려야 하나봅니다.

 

위와 같은 시도들에도 현재까지 해결되고 있지 않는 문제가 있어 에러 로그를 공유하도록 하겠습니다.

로컬 db를 설치해야하는데 설치 자체가 안되는 건지 workbench를 사용해도 접속이 안되었습니다.

 

날잡고 36시간동안 고군분투하고 결국에는 성공한 이 TroubleShooting을 문서화하여 공유합니다.

저는 최후의 방법을 사용하였지만 이 글을 읽는 분들 중에서는 이 방법들 중에서 해결이 되는 분이 분명 있을 것이라고 믿습니다.

 

GPT Plus의 GPT4와 여러 글들, 그리고 지인분들께 방법에 대한 조언을 듣고 얻은 모든 방법을 동원해 보았습니다.
결국은 포맷이었지만, 포맷은 너무나도 오래 걸리고 다시 세팅하기까지 너무나도 귀찮기에 다른 방법들을 먼저 활용해보는 것도 괜찮을 것  같습니다.

+ 인터넷 화면 크기를 줄이고 사이드 shortcut 기능을 이용하면 더 빠르게 원하는 곳으로 이동하실 수 있습니다.

 

 

 


 

문제 정의 - 현재 상황

주요 상황은 다음과 같습니다.

중요: brew service start mariadb/mysql 을 통해 서버를 실행함과 동시에 stopped로 바뀌는 현상

  • 이 부분을 해결했다면 정상적으로 실행할 수 있을 듯 한데 거의 모든 과정의 마지막에서 이 현상이 공통적으로 나타났습니다.

커맨드를 통해 파일 mysql 관련 파일을 확인해보면 출력되지만 finder에서는 나타나지 않는 현상

 

권한 설정을 해 두어도 실제 권한 목록에 mysql이 나타나지 않는 현상mysql을 삭제하고 재설치해도 관련 디렉터리들이 나타나지 않는 현상(brew 재설치 시에도 같은 현상 나타남)

 

그리고 주요 에러 메세지들은 다음과 같았습니다.

Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/tminstaller/Library/LaunchAgents/homebrew.mxcl.mariadb.plist` exited with 5.

// 혹은

ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)

 

1st Trying - DB 재설치, 소켓 파일 위치 설정 변경, 버전 확인

현재까지도 이 문제를 해결하기 위해 많은 노력을 기울였습니다.

해당 문제에 대해 몇 가지 시도를 해보도록 하였습니다.

  1. MySQL, MariaDB 완전히 제거 후 재설치:
    • 현재까지 시도한 방법 외에도 완전한 삭제가 필요할 수 있습니다.
    • 이를 위해선 MySQL 혹은 MariaDB와 관련된 모든 파일 및 디렉토리를 수동으로 삭제해야 할 수도 있습니다.
       brew remove mysql
       brew cleanup
       sudo rm /usr/local/mysql
       sudo rm -rf /usr/local/var/mysql
       sudo rm -rf /Library/StartupItems/MySQLCOM
       sudo rm -rf /Library/PreferencePanes/My*
       sudo rm -rf ~/Library/PreferencePanes/My*
       sudo rm -rf /Library/Receipts/mysql*
       sudo rm -rf /Library/Receipts/MySQL*
       sudo rm -rf /var/db/receipts/com.mysql.*
      그 후 재설치를 시도해 보세요.

아니면 아래의 명령들을 차례대로 실행해보세요.

  1. 소켓 파일 위치 설정 변경
    • 에러 메세지에 따르면 소켓 파일이 위치해야 할 곳에 없는 것으로 보입니다.
    • my.cnf 파일에 다음과 같은 설정을 추가해 보세요.
    • 그 후 MySQL 혹은 MariaDB를 재시작해 보세요.
  2. [mysqld] socket=/tmp/mysql.sock
  3. MySQL 설정 파일 문제
    • MySQL 설정 파일이 잘못된 경우에도 비슷한 문제가 발생할 수 있습니다.
    • /etc/my.cnf, /etc/mysql/my.cnf 또는 ~/.my.cnf에 있는 설정 파일이 올바른지 확인해 보세요.
  4. Homebrew 버전
    • 또한 Homebrew의 최신 버전을 사용하고 있는지 확인해 보세요.
    • 이전 버전의 Homebrew를 사용하고 있다면 문제가 발생할 수 있습니다.
    • 아래의 명령어로 Homebrew를 업데이트 해보세요.
  5. brew update brew upgrade

이외에도 시스템 로그를 확인해 보는 것도 좋을 것입니다.

/var/log/system.log에 접근해 MySQL 혹은 MariaDB와 관련된 로그를 확인해 보세요.

이 로그는 문제의 원인을 찾는데 도움이 될 수 있습니다.

 

모든 것이 실패한다면, Docker와 같은 가상화 도구를 사용해 MySQL 혹은 MariaDB를 설치하는 것도 고려해 볼 수 있습니다.

이는 시스템의 다른 부분과 격리되어 실행되므로 문제를 해결할 수 있을 것입니다.

 

하지만 이 부분에서 따로 해결되는 부분은 없없습니다. 그래서 두 번째 시도로 넘어갔습니다.

 


 

 

2nd Trying - 로그 파일 확인해보기, Mac 컴퓨터 이름 확인

Homebrew를 통해 설치한 MariaDB의 경우, 로그 파일은 보통 /usr/local/var/mysql/ 디렉토리에 위치해 있습니다.

이 경로는 MariaDB가 설치된 위치에 따라 다를 수 있으니, 설치 경로를 확인해 보시는 것이 좋습니다.

 

MariaDB의 에러 로그를 보기 위해서는 Terminal을 열고 아래와 같은 명령어를 입력하면 됩니다.

tail -f /usr/local/var/mysql/your_computer_name.local.err

 

여기서 your_computer_name.local.err는 MariaDB의 에러 로그 파일명입니다.

이 파일명은 본인의 컴퓨터 이름에 따라 다르게 표시될 수 있습니다.

 

tail -f 명령은 위에서 설명한 것과 같이 파일의 마지막 부분을 실시간으로 출력해주는 명령어입니다.

이 로그 파일에는 MariaDB를 실행하거나 종료할 때 발생하는 에러 메시지 또는 MariaDB의 동작에 관한 정보가 저장되어 있으므로, 문제의 원인을 찾는 데 도움이 될 것입니다.

 

시도 과정

tail: /usr/local/var/mysql/TMInstaller.local.err: No such file or directory
  • 아마 이름을 잘못 입력한 것 같아서 컴퓨터 이름을 찾아보았습니다.

 

Mac에서 컴퓨터 이름을 확인하는 방법은 다음과 같습니다.

System Preferences (시스템 환경설정)을 통해 확인하는 방법:

  1. Apple 메뉴(화면 왼쪽 상단에 있는  아이콘)을 클릭합니다.
  2. "System Preferences"를 선택합니다.
  3. "Sharing" 아이콘을 클릭합니다.
  4. "Computer Name" 필드에 표시된 이름이 현재 Mac 컴퓨터의 이름입니다.

 

또는,

Terminal (터미널)을 통해 확인하는 방법:

Terminal 애플리케이션을 실행하고 다음과 같은 명령어를 입력합니다:

hostname
  • 이렇게 해서 출력된 결과는 아래와 같습니다.
$(yourhostname).local

예를들어 제 hostname이 TimeMap이라면 결과는 TimeMap.local이라고 나오게 되는 것이죠

 

추가적인 문제 발생

  • /usr/local/var directory not found
  • 이 디렉토리가 없어서 이 에러 파일 또한 찾을 수 없다는 것이었습니다.

 

/usr/local/var 디렉터리가 없는 경우, Homebrew의 설치가 올바르게 이루어지지 않았을 수 있습니다.

기본적으로 Homebrew는 /usr/local/var 디렉터리를 생성하고 이를 사용합니다.

 

디렉터리를 직접 만드는 방법도 있지만, 그 전에 Homebrew 설치 상태를 확인하는 것이 좋습니다.

 

Homebrew 설치 상태 확인을 위해서는 터미널에서 다음 명령어를 실행해보세요

brew doctor

이 명령어는 Homebrew의 설치 상태를 점검하고 문제가 있는 경우, 그 해결 방법을 안내해줍니다.

 

2nd Trying - Result, 환경변수에 디렉터리 추가하기

Warning: Homebrew's "sbin" was not found in your PATH but you have installed
formulae that put executables in /opt/homebrew/sbin.
Consider setting your PATH for example like so:
echo 'export PATH="/opt/homebrew/sbin:$PATH"' >> ~/.zshrc

 

Homebrew가 설치한 일부 프로그램이 실행되려면, 해당 프로그램의 실행 파일이 위치한 디렉토리를 PATH 환경 변수에 추가해야 합니다.

여기서 PATH는 운영체제가 프로그램을 찾을 때 확인하는 디렉토리 목록을 가진 환경 변수입니다.

 

위 경고 메세지는 Homebrew가 설치한 일부 프로그램의 실행 파일이 /opt/homebrew/sbin에 위치해 있으므로, 이 디렉토리를 PATH에 추가해야 한다는 내용입니다.

 

이를 해결하기 위해 제안된 명령어는 PATH 환경 변수에 /opt/homebrew/sbin 디렉토리를 추가하는 것입니다.

터미널을 열고 아래의 명령어를 실행해보았습니다.

echo 'export PATH="/opt/homebrew/sbin:$PATH"' >> ~/.zshrc

 

이 명령어는 현재 사용자의 Zsh 셸 설정 파일인 ~/.zshrcPATH 환경 변수 설정을 추가하는 것입니다.

만약 Bash 셸을 사용하고 있다면, 대신 ~/.bash_profile 파일에 같은 설정을 추가해야 합니다

echo 'export PATH="/opt/homebrew/sbin:$PATH"' >> ~/.bash_profile

 

이렇게 하고 나서 새로운 터미널 창을 열거나, 현재 터미널 세션에서 다음 명령어를 실행하여 변경한 설정을 적용하세요:

source ~/.zshrc     # Zsh를 사용하는 경우
source ~/.bash_profile  # Bash를 사용하는 경우

 

이제 운영체제는 /opt/homebrew/sbin 디렉토리에 있는 실행 파일들을 찾을 수 있을 것입니다. 이 경고 메시지는 더 이상 표시되지 않아야 합니다.

 

위 방법대로 하였을 때 더 이상 아까의 에러메세지가 나타나지 않았습니다. 우선 여기는 성공했군요.

 


 

만약 위의 명령어가 특별한 문제점을 찾지 못했거나, 여전히 /usr/local/var 디렉터리가 없는 경우, 직접 디렉터리를 생성할 수 있습니다.

다음 명령어를 터미널에 입력하세요:

sudo mkdir -p /usr/local/var

 

Result

➜  ~ brew reinstall mariadb

➜  ~ brew services
Name    Status User File
mariadb none
➜  ~ brew services start mariadb
==> Successfully started `mariadb` (label: homebrew.mxcl.mariadb)
➜  ~ mariadb -u root
ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)

결국 처음에 적어둔 것과 같은 에러가 발생하는 상황입니다.

 


 

 

3rd Trying - my.cnf 파일 수정해보기

ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)

 

에러는 MySQL 혹은 MariaDB 서버가 실행되지 않았을 때 발생하는 에러입니다.

 

우선적으로 MariaDB 혹은 MySQL 서버가 실행되고 있는지 확인해 보세요. Terminal에서 아래 명령어를 입력하여 확인할 수 있습니다.

brew services list

 

Result

현재 예상대로 멈춰있는 모습을 볼 수 있습니다.

Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

 

이 명령어는 Homebrew를 통해 설치한 서비스들의 현재 상태를 보여줍니다.

 

MariaDB 혹은 MySQL 서비스가 실행되지 않았으므로, 아래 명령어를 통해 실행해 보았습니다.

brew services start mariadb
# 혹은
brew services start mysql

 

위 명령어를 실행한 후 다시 MariaDB 혹은 MySQL 서버에 접속해 보았습니다.

 

Result

➜  ~ brew services start mariadb
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/tminstaller/Library/LaunchAgents/homebrew.mxcl.mariadb.plist` exited with 5.

여전히 아까의 그 에러가 다시 나오는 반복되는 현상입니다.

 

만약 위 방법으로도 해결되지 않는다면, my.cnf 설정 파일에서 socket 설정이 올바른지 확인해볼 필요가 있습니다.

MariaDB 혹은 MySQL에서 사용하는 소켓 파일 경로가 실제로 존재하는지, 그리고 해당 소켓 파일에 대한 권한이 적절한지 확인해 보세요.

 

일반적으로 my.cnf 파일은 /etc/ 혹은 /usr/local/etc/ 디렉터리에 위치해 있습니다.

아래와 같이 my.cnf 파일의 socket 설정을 확인하거나 수정할 수 있습니다.

[client]
#socket=/var/mysql/mysql.sock
socket=/tmp/mysql.sock

[mysqld]
#socket=/var/mysql/mysql.sock
socket=/tmp/mysql.sock

모든 설정을 확인한 후에도 여전히 문제가 발생한다면, MariaDB 혹은 MySQL을 완전히 삭제한 후 재설치하는 것을 고려해볼 수 있습니다.

TIP - Finder에서 폴더 검색하기, M1은 다른 경로에 있어요!

finder에서 폴더를 검색하려면 command + shift + g 를 누르면 됩니다.

 

놀랍게도 /usr/local/etc/ 디렉터리가 존재하지 않았습니다.

 

Homebrew가 설치되는 위치는 Mac의 M1 칩셋에서 변경되었습니다.

M1 칩셋을 사용하는 경우 Homebrew는 /opt/homebrew/ 디렉터리에 설치되며, 설정 파일들은 /opt/homebrew/etc/ 디렉터리에 위치합니다.

 

따라서, 위의 파일 경로 대신 /opt/homebrew/etc/ 디렉터리에 my.cnf 설정 파일이 있는지 확인하면 됩니다.

 

아래 명령어를 사용하면 확인할 수 있습니다.

ls /opt/homebrew/etc/my.cnf

Result

➜  ~ ls /opt/homebrew/ets/my.cnf
ls: /opt/homebrew/ets/my.cnf: No such file or directory

하지만 없었습니다.

하지만 finder에서 직접 찾아가보았더니 있었습니다.

뭔가 이상하네요?

 

! 앗 오타가 났었습니다.

 

➜  ~ ls /opt/homebrew/etc/my.cnf
/opt/homebrew/etc/my.cnf

오타를 수정하니 정상적으로 있네요

 

# Default Homebrew MySQL server config
[mysqld]
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1

파일 내용은 위와 같았습니다.

 

[client]
socket=/tmp/mysql.sock

[mysqld]
socket=/tmp/mysql.sock

위의 설정을 /opt/homebrew/etc/my.cnf 파일에 적용하고, MariaDB 혹은 MySQL을 다시 시작해보라고 합니다.

이후에도 문제가 발생한다면, MariaDB 혹은 MySQL의 로그 파일을 확인하여 문제의 원인을 찾아볼 수 있습니다.

 

Result

저는 매우 편리한 문서 편집기로 VSCode를 선택했습니다.

VSCode로 해당 파일을 열고, 편집하고, 저장하면 됩니다.

# Default Homebrew MySQL server config
[client]
socket=/tmp/mysql.sock
[mysqld]
socket=/tmp/mysql.sock
# Only allow connections from localhost
bind-address = 127.0.0.1
mysqlx-bind-address = 127.0.0.1

이런 식으로 고치고 다시 실행해보겠습니다.

터미널을 재실행 하고 실행시켜보았습니다.

 

➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
➜  ~ brew services start mariadb
Service `mariadb` already started, use `brew services restart mariadb` to restart.
➜  ~ brew services restart mariadb
Stopping `mariadb`... (might take a while)
==> Successfully stopped `mariadb` (label: homebrew.mxcl.mariadb)
==> Successfully started `mariadb` (label: homebrew.mxcl.mariadb)
➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

역시나 실행은 잘 되지만 바로 직후에 status가 stopped로 바뀌는 현상은 해결되지 않았습니다

 


 

 

4th Trying - 로그 파일 확인, my.cnf 수정

M1 칩이라는 것을 질문할 때 명시해야할 것 같습니다

CPU 종류에 따라 경로가 다르네요

 

M1 칩셋의 Mac에서 MariaDB가 바로 종료되는 문제는 Homebrew와 MariaDB의 호환성 문제일 수 있다고 합니다.

이런 경우 MariaDB가 왜 종료되었는지 이유를 파악하기 위해 로그 파일을 확인해볼 필요가 있습니다.

MariaDB의 로그 파일 위치는 설정에 따라 다르지만, 기본적으로 /opt/homebrew/var/mysql/컴퓨터이름.local.err에 위치합니다.

아래 명령어를 통해 로그 파일을 확인해 볼 수 있습니다.

cat /opt/homebrew/var/mysql/$(hostname).err

 

Result

  • 로그 파일 내용을 그대로 분석 의뢰했습니다.

많이 길었는데 그정도의 텍스트가 모두 입력되었고 답변도 정상적으로 나왔습니다. 신기하네요?

 

로그 분석 결과

MariaDB 서버를 시작하는 동안에 두 가지 주요한 오류가 발생하였습니다.

  1. "Table 'mysql.plugin' doesn't exist"
  2. 이 메시지는 'mysql.plugin' 테이블이 존재하지 않는다는 것을 의미합니다.
    • 이 테이블은 MariaDB에서 사용되는 플러그인 정보를 저장합니다.
    • 이 테이블이 없으면 일부 플러그인이 로드되지 않을 수 있습니다.
    • 이 문제를 해결하려면 MariaDB 설치를 확인하거나 다시 설치할 수 있습니다.
  3. "unknown variable 'mysqlx-bind-address=127.0.0.1'"
  4. 이 메시지는 'mysqlx-bind-address'라는 알 수 없는 변수가 있음을 나타냅니다.
    • 'mysqlx-bind-address'는 MySQL 8.0 이상에서 MySQL X 프로토콜을 위한 설정 변수입니다.
    • 그러나 이 변수는 MariaDB에서 지원되지 않습니다.
    • MariaDB에서는 'bind-address'라는 설정만 지원됩니다. 따라서
    • 'mysqlx-bind-address' 설정을 제거해야 합니다.

이 두 문제를 해결하려면 MariaDB 설치를 다시 확인하거나 필요한 경우 재설치하십시오.

그리고 'mysqlx-bind-address' 설정을 my.cnf 또는 MariaDB의 설정 파일에서 제거하십시오.

이 두 가지 변경 후에 MariaDB를 다시 시작하십시오.

 

Result

# Default Homebrew MySQL server config
[client]
socket=/tmp/mysql.sock
[mysqld]
socket=/tmp/mysql.sock
# Only allow connections from localhost
bind-address = 127.0.0.1
# mysqlx-bind-address = 127.0.0.1 <- 이 부분 제거

이렇게 제시된 대로 변경한 이후 다시 시작해보겠습니다.

 

➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
➜  ~ brew services restart mariadb
Stopping `mariadb`... (might take a while)
==> Successfully stopped `mariadb` (label: homebrew.mxcl.mariadb)
==> Successfully started `mariadb` (label: homebrew.mxcl.mariadb)
➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

역시나 안되는군요

 


 

 

5th Trying - DB 재 설치

확인해보니 MariaDB 서비스가 제대로 시작되지 않고 있는 것으로 보였습니다.

아래의 방법을 사용하여 문제를 해결을 시도해보았습니다.

  • 설치 재검토
    • MariaDB가 제대로 설치되지 않았을 수 있습니다.
    • Homebrew를 사용하여 MariaDB를 재설치해보세요.
  • 그러나 이 작업을 수행하기 전에 데이터 백업을 해두는 것이 좋습니다.
  • Homebrew를 사용하여 MariaDB를 재설치하는 방법은 다음과 같습니다
    • brew remove mariadb
    • brew cleanup
    • brew install mariadb

 

Result

➜  ~ brew remove mariadb
Uninstalling /opt/homebrew/Cellar/mariadb/10.11.3... (928 files, 210.7MB)
➜  ~ brew cleanup
Pruned 0 symbolic links and 2 directories from /opt/homebrew
➜  ~ brew install mariadb
# successed
➜  ~ brew services start mariadb
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.

Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/tminstaller/Library/LaunchAgents/homebrew.mxcl.mariadb.plist` exited with 5.

➜  ~ brew services restart mariadb
Stopping `mariadb`... (might take a while)
==> Successfully stopped `mariadb` (label: homebrew.mxcl.mariadb)
==> Successfully started `mariadb` (label: homebrew.mxcl.mariadb)
➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/tminstaller/Library/LaunchAgents/homebrew.mxcl.mariadb.plist` exited with 5.

이런 오류는 지치지도 않고 나는군요

 


 

 

6th Trying - Homebrew를 이용하지 않고 수동으로 시작해보기

이러한 문제는 Homebrew에서 MariaDB 서비스를 관리하려고 할 때 발생하는 것 같습니다.

 

Homebrew 대신 MariaDB 서버를 수동으로 시작해 보시는 것은 어떨까요?

 

이는 다음의 명령어를 사용하였습니다.

mysql.server start

 

Result

➜  ~ mysql.server start
Starting MariaDB
230602 14:47:18 mysqld_safe Logging to '/opt/homebrew/var/mysql/{your-computer-name}.local.err'.
230602 14:47:18 mysqld_safe Starting mariadbd daemon with databases from /opt/homebrew/var/mysql
./opt/homebrew/bin/mysql.server: line 264: kill: (18771) - No such process
 ERROR!

이런! 이렇게도 에러가 나는군요!

 

 

혹시몰라 다음과 같이 MariaDB 서버의 상태를 확인해 보았습니다.

mysqladmin version

이 명령은 MariaDB 서버가 현재 실행 중인지, 그리고 어떤 설정이 적용되어 있는지 등의 정보를 제공합니다.

 

Result

➜  ~ mysqladmin version
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local server through socket '/tmp/mysql.sock' (2)'
Check that mariadbd is running and that the socket: '/tmp/mysql.sock' exists!

이 또한 먹히지 않았습니다.

 


 

 

7th Trying - DB 재 설치, 서버 수동 시작

위 두 결과에 대한 원인을 조사해보았습니다.

 

아래의 명령을 사용하여 MariaDB를 재설치해 보았습니다.

brew uninstall mariadb
brew cleanup
brew install mariadb

 

 

mysql.server start

위의 단계를 완료한 후에는 다시 mysqladmin version 명령을 실행하여 MariaDB 서버의 상태를 확인해 보았습니다.

MariaDB 서버가 제대로 시작되었는지 확인할 수 있습니다.

 

Result

➜  ~ mysql.server start
Starting MariaDB
230602 14:53:18 mysqld_safe Logging to '/opt/homebrew/var/mysql/{your-computer-name}.local.err'.
230602 14:53:18 mysqld_safe Starting mariadbd daemon with databases from /opt/homebrew/var/mysql
./opt/homebrew/bin/mysql.server: line 264: kill: (22816) - No such process
 ERROR!

하지만 제대로 시작되었다면 8번째 시도는 없었겠죠?


 

8th Trying - MariaDB 대신 MySQL 사용해보기

 

만약 여전히 문제가 발생한다면, MariaDB 설치와 관련된 문제를 해결하기 위해 다른 방법을 시도해 볼 수 있습니다.

 

그 중 하나는 MariaDB 대신 MySQL을 사용하는 것입니다.

MariaDB는 MySQL의 포크이므로, 두 시스템은 매우 유사합니다.

 

MySQL은 다음의 명령으로 설치할 수 있습니다

brew install mysql

 

그리고 다음의 명령으로 MySQL 서비스를 시작할 수 있습니다:

brew services start mysql

 

 

Result

Error: Cannot install mysql because conflicting formulae are installed.
  mariadb: because mysql, mariadb, and percona install the same binaries

Please `brew unlink mariadb` before continuing.

Unlinking removes a formula's symlinks from /opt/homebrew. You can
link the formula again after the install finishes. You can --force this
install, but the build may fail or cause obscure side effects in the
resulting software.

이마저도 순탄하지 않습니다.

 

여러 DB가 충돌이 날 때에는? 하나를 Unlink 해보자!

MariaDB가 이미 설치되어 있어서 MySQL 설치가 충돌하는 상황이었습니다.

이 문제를 해결하려면 먼저 MariaDB를 언링크해야 합니다.

 

MariaDB를 언링크해 보세요

brew unlink mariadb

 

그리고 나서 MySQL을 설치하실 수 있습니다

brew install mysql

 

그 후, MySQL 서비스를 시작합니다

brew services start mysql

 

이 단계들을 거치면 MySQL을 사용하실 수 있을 것입니다.

 

하지만 MariaDB를 사용하려 한다면, MariaDB를 다시 링크해야 합니다

brew link mariadb

 

그런 다음 MariaDB 서비스를 다시 시작합니다

brew services start mariadb

 

필요에 따라 이 두 데이터베이스 시스템 중 하나를 선택하여 사용하실 수 있습니다.

동시에 두 시스템을 실행하면 충돌이 발생할 수 있으므로, 한 번에 하나의 시스템만 사용하는 것이 좋습니다.

 

Result

➜  ~ brew services start mysql
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)

 

와 이 때 설마했습니다

➜  ~ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
mysql   stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
➜  ~ brew services start mysql
Bootstrap failed: 5: Input/output error
Try re-running the command as root for richer errors.
Error: Failure while executing; `/bin/launchctl bootstrap gui/501 /Users/tminstaller/Library/LaunchAgents/homebrew.mxcl.mysql.plist` exited with 5.
➜  ~ brew services restart mysql
Stopping `mysql`... (might take a while)
==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql)
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
➜  ~ brew services list
Name    Status  User        File
mariadb stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist
mysql   stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

도저히 믿어지지가 않군요! 도데체 왜..?

 

사실 로컬 DB 말고도 다른 방법이 있긴 합니다만..

만약 MariaDB와 MySQL 둘 다 사용하고 싶지 않다면, Docker를 사용하여 MariaDB 컨테이너를 실행하는 것을 고려해 볼 수 있습니다.

Docker를 사용하면 운영 체제와 독립적으로 데이터베이스를 실행할 수 있으므로, 이런 문제를 피할 수 있습니다.

 

하지만 저는 학교에서 진행하는 프로젝트를 만들기 위해 local로 설치해야 합니다.

 


 

 

9th Trying - 보안 기능 때문에 발생한 문제?

뭔가 계속 찾아보다보니 이젠 보안쪽인 것 같은 답변이 나왔습니다.

 

위의 문제는 macOS의 보안 기능 때문에 발생할 수 있습니다.

Big Sur 이후 버전에서는 서비스가 사용자 공간(user space) 대신 시스템 공간(system space)에서 시작해야 할 수 있습니다.

 

다음 단계를 따라 진행해보세요

 

1. Homebrew로 MySQL을 정지합니다

brew services stop mysql

 

2. 아래 명령어를 사용하여 MySQL 서버를 직접 시작합니다

sudo mysql.server start

 

3. MySQL에 로그인합니다

mysql -u root -p

 

또한, MariaDB가 실행되지 않도록 확인하세요.

동시에 실행되는 MySQL과 MariaDB는 서로 충돌할 수 있습니다.

MySQL이 잘 실행되는지 확인한 후에는 다시 MariaDB를 실행하거나 필요에 따라 삭제할 수 있습니다.

 

Result

혹시몰라서 mysql과 mariadb를 모두 중지시키고 진행했습니다.

하지만 2번에서 막혔군요

➜  ~ brew services stop mysql
Stopping `mysql`... (might take a while)
==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql)
➜  ~ brew services stop mariadb
Stopping `mariadb`... (might take a while)
==> Successfully stopped `mariadb` (label: homebrew.mxcl.mariadb)
➜  ~ sudo mysql.server start
Password:
Starting MySQL
. ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/{your-computer-name}.local.pid).

 


 

 

10th Trying - 안전모드 실행해보기, my.cnf 파일 수정하기

10번 찍어 안넘어가는 나무 없다고 했습니다. 9번 휘둘렀으니 얼추 넘어가겠지요.

다시 시도해 보았습니다.

 

보통 이 오류는 MySQL 서버의 설정 파일에 문제가 있을 때 발생합니다.

설정 파일에 문제가 있는지 확인하고 필요하다면 수정해 보세요.

 

MySQL의 설정 파일은 /etc/my.cnf, /etc/mysql/my.cnf, 또는 /usr/local/mysql/etc/my.cnf 위치에 있을 수 있습니다.

이 파일들을 확인하고, [mysqld] 섹션에 있는 pid-file 경로가 존재하고 쓰기 가능한지 확인해 보세요.

 

또한, 이 경로에 파일이 없는 경우 MySQL 서버는 시작되지 않을 수 있습니다.

따라서 해당 디렉토리에 파일이 없다면 새로 만들어 보세요.

 

만약 설정 파일에 문제가 없다면, 다음으로 MySQL 서버의 로그 파일을 확인해 보세요.

이 로그 파일은 보통 /var/log/mysql/error.log 위치에 있습니다. -> 하지만 저는 M1이기에 해당하는 위치로 가야겠죠

이 파일에는 MySQL 서버가 시작되지 않는 이유에 대한 자세한 정보가 포함되어 있을 수 있습니다.

 

또는 다음 명령을 실행해보세요.

이 명령은 mysql 서버를 안전 모드로 시작합니다

sudo mysqld_safe

안전 모드에서 MySQL 서버를 시작한 후 문제가 발생하지 않는다면, 이는 설정 파일에 문제가 있음을 나타낼 수 있습니다.

이 경우 설정 파일을 수정하거나 새로 생성해야 합니다.

 

Result

➜  ~ sudo mysql.server start
Password:
Starting MySQL
. ERROR! The server quit without updating PID file (/opt/homebrew/var/mysql/{your-computer-name}.local.pid).
➜  ~ sudo mysqld_safe
Password:
2023-06-02T06:40:08.6NZ mysqld_safe Logging to '/opt/homebrew/var/mysql/{your-computer-name}.local.err'.
2023-06-02T06:40:08.6NZ mysqld_safe Starting mysqld daemon with databases from /opt/homebrew/var/mysql
2023-06-02T06:40:08.6NZ mysqld_safe mysqld from pid file /opt/homebrew/var/mysql/{your-computer-name}.local.pid ended

아마 pid-file 경로의 문제일 수 있으니 그 부분을 해결해보도록 하겠습니다.

 

pid-file이 설정되어 있지 않다면, MySQL 설정 파일인 my.cnf에 이 값을 추가해야 합니다.

이 파일은 보통 /etc/my.cnf, /etc/mysql/my.cnf, 또는 /usr/local/mysql/etc/my.cnf에 위치해 있습니다.

my.cnf 파일의 위치는 MySQL 설치 환경에 따라 다를 수 있습니다.

 

만약 MySQL의 my.cnf 파일을 찾을 수 없다면, 아래의 명령어를 통해 파일을 찾을 수 있습니다:

find / -name my.cnf

 

이 명령어는 시스템 전체를 검색하므로, 시간이 조금 걸릴 수 있습니다.

 

my.cnf 파일을 찾은 후에는, [mysqld] 섹션에 pid-file 설정을 추가하면 됩니다.

다음은 pid-file 설정을 추가하는 예입니다:

[mysqld]
pid-file = /var/run/mysqld/mysqld.pid

 

위의 설정에서 /var/run/mysqld/mysqld.pid는 pid 파일의 경로입니다.

이 경로는 시스템에 따라 다를 수 있으니, 해당 경로가 존재하고 쓰기 권한이 있는지 확인해야 합니다.

 

변경 사항을 저장한 후 MySQL 서버를 재시작하면, 새로운 pid-file 설정이 적용됩니다.

만약 이 과정에서 어려움을 겪거나, my.cnf 파일을 찾을 수 없다면, MySQL 설치를 완전히 제거하고 다시 설치하는 것을 고려해 보세요.

이 방법은 시스템에 MySQL 설정이 꼬여 있을 경우 종종 효과적입니다.

 

Result

저는 M1 칩을 사용하기에 M1에 해당하는 opt/homebrew/이후 동일 경로를 통해 my.cnf 파일을 수정했습니다.

 

변경 후의 my.cnf 파일은 다음과 같습니다.

# Default Homebrew MySQL server config
[client]
socket=/tmp/mysql.sock
[mysqld]
socket=/tmp/mysql.sock
pid-file = /var/run/mysqld/mysqld.pid
# Only allow connections from localhost
bind-address = 127.0.0.1

 

과연 재시작하면 성공적으로 실행될까요?

➜  ~ brew services restart mysql
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
➜  ~ brew services list
Name    Status  User        File
mariadb none
mysql   stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
➜  ~ mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

혹시나 였지만 역시나 였습니다.


 

11th Trying - MySQL 다시 설치

 

위의 오류 메시지는 MySQL 서버가 실행되지 않고 있거나, mysql.sock 파일을 찾을 수 없을 때 발생합니다.

이러한 오류를 해결하기 위해 다음의 방법들을 시도해볼 수 있습니다.

  1. MySQL 서비스를 재시작해 보세요.
     brew services restart mysql
    그리고 다음의 명령어로 MySQL 서비스가 정상적으로 동작하는지 확인해 보세요:만약 MySQL 서비스가 여전히 실행되지 않는다면, 다른 방법을 시도해 보세요. → 다음 단계
  2. brew services list
  3. 아래의 명령어로 MySQL 서비스를 재시작해 보세요:
  4. mysql.sock 파일의 위치를 확인해 보세요.MySQL 설정 파일인 my.cnf에서 mysql.sock 파일의 위치를 확인하거나 변경할 수 있습니다. my.cnf 파일은 보통 /etc/my.cnf, /etc/mysql/my.cnf, 또는 /usr/local/mysql/etc/my.cnf에 위치해 있습니다.만약 mysql.sock 파일이 해당 위치에 존재하지 않는다면, MySQL 서비스를 재시작해야 합니다. MySQL 서비스가 시작되면, mysql.sock 파일이 해당 위치에 자동으로 생성됩니다.
  5. 이 파일에서 [mysqld] 섹션에 있는 socket 설정을 확인해 보세요. 이 설정이 mysql.sock 파일의 실제 위치와 일치해야 합니다.
  6. mysql.sock 파일은 일반적으로 /tmp/mysql.sock에 위치해 있지만, 설치 환경에 따라 위치가 다를 수 있습니다.
  7. MySQL을 재설치해 보세요.
     brew remove mysql
     brew cleanup
     brew install mysql
    그리고 MySQL 서비스를 시작해 보세요:이제 MySQL이 정상적으로 동작하는지 확인해 보세요.
  8. brew services start mysql
  9. 위의 방법들이 모두 실패한다면, MySQL을 완전히 제거한 후 다시 설치해 보세요

 

Mac - 백그라운드 항목이 추가됨 알림?

Result

정상적으로 동작하지 않는군요..

그러다가 뭔가 계속해서 Mac OS의 자체적인 알림이 있었습니다.

백그라운드 항목이 추가됨
'mysqld_safe'은(는) 백그라운드에서 실행될 수 있는 항목입니다. 로그인 항목 설정에서 이 항목을 관리할 수 있습니다.
이런 메세지가 실행될때마다 뜨는데 맥OS 자체의 문제일까?

이런 알림이 계속 나와서 이 알림이 문제가 있음을 알린 것이 아닐까 싶어서 찾아보았습니다.

 

이 메시지는 Mac의 보안 및 개인 정보 보호 기능에 관련된 것입니다.
"mysqld_safe"는 MySQL 서버를 안전하게 시작하는 스크립트인데, 백그라운드에서 실행되면서 macOS가 사용자에게 알리고 있습니다.

macOS에서는 사용자가 어떤 애플리케이션이 자신의 컴퓨터에서 백그라운드에서 실행되고 있는지 알 수 있도록 이러한 메시지를 보여줍니다.
이는 보안적인 측면에서 유용하며, 사용자가 의도치 않게 백그라운드에서 돌아가는 프로세스를 제어할 수 있게 해줍니다.

하지만, MySQL과 같이 의도적으로 백그라운드에서 실행되도록 설계된 애플리케이션의 경우에는 이 메시지를 무시하셔도 됩니다.

해당 메시지가 거슬린다면, 시스템 환경설정 > 사용자 및 그룹 > 로그인 항목 에서 "mysqld_safe"를 찾아서 삭제하실 수 있지만, 이 경우 MySQL 서버가 자동으로 시작되지 않을 수 있으니 주의하시기 바랍니다.

만약 MySQL이 정상적으로 작동한다면, 이 메시지는 문제가 되지 않습니다.
MySQL 작동에 문제가 있다면, 해당 메시지가 아니라 MySQL 자체의 로그나 에러 메시지를 확인하는 것이 더 도움이 될 것입니다.

→ 사실상 메세지는 문제가 되지 않는 것이므로 다시 처음으로 돌아가서 해봤던 작업을 해보려고 합니다.

 


 

 

12th Trying

그래서 그 방법은 바로 이것입니다.

/opt/homebrew/var/mysql 디렉터리 삭제 후 재설치하는 방법입니다.

 

Result

brew reinstall mysql
➜  ~ brew services restart mysql
Stopping `mysql`... (might take a while)
==> Successfully stopped `mysql` (label: homebrew.mxcl.mysql)
==> Successfully started `mysql` (label: homebrew.mxcl.mysql)
➜  ~ brew services list
Name    Status  User        File
mariadb none
mysql   stopped tminstaller ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

정말 방법은 공장초기화 뿐일까요..?

 

One Hours Later..

 

결국 포맷 준비와 백업을 모두 마친 저를 보았습니다.

최후의 방법 뿐이었습니다. 다소 오래 걸리긴 하지만 장기적으로 보면 더 좋을꺼라 믿어요

 


 

 

 

Final Trying - Reset, Mac 초기화하기

결국 마지막은 공장 초기화 입니다.

그동안의 세팅을 정말 꼼꼼하게 살펴보고 초기화를 진행해야 할 듯 합니다.

 

맥북 초기화 방법은 다음과 같습니다. M1 기준으로 진행하였습니다.

MAC M1 초기화 방법(공장초기화)

 

MAC M1 초기화 방법(공장초기화)

M1 칩을 장착한 맥이 점점 늘어나면서 초기화해야 될 일이 생기고 있는데 큰 문제를 일으켜서 하는 건 아니고 다른 사용자가 사용했었던 맥이라 클린 한 세팅을 위해 초기화하는 것이다. 그렇다

crossjin.tistory.com

인터넷이 느려 슬픈 저는 자고 일어났습니다...

 


 

그렇게 다음날 아침 MacOS 설치가 완료되었습니다.

초기화가 모두 끝났다면 최우선적으로 brew를 설치하고 iTerm2를 설치합니다.

 

Mac에서 Homebrew를 완전히 삭제하고 재 설치하고 싶다면?

Homebrew를 Mac에서 완전히 삭제하고 재설치하는 과정은 아래와 같습니다.

저의 경우에는 초기화를 했기 때문에 3번만 해 주었습니다.

 

1. Homebrew 제거

위 명령어는 Homebrew의 공식 uninstall 스크립트를 실행합니다.

  • 이 스크립트는 Homebrew를 설치한 디렉토리 (일반적으로 /usr/local)에서 Homebrew 파일을 제거합니다.
/bin/bash -c "$(curl -fsSL <https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh>)"

 

2. 모든 Homebrew 패키지와 캐시 제거

 rm -rf /usr/local/Cellar /usr/local/Homebrew /usr/local/Caskroom /usr/local/Frameworks /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var

위 명령어는 Homebrew가 설치한 모든 패키지와 Homebrew의 git 저장소를 제거합니다.

  • Homebrew가 설치한 모든 패키지와 캐시를 수동으로 제거하기 위해 사용할 수 있습니다.

 

3. Homebrew 설치

다음 명령어는 Homebrew를 다시 설치하는 공식 스크립트를 실행합니다.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

 

위의 모든 명령어는 터미널에서 실행되며, 명령어 실행 시 관리자 권한이 필요할 수 있습니다.

명령어 실행 후에는 Homebrew가 올바르게 설치되었는지 확인하려면 brew doctor 명령어를 실행하면 됩니다.

 

그러나 Homebrew를 재설치하기 전에 Homebrew와 관련된 문제를 해결하는 데 도움이 될 수 있는 brew doctor 명령어를 먼저 실행해 보는 것이 좋습니다.


iTerm 설치, zsh 설치

iTerm2 설치 및 사용

 

iTerm2 설치 및 사용

안녕하세요. 그린입니다🟢 이번 포스팅에서는 iTerm2를 설치 및 커스터마이징하여 사용 적용해보겠습니다🧑🏻‍💻 예전부터 MacOS에서 기본 터미널을 사용하고 있었는데 다른 분들중에 iTerms2

green1229.tistory.com

그리고 간단하게 커스텀해줍니다.

 

+ zsh 환경변수를 세팅할 때 본인이 가지고 있는 CPU가 무엇인 지 확인하고 가는 것을 추천합니다.

 


 

Success, But - 첫 설치 시 주의할 점, 초기 비밀번호 설정

brew install mariadb

brew services start mariadb

를 통해 mariadb를 성공적으로 설치를 하였습니다.

 

마지막으로 DB가 업데이트 되면서 root 계정에는 반드시 패스워드가 필요하다고 하였고,

관련 작업을 진행하고 TroubleShooting을 마쳤습니다. 

 

아래와 같은 터미널 작업을 진행했습니다.

~ » sudo mysql -u root  
Password:
Sorry, try again.
Password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 7
Server version: 10.11.3-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
Query OK, 0 rows affected (0.010 sec)

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your-password');
Query OK, 0 rows affected (0.022 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.001 sec)

MariaDB [(none)]> exit
Bye
--------------------------------------------------------------------------------------
~ » mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 10.11.3-MariaDB Homebrew

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> exit
Bye

 

어떤 작업을 한 것인가?

여기서 수행된 주요 작업들을 단계별로 나열해 보겠습니다.

  1. Homebrew 설치
    • brew install mariadb 명령을 통해 MariaDB를 설치하려 하였지만, Homebrew가 설치되어 있지 않아 명령어를 인식하지 못하는 문제가 발생했습니다.
    • zsh: command not found: brew 메시지는 brew라는 명령어를 인식하지 못했다는 것을 나타냅니다.
  2. Homebrew 설치 후 MariaDB 설치
    • Homebrew를 설치한 이후 brew install mariadb 명령을 통해 MariaDB를 설치하였습니다.
    • MariaDB는 MySQL의 포크 버전으로, 데이터베이스 관리 시스템입니다.
  3. MariaDB 서비스 시작
    • brew services start mariadb 명령을 통해 MariaDB 서비스를 시작하셨습니다.
    • 이 작업은 MariaDB를 백그라운드에서 실행하도록 설정합니다.
  4. MariaDB에 로그인 시도
    • mysql -u root -p 명령으로 root 사용자로 MariaDB에 로그인하려 하셨지만, 비밀번호가 설정되어 있지 않아 접근이 거부되었습니다.
  5. mysql_secure_installation 실패
    • mysql_secure_installation 스크립트를 실행하려 하셨지만, root 비밀번호가 없어 접근이 거부되어 실행에 실패하였습니다.
    • 이 스크립트는 MariaDB를 보안적으로 강화하기 위해 사용됩니다.
  6. sudo를 이용한 MariaDB 접근
    • sudo mysql -u root 명령을 통해 MariaDB에 root 권한으로 접근하셨습니다.
  7. root 비밀번호 설정 - MariaDB에 로그인한 후, 다음의 SQL 명령어를 사용해 root 비밀번호를 설정하셨습니다.
    • ALTER USER 'root'@'localhost' IDENTIFIED VIA mysql_native_password;
    • SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your-password');
    • FLUSH PRIVILEGES;
    • 이러한 명령어를 통해 root 계정의 비밀번호를 'your-password'로 설정하였습니다.
  8. 비밀번호 설정 후 MariaDB 로그인 성공
    • 비밀번호가 설정된 이후 mysql -u root -p 명령을 통해 MariaDB에 로그인하는데 성공하셨습니다.

이처럼, 처음에는 MariaDB에 접근하는 데 문제가 있었지만, 비밀번호를 설정한 후에는 성공적으로 로그인하였습니다.

이 과정은 MariaDB의 기본 설정에서는 root 계정의 비밀번호가 비어있기에 추가 설정을 해주어야 하는 것을 나타냅니다

 

따라하실 때 5번을 건너뛰어도 크게 문제 없을 듯 합니다.

 

추가로 초기화 하면 같은 컴퓨터 이름을 설정해도 컴퓨터의 이름이 바뀐다는 신기한 결론을 내었습니다.

예를들어보자면 원래의 Mac 이름이 TimeMaplaptop-MacBookAir.local이었다면

바뀐 컴퓨터 이름은 TimeMapui-MacBookAir.local 과 같이 변경되는 것을 확인할 수 있었습니다.

 


 

마치며

행복하군요. 무려 11286개의 단어를 작성하고 해결했습니다.

드디어... 한 달 이상 봉인되어있던 로컬 DB에 대한 한을 풀었습니다..!

초기화 하고 컴퓨터의 모든 세팅을 다시 해야할 것이라는 두려움이 있었지만

어제 했던 문제해결시간과 초기 세팅 시간이 비슷하게 걸린 것을 고려하면

진짜 모르겠을 때에는 초기화를 하는 것도 방법일지도 모르겠네요

 

저는 결국 초기화를 하는 방법을 택했지만 혹시 관련 문제에 대해 고통받고계시는 다른 분들이 이 글을 보았을 때

12가지의 방법 안에서 해결할 수 있었으면 좋겠습니다.

 

이상으로 포스팅을 마치도록 하겠습니다. 

 

으악!

 


End

728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.