mysql 설치 및 오류 해결

EllaDev·2022년 2월 9일
1

mysql 설치

설치 및 실행

Mac

### 설치 ###
# Homebrew를 이용한 설치
brew install mysql
brew info mysql

### 실행 ###
# brew로 시작
brew services start mysql

# brew로 정지
brew services stop mysql

Ubuntu

### 설치 ###
#apt-get을 이용한 설치
sudo apt-get update
sudo apt-get install mysql-server

### 실행 ###
sudo systemctl start mysql

mysql 접속

# -u(계정 접근), -p(비밀번호)
mysql -u root
mysql -u root -p

설치 에러 해결

에러 1 : 비밀번호 분실

ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)

문제 원인

비밀번호가 달라서 생기는 에러이다.
이는 올바른 비밀번호로 실행하면 해결되지만 비밀번호 분실했을때는 아래 방법을 통해 문제를 해결하면 된다.

해결방법

mysql 버전에 따라 설정 방법이 조금 달라진다.

[MAC] mysql 8.X version

  1. mysql bin 파일이 있는 폴더로 이동하여 mysql 데몬 종료

    • 기본적으로는 /usr/local/mysql/bin 의 경로에 파일이 있지만 homebrew로 mysql을 설치했다면 /usr/local/opt/mysql/bin이 있다.
    • mysql.server stop 로 데몬 종료 시킨다.

    만약 Homebrew로 설치했다면 폴더 이동없이 brew services stop mysql으로 데몬 종료가 가능하다.

  2. 비밀번호 없이 mysql에 접속
    mysqld_safe --skip-grant-tables &

  3. mysql에 접속
    mysql -u root

  4. 비밀번호 초기화

# 아래 코드로 바로 비밀번호를 저장하게 되면 비밀번호가 암호화되지 않은 채로 db에 저징되어 에러가 발생한다.
UPDATE mysql.user SET authentication_string='[변경할 비밀번호]' WHERE user='root';`
flush privileges;

# mysql db 접속 후 암호화 되어 있지 않음을 확인 할 수 있다.
use mysql;
SELECT authentication_string FROM user;

# mysql db 접속 후, root 계정 비밀번호 null로 바꾸기
use mysql
UPDATE user SET authentication_string=null WHERE user='root';
flush privileges;
  1. mysql 데몬 종료
    여기서는 brew를 사용해서 종료가 안되므로 해당 폴더로 진입하여 데몬을 종료해야하다.

  2. 비밀번호 재설정

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '변경할 패스워드';
# OR
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '새비밀번호';

SELECT authentication_string FROM user WHERE user='root';

문제 해결 중 생긴 이슈

이전에 mysql이 있는 경우에 문제가 생겨서 mysql를 완전히 삭제하고 mysql를 재설치하게 되었다.

(Mac) 재설치 시 삭제 명령어

# MySQL 서비스 종료
$ brew services stop mysql

# Brew로 삭제, Clean up
$ brew remove mysql
$ brew cleanup

# 남아있는 mysql 정보 삭제
$ sudo rm -rf /usr/local/var/mysql
(M1 사용자는 추가적으로 sudo rm -rf /opt/local/var/mysql)
$ sudo rm -rf /usr/local/mysql
(M1 사용자는 추가적으로 sudo rm -rf /opt/local/mysql)
$ sudo rm -rf /Library/StartupItems/MySQLCOM
$ sudo rm -rf /Library/PreferencePanes/MySql


Reference
[Mysql/Mac] root 비밀번호 분실 시 초기화

profile
Frontend Developer

0개의 댓글