SyntaxHighlighter.all(); mysql 사용자추가/DB생성/권한부여 :: 게을러지고 싶어 부지런한 개발자

MySQL 접속 및 데이터 베이스 추가

# mysql -u root -p

 

사용자 계정을 추가하기 전에 먼저 현재 생성된 사용자 계정을 확인한다.

mysql > use mysql;    // mysql database 선택
mysql > select host, user, password from user;    // user 테이블 살펴보기

 

사용자 추가 (권한추가)
mysql > create user 사용자ID;   // 사용자 추가

mysql > create user 사용자ID@localhost identified by '비밀번호'// 사용자(user)를 추가하면서 패스워드까지 설정

 

기존에 사용하던 계정에 외부 접근 권한을 부여하려면, Host를 '%' 로 하여 똑같은 계정을 추가한다

mysql > create user 사용자ID@'%' identified by '비밀번호';  // '%' 의 의미는 외부에서의 접근을 허용

mysql > drop user '사용자ID'@localhost;    // 사용자 삭제

mysql > drop user 사용자ID;  // 사용자 삭제


 

사용자에게 데이터베이스 사용권한 부여

mysql > GRANT ALL PRIVILEGES ON DB명.테이블 TO 계정아이디@host IDENTIFIED BY '비밀번호';

// 계정이 이미 존재 하는데 'identified by '비밀번호' 부분을 추가하면 비밀번호가 변경된다

mysql> GRANT ALL privileges ON DB명.* TO 계정아이디@locahost IDENTIFIED BY '비밀번호';
mysql> GRANT ALL privileges ON DB명.* TO 계정아이디@''%' IDENTIFIED BY '비밀번호';

mysql > grant all privileges on DB명.* to 계정아이디@'%' identified by '비밀번호' ; // 모든 원격지에서 접속 권한추가 

mysql > grant all privileges on test.* to 계정아이디@locahost identified by '비밀번호';

// 계정아이디 에게 test 데이터베이스 모든 테이블에 대한 권한 부여 

 

mysql> grant select, insert, update on test.* to 계정아이디@locahost identified by '비밀번호';

// 계정아이디에게 test 데이터베이스 모든 테이블에 select, insert, update 권한 부여

 

mysql> grant all privileges on *.* to 계정아이디@locahost identified by '비밀번호' with grant option;

// 계정아이디에게 모든 데이터베이스 모든 테이블에 권한 부여

 

mysql > flush privileges;     // 변경된 내용을 메모리에 반영(권한 적용)

 


사용자에게 부여된 권한 확인

mysql > SHOW GRANTS FOR test@localhost;  -- userid 와 host명까지 붙여서 검색해야 함

mysql > SHOW GRANTS FOR test@'%';

mysql > SHOW GRANTS FOR test@'200.100.100.50';

+ Recent posts