Access denied for user 'root'@'localhost' 에러 해결하기

Access denied for user 'root'@'localhost' 에러 해결하기

프로그래밍을 한다면 원하는 데이터를 저장을 하거나 불러오기 위해 데이터베이스와 연동을 합니다. 데이터베이스 종류는 mysql, mssql, mariadb, sqlite 등이 있습니다. mysql 또는 mariadb를 선택을 해서 사용하게 된다면 설치를 처음 한 후에 mysql로 root 계정으로 로그인을 할 때 접근 권한에 관련된 에러가 발생할 수도 있습니다. root에 패스워드가 지정되어 있지 않을 수도 있습니다. Access denied for user 'root'@'localhost' 에러 해결하기에 대해 알아보도록 해요.



이러한 에러를 해결하는 방법은 root에 패스워드를 지정하면 됩니다. root에 패스워드를 지정을 할 때 관련 데이터베이스는 mysql입니다. 계정과 데이터베이스 환경에 관련된 중요한 정보가 있습니다. 조금 수정을 해야 할 부분은 user 테이블입니다.


Access denied for user 'root'@'localhost' 에러 해결하기


mysql에 접속해서 해결하기

sudo mysql -uroot -p


mysql 또는 mariadb에 root 계정으로 접속을 합니다. 처음 설치를 하였으면 패스워드가 지정되어 있지 않을 수도 있습니다.


use mysql


mysql 데이터베이스를 선택합니다.


update user set password=password('원하는 비밀번호') where user='root';


root 계정에 대한 원하는 비밀번호를 입력을 하고 쿼리문을 실행을 합니다. 비밀번호는 특수문자를 포함을 한 것으로 지정을 하는 것도 나을 수도 있습니다.


flush privileges;


데이터베이스에 정상적으로 적용을 합니다. 데이터베이스에 root 계정으로 로그인을 할 때에 지정한 비밀번호로 로그인을 할 수 있습니다.


exit;


mysql 또는 mariadb를 종료합니다.


root 계정에 원하는 패스워드가 지정이 되어 있습니다. 사용자 계정을 추가를 하는 것도 프로그래밍을 할 때에 root 계정으로 해당 데이터베이스에 로그인을 하는 것이 아닌 사용자 계정으로 지정을 하는 것이 일반적입니다. 데이터베이스도 해당 사용자 계정이 사용을 할 수 있도록 권한을 지정해주어야 합니다.

'Error' 카테고리의 다른 글

codeigniter Access denied 에러 해결하기  (0) 2020.04.24

이 글을 공유하기

댓글

Designed by JB FACTORY