336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
mysql 포트변경

vim /etc/mysql/my.cnf [mysqld] #port = 3306 port = 65555 service mysql restart ======================================= listen IP대역 변경 vi /etc/mysql/my.cnf #bind-address = 127.0.0.1 bind-address = 0.0.0.0 netstat -ntlp | grep mysqld service mysql restart


# mysql -u root -p
[mysql -h hostname -u username -p password database]
> show databases;
> help

> use db
> show tables;
> show columns;

사용자계정확인
> use mysql;
> select host, user, password from user; 

사용자추가
> create user userid //사용자만 추가
> create user userid@localhost identified by 'password'; //사용자추가 및 패스워드 설정
> create user 'userid'@'%' identified by 'password'; //'%'의 의미는 외부에서의 접근을 허용한다.

또는

> INSERT INTO user (Host, User, Password) VALUES ('localhost', '계정아이디', password('비밀번호'));
> INSERT INTO user (Host, User, Password) VALUES ('%', '계정아이디', password('비밀번호'));
> FLUSH privileges;

사용자제거
> drop user '사용자ID'@localhost;
> select * from user;    // 모든 사용자 ID 조회
> delete from user where user = '사용자ID';      // 사용자 삭제

데이터베이스 생성 및 삭제
> create database DB명;    // 데이터베이스 생성
> create schema DB명 default character set utf8;
> drop database DB명;       // 데이터베이스 삭제

권한설정
> GRANT ALL PRIVILEGES ON DB명.테이블 TO 계정아이디@host IDENTIFIED BY '비밀번호';
// 계정이 이미 존재 하는데 'identified by '비밀번호' 부분을 추가하면 비밀번호가 변경된다
> GRANT ALL privileges ON DB명.* TO 계정아이디@locahost IDENTIFIED BY '비밀번호';
> GRANT ALL privileges ON DB명.* TO 계정아이디@'%' IDENTIFIED BY '비밀번호';

> grant all privileges on DB명.* to userid@'%' identified by '비밀번호' ;  //모든 원격지에서 접속 권한 추가
host에 '200.100.%' 로 하면 IP주소가 200.100.X.X 로 시작되는 모든 IP에서 원격 접속을 허용한다는 의미
host에 '200.100.100.50' 으로 하면 IP주소가 200.100.100.50 인 곳에서만 원격 접속을 허용한다는 의미

> grant all privileges on test.* to userid@localhost identified by '비밀번호';
// user 에게 test 데이터베이스 모든 테이블에 대한 권한 부여 

> grant select, insert, update on test.* to user@localhost identified by '비밀번호';
// user 에게 test 데이터베이스 모든 테이블에 select, insert, update 권한 부여

> grant select, insert, update on test.* to user@localhost;   -- 패스워드는 변경없이 권한만 부여하는 경우
// user 에게 test 데이터베이스 모든 테이블에 select, insert, update 권한 부여

> grant all privileges on *.* to user@localhost identified by '비밀번호' with grant option;
// user 에게 모든 데이터베이스 모든 테이블에 권한 부여
// 전역 권한은 모두 광범위한 보안문제가 수반되므로 권한을 허용하는 경우 신중해야 함

> flush privileges;     // 변경된 내용을 반영(권한 적용)

원복
> delete from mysql.user WHERE Host='%' AND user='root';
> flush privileges;

사용자에게 부여된 권한 확인
> SHOW GRANTS FOR test@localhost; //userid 와 host명까지 붙여서 검색
> SHOW GRANTS FOR test@'%';
> SHOW GRANTS FOR test@'200.100.100.50';

사용자의 데이터베이스 사용권한 제거
revoke all on DB명.테이블명 from userid;     // 모든 권한을 삭제, DB명.테이블명 = *.*

참고 : http://link2me.tistory.com/431


+ Recent posts