MS SQL은 DB별로 USER 생성 사용 했는데 AWS RDS MySQL은 루트계정(최상위계정)으로만 사용을 해서 잊고 있다가 DB별로 USER 사용하는 MySQL에 잠깐 당황을 해서 (루트계정으로 실행되는 명령어가 안되어서.....) 알고자 씀. 1. 먼저 mysql DB를 선택하고 사용자 확인하기. use mysql; select host, user, password from user; (select * from user; 는 컬럼이 넘 많아서....) 2. 사용자(user) 추가 create user 'userID'@'%' identified by 'userpassword'; user 테이블 host 컬럼보면 값이 % ,localhost가 있는데 %는 외부접근 localhost는 내부접근 그러므로 위에 명령어는 외부접근이 되는 사용자 계정. 또는 '111.222.%' IP 주소가 111.222.xxx.xxx 로 시작하는 IP 대역 '111.222.333.444' 는 111.222.333.444로 시작하는 특정 IP 외부 허용. 또는 insert into user (host,user,password) values('%','userID',password('userpassword')); FLUSH PRIVILEGES; FLUSH PRIVILEGES란? INSERT, DELETE, UPDATE를 통해 사용자를 추가, 삭제, 권한 변경 등을 수행하였을 때 이 변경 사항을 반영하기 위하여 사용한다. 이 때 FLUSH PRIVILEGES는 grant 테이블을 reload함으로서 변경 사항을 즉시 반영하도록 한다. 그런데 이 FLUSH PRIVILEGES는 굉장히 성능에 영향을 준다. 특히 습관적으로 FLUSH PRIVILEGES를 사용하는 경우가 있는데 이는 엄청난 부하가...
댓글
댓글 쓰기