ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
mysql -u [user name] -p [your password]
입력
ex. mysql -u root -p 1234
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
mysql> use mysql
mysql> update user set password=password('바꿀 비밀번호') where user='사용자 이름';
mysql> flush privileges;
1번의 경우 비밀번호를 입력하지 않아서 그렇고, 2번의 경우 비밀번호가 틀린 경우이므로 (진짜 비밀번호를 모르겠으면) 새 비밀번호로 설정하고 새로고침[flush] 한다.
1) config.inc.php 파일에서 $cfg['Servers'][$i]['AllowNoPassword']
부분을 true
로 바꿔준다.
2) mysql에 접속해서 Grant all privileges on *.* to 'user'@'%' identified by '';
를 입력한다.
echo "위의 명령문 Grant~~" | mysql -u root --skip-password;
를 써주거나mysql < 파일.sql
로 따로 생성한 파일에 위의 명령어(Grant~~)를 입력해 mysql에 넣어주기3) 사용할 데이터베이스 설정값에 비밀번호를 ''(없음)으로 지정한다.
-> 내 프로젝트의 경우, mysql에 wordpress를 추가하여 사용하였는데,
wordpress DB 설정값인 wp-config.php 파일에서 비밀번호 설정부분을 define( 'DB_PASSWORD', '' );
이렇게 공란으로 처리해야 정상적으로 mysql에서 작동한다.
위 3가지를 전부 설정해줘야 하며, 이 방법은 mysql 비밀번호를 없애고 AllowNoPassword를 true로 설정하여 mysql에 비밀번호 없이 접속하는 방법이다. 따라서 보안 상의 위험이 있으므로 개인 프로젝트 외에서는 사용을 지양한다.
.
.
.
<번외>