[MySQL] mysql 로그인 및 서버 시작 시 오류

Jiwon-Woo·2021년 9월 7일
0

MySQL

목록 보기
2/3

ERROR 1045 (28000)

$ mysql -u root -p
Enter password:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

mysql 에 접속하려고 하자 위와 같은 에러가 떴다.
재설치 할때 따로 패스워드를 설정한 적이 없기 때문에 정상적이라면 패스워드 입력시 엔터만 쳐도 접속이 가능해야했다.

왜 안되는지는 모르겠으나... 어쨌든 패스워드가 걸려있으니 패스워드를 초기화해보려고 했다.


mysql 비밀번호 재설정하기

# 비밀번호 없이 mysql 진입하기
$ mysqld --skip-grant
##### sql로 진입 후 #####

# mysql 데이터베이스 선택
mysql> use mysql

# 비밀번호 변경
mysql> update user set password=password('비밀번호') where user='사용자'; 

# 변경사항 적용 (grant 테이블을 reload)
mysql> flush privileges;

이 과정을 거치면 초기화가 된다는데... 나는 mysqld --skip-grant 이 부분부터 에러가 떴다. 뭐가 문제인가 싶어 이것저것 해보다가 mysql 서버를 시작할 때도 에러가 뜬다는 것을 알게 되었다.


ERROR! The server quit without updating PID file

$ mysql.server start

ERROR! The server quit without updating PID file  (/usr/local/var/mysql/[...].pid)

MySQL PID 파일 생성 에러

mysql 디렉토리와 파일의 권한 문제일 수 있다고 해서 ls -al 로 디렉토리 소유권을 확인해보니 admin 으로 되어있어 mysql 로 변경해주었다.

# 디렉토리의 소유권을 mysql로 변경
sudo chown -R mysql:mysql /usr/local/var/mysql

# 디렉토리의 파일을 쓸 수 있게 파일의 권한 변경
sudo chmod -R 777 /usr/local/var/mysql
# ls -al로 디렉토리 권한을 확인해봤을 때 mysql로 뜨면 변경 성공
drwxrwxrwx  983 _mysql    _mysql  31456  9  7 13:59 mysql

하지만 에러 지옥에서 벗어나진 못했다...
그러다가 만난 글!


mysql.server start 사용 시 오류

사용하던 mysql 의 버전이 바뀌면 이런 오류가 발생할 수 있다고 한다. 나의 경우 mysql 를 삭제 후 재설치하며 생긴 문제 같다.

# 현재 실행되고 있는 mysql 프로세스를 확인
$ ps -ef | grep mysql

## ps : 현재 실행되고 있는 프로세스 출력
## -e : 모든 프로세스를 출력해주는 옵션
## -f : 프로세스에 대한 정보를 자세히 출력해주는 옵션 
# 현재 실행되고 있는 mysql 프로세스 종료
$ kill -15 [mysql 프로세스의 PID 번호]

## -15 : 시그널 번호 15, SIGTERM을 의미
## SIGTERM : 정상 종료 작업 처리 후에 끝냄

소유권 다시 확인하고 mysql.server start 해보니 성공했다!!

$ mysql.server start

Starting MySQL
.. SUCCESS!

1개의 댓글

comment-user-thumbnail
2021년 9월 7일

성공하셨다니 다행이네요.!

답글 달기