Ghost was able to start, but errored during boot with: Access denied for user 'root'@'localhost' (using password: YES) - 디지털 오션 고스트 블로그 설치시 mysql 권한 에러
Digital Ocean에 고스트 원클릭 설치시에 발생할 수 있는 MySQL 'root'@'localhost' 권한 문제에 대한 해결책
고스트 블로그 첫글
고스트 블로그를 설치하고 가장 먼저 쓰는 글이 Trouble Shooting에 대한 글이 될 줄은 몰랐습니다 ㅎㅎ

디지털 오션 원클릭 설치
일단 공식사이트에서 위와같이 원클릭 설치를 지원한다면서 소개하는 것이 디지털 오션입니다. 설치를 한 번에 해주기때문에, Ghost pro보다는 저렴한 가격에 고스트를 활용하고 싶어서 이용해봤는데 설치과정이 순탄치 않았습니다.
처음에는 메모리 부족으로 설치가 진행되지 않았는데, 디지털 오션 콘솔 재접속후에 다시 설치가 자동으로 진행 될때는 무사히 넘어갔습니다.
MySQL 8.0 권한 문제
MySQL이 8.0에 들어서면서 권한에 대한 부분이 좀 까다로워졌는데, Root 권한으로 뭔가 하는 걸 제한하는 경향이 있는 것 같습니다.
일단 MySQL 접속부터가 어려운 상황이었는데 아래 포스팅을 참고해서 작업을 진행했습니다.
Reset MySQL root password in Ubuntu 20.04 for Ghost 👻 — Digital Ocean
If you want to make your environment on Digital Ocean extra secure and resilient, improving MySQL will be your go to. Follow these steps to start !
mysql -u root -p
sudo nano /root/.digitalocean_password
여기서 재미있는 점은 디지털오션에서 초기에서 자동으로 세팅된 MySQL 패스워드를 가져다가 입력을 해도 로그인이 되지 않는다는 점입니다.
MySQL 권한 얻기
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
...
[mysqld]
user = mysql
skip-grant-tables
...
service mysql restart
mysql -u root -p
flush privileges;
ALTER USER 'root'@'localhost' IDENTIFIED BY '새로운패스워드';
quit;
sudo killall -u mysql
service mysql restart
Ghost Setup
mysql에 대한 부분은 위와같이 진행해주면 끝이납니다. 하지만 아직 ghost 가 제대로 실행되는 상황이 아니라서 추가로 아래와 같이 실행해줬습니다.
ghost setup --dbuser root --dbpassword 새로운패스워드

몇 가지 질문에 답해주고 나면 정상적으로 시스템 설정이 마무리되고, ghost가 정상실행된다는걸 확인할 수 있습니다.
험란한 과정이 있었지만, 지금 이렇게 글을 작성할 수 있도록 설정이 마무리 되서 기쁘군요. ㅋㅋ
Comments ()