반응형
[2021.07.12] How to solve 1045, "Access denied for user 'root'@'localhost' (using password: YES)" on Mysql?
이번 게시글은, 아래의 에러메세지를 해결하는 방법과 VS CODE 에서 AWS EC2에 있는 DB에 연결하는 방법에 대해 알아보자.
* root로 로컬상에서만 접속이 되므로, 리눅스에서 직접적으로 데이터를 넣어줘야 함
* 원격접속을 하기 위해선 아이디를 만들어서, 권한을 부여하여 접속해야함 (★★ root로는 절 때로 원격접속 불가능 ★★)
해당 에러메세지를 해결하기 위한 방법
1045, "Access denied for user 'root'@'localhost' (using password: YES)"
아이디 생성 및 비밀번호 설정
mysql> use mysql;
mysql> create user 'injekim97'@'%' identified by 'k1234567!';
Query OK, 0 rows affected (0.01 sec)
생성한 아이디에 특정 테이블에 대한 권한 부여
mysql> grant all privileges on KLAC.*to 'admin'@'%';
Query OK, 0 rows affected (0.54 sec)
* all privieges 는 모든 권한을 *.*은 모든 데이터베이스의 모든 테이블을 뜻한다.
* @ 뒤에 특정 외부 ip를 설정 가능
위에 권한 부여 후 꼭 flush 해줘야함
flush privileges;
mysql> grant all privileges on *.* to '사용자'@'localhost';
mysql> grant all privileges on DB이름.* to '사용자'@'localhost';
mysql> grant all privileges on DB이름.테이블명 to '사용자'@'localhost';
mysql> grant select on DB이름.테이블명 to '사용자'@'localhost';
mysql> grant update(컬럼1, 컬럼2) on DB이름.테이블명 to '사용자'@'localhost';
특정 아이디에 부여한 권한 보기
mysql> select host,user from user;
+-------------+---------------+
| host | user |
+-------------+---------------+
| % | admin |
| 172.31.8.46 | root |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-------------+---------------+
5 rows in set (0.28 sec)
특정 아이디에 권한 부여
mysql> show grants for 'injekim97'@'%';
+ SQL 컬럼 추가 방법
ALTER TABLE Inquiry ADD Link VARCHAR(200);
--------------------------------------------------------------------------------------------------------------------------------------------------
VS CODE 에서 DB 연결해 주기 위한 AWS
host='ec2-13-125-144-25.ap-northeast-2.compute.amazonaws.com',
port=3306,
user='admin',
passwd='1/zw;GytAwx*',
db="KLAC"
반응형
댓글