mysql | mysql 계정생성 및 권한 부여

./mysqladmin -V 버젼명 확인 (테이터베이스 관리 tool) ./mysqladmin -p status 현재 상태 확인 이하 접속후에 명령어....... ※ 데이터베이스 종류 보기 mysql> show databases; ※ mysql 상의 테이블 정보 보기 mysql> show tables from mysql; ※데이터 베이스 생성 mysql> CREATE DATABASE 생성데이터베이스명; 이왕이면 언어셋도. ex) CREATE DATABASE `생성데이터베이스명` CHARACTER SET utf8 COLLATE utf8_general_ci; ※ 편집후에 반드시 mysql 재가동 내지 리로드 해야 적용됨 #mysqladmin -u root -p reload FLUSH PRIVILEGES; ※ 첫번째 방법은 아주 간단하다 한번에 끝낼수 있다. GRANT ALL PRIVILEGES ON [DB명].[테이블명(*)] TO [유저명]@[서버명] IDENTIFIED BY '[암호]' WITH GRANT OPTION; "WITH GRANT OPTION" 옵션은 다른 유저에게 권한 부여 여부 부분. ※두번째 방법은 세밀하게 권한을 부여할 수 있는 방법이다. 일단 유저를 먼저 생성을 한다. GRANT ALL PRIVILEGES ON [DB명].[테이블명(*)] TO [유저명]@[서버명] IDENTIFIED BY '[암호]' ; ※유저를 생성후 권한을 한번에 줄수있다. GRANT ALL ON [DB명].[테이블명(*)] TO [유저명]@[서버명]; 모든 테이블 GRANT ALL ON *.* TO [유저명]@[서버명]; ※특정 권한만 선택적으로 적용할 수 있다. GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALERT ON [DB명].[테이블명(*)] TO [유저명]@[서버명]; ※마지막으로 계정 권한을 새로 로드시켜 준다. FLUSH PRIVILEGES; ※권한 삭제는 GRANT 명령어 반대로 REVOKE ALL ON [DB명].[테이블명(*)] TO [유저명]@[서버명]; ※특정 권한만 삭제 REVOKE SELECT ON [DB명].[테이블명(*)] TO [유저명]@[서버명]; ※권한만 삭제한다고 유저가 삭제되진 않는다. 아래와 같이 해줘야 완벽하게 유저가 제거된다. DROP USER [유저명]@[서버명]; ※ mysql이 외부로도 서비스가 가능하게 하려면, 몇 가지의 확인사항과 그 외에 추가적인 설정을 해야 할 필요가 있습니다. #1. 기본적으로 mysql 사용포트는 tcp 3306 번 포트를 통해 서비스를 제공 서버의 tcp 3306 번 포트가 방화벽 오픈 확인. iptables -L 명령으로 차단/허용 리스트 조회가 가능합니다. 만약 포트가 막혀 있을 경우, # iptables -I INPUT -p tcp --dport 3306 -j ACCEPT #2. 그 다음에는 DB 사용자 계정에 외부에서의 접근 권한을 부여해야 합니다. 외부에서 DB에 접근할때만 사용하는 계정을 새로 생성해도 됩니다. 서버 입력부분에 '%' 의 의미는 외부에서의 접근을 허용 'xxx.xxx.xxx.xxx' 의 의미는 외부에서도 해당 아이피만 접근을 허용 'localhost 의 의미는 내부에서만 접근을 허용 필요하면 다 만들자..ㅡ,.ㅡ mysql> USE mysql; mysql> CREATE DATABASE 데이터베이스명; mysql> GRANT ALL privileges ON 데이터베이스명.* TO 계정아이디@locahost IDENTIFIED BY '비밀번호'; mysql> GRANT ALL privileges ON 데이터베이스명.* TO 계정아이디@'%' IDENTIFIED BY '비밀번호'; mysql> FLUSH privileges;

Press ESC to close