Access denied for user 'root'@'localhost' 에러 해결하기
- Error
- 2020. 4. 24. 00:12
프로그래밍을 한다면 원하는 데이터를 저장을 하거나 불러오기 위해 데이터베이스와 연동을 합니다. 데이터베이스 종류는 mysql, mssql, mariadb, sqlite 등이 있습니다. mysql 또는 mariadb를 선택을 해서 사용하게 된다면 설치를 처음 한 후에 mysql로 root 계정으로 로그인을 할 때 접근 권한에 관련된 에러가 발생할 수도 있습니다. root에 패스워드가 지정되어 있지 않을 수도 있습니다. Access denied for user 'root'@'localhost' 에러 해결하기에 대해 알아보도록 해요.
이러한 에러를 해결하는 방법은 root에 패스워드를 지정하면 됩니다. root에 패스워드를 지정을 할 때 관련 데이터베이스는 mysql입니다. 계정과 데이터베이스 환경에 관련된 중요한 정보가 있습니다. 조금 수정을 해야 할 부분은 user 테이블입니다.
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 |
---|
이 글을 공유하기