저는 myhosting.com에서 CentOS VPS를 개설하여 쓰는 중입니다.
기본으로 설치된 Plesk를 쓰려니 유료 라이센스를 사야 해서 그냥 phpmyadmin을 쓰고 싶은 생각이 들더군요.
그런데 다음과 같은 에러가 나면서 MySQL의 직접 접속이 불가능함을 확인하였습니다.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
위와 같은 에러가 지속 발생하여 혹시 비밀번호를 넣으면 달라질까 싶어 시도했는데, 에러 메세지만 살짝 달라질 뿐 도움이 되지 않았습니다.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
저는 이 문제를 다음과 같이 해결하였습니다.
# /etc/init.d/mysqld stop
# mysqld_safe --skip-grant &
# mysql
> use mysql;
> update user set password=password('newpassword') where user='root';
> flush privileges;
위의 것이 잘 안될 경우는 다음과 같이 새로운 id를 추가하여 해결
> insert into
user(Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,ssl_type,ssl_cipher,x509_issuer,x509_subject,max_questions,max_updates,max_connections,max_user_connections)
values('%','<id>',password('<비밀번호>'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
> flush privileges;
> exit
누군가에게도 도움이 되는 답이었으면 좋겠군요.