'분류 전체보기'에 해당되는 글 93건

  1. 2016.09.04 [mysql] 계정생성 및 권한설정
  2. 2016.09.03 [mysql] 슬로우쿼리 설정
  3. 2016.09.03 [mysql] 테이블 손상 확인 및 복구방법 1
사용자 추가를 위해 mysql에 접속
# mysql -u root -p
Enter password : 

[사용자 추가하기]


mysql> create user 유저아이디;

Query OK, O rows affected (0.07 sec)




[사용자 추가시 패스워드까지 설정]


mysql> create user 유저아이디@localhost identified by '비밀번호';    -> @뒤에 localhost 부분은 로컬에서만 접근이 가능하다는 의미, 외부에서 접근 불가

Query OK, O rows affected (0.00 sec)




[사용자 추가시 외부에서 접근 가능하도록 설정]


mysql> create user '유저아이디'@'%' identified by '비밀번호';    -> '%' 부분은 localhost 및 외부에서 접근이 가능하다는 의미.

Query OK, O rows affected (0.09 sec)



------------------------------------------------------------------------------------------------------------------------------------------------------------------------



[localhost에서만 접근가능하도록 변경]


mysql> insert into user(host,user,password) values ('localhost','유저아이디',password('비밀번호'));

Query OK, 1 rows affected, 3 warnings (0.06 sec)




[외부에서도 접근가능하도록 변경]


mysql> insert into user(host,user,password) values ('%','유저아이디',password('비밀번호'));

Query OK, 1 rows affected, 3 warnings (0.00 sec)



------------------------------------------------------------------------------------------------------------------------------------------------------------------------



[userid 계정에게 test 데이터베이스의 모든 테이블에 select, insert, update 권한부여]


mysql> grant select, insert, update on test.* to 유저아이디;    -> on 뒤에 test는 데이터베이스를 의미하며, *은 모든테이블을 의미
Query OK, 0 rows affected (0.00 sec)




[userid 계정에게 모든 데이터베이스의 모든 테이블에 권한부여]


mysql> grant all privileges on *.* to userid@localhost identified by 'password' with grant option;    

Query OK, 0 rows affected (0.00 sec)



[데이터베이스 추가 및 권한 주기]
mysql> CREATE DATABASE 데이터베이스명;
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 유저명@localhost IDENTIFIED BY '유저패스워드';
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 유저명@127.0.0.1 IDENTIFIED BY '유저패스워드';
mysql> GRANT ALL privileges ON 데이터베이스명.* TO 유저명@'%' IDENTIFIED BY '유저패스워드';    -> 외부에서 해당DB로 접근가능



[userid 계정의 모든 데이터베이스 사용권한 제거]

mysql> revoke all on *.* from userid@localhost;

Query OK, 0 rows affected (0.00 sec)



------------------------------------------------------------------------------------------------------------------------------------------------------------------------



[특정 IP에서만 접근 가능하도록 설정]


mysql> grant all privileges on *.* to '유저아이디'@'115.68.27.76' identified by '비밀번호';  

Query OK, 0 rows affected (0.00 sec)




[특정 IP대역 에서만 접근 가능하도록 설정]


mysql> grant all privileges on *.* to '유저아이디'@'115.68.%' identified by '비밀번호';  

Query OK, 0 rows affected (0.00 sec)




[모든 IP의 접근 허용]


mysql> grant all privileges on *.* to '유저아이디'@'%' identified by '비밀번호';  

Query OK, 0 rows affected (0.00 sec)



------------------------------------------------------------------------------------------------------------------------------------------------------------------------


[mysql 트러블슈팅]


mysql> insert into user (host, user, password) values ('%' , '유저아이디', password('비밀번호'));

ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value        -> 명령어를 잘 입력하였는데도 이처럼 에러가 날경우


mysql> insert into user (Host, User, Password, ssl_cipher, x509_issuer, x509_subject ) values('%','유저아이디',password('비밀번호'),'','','');
Query OK, 1 row affected (0.00 sec)        -> mysql 의 버전이 높아지면서 보안관련으로 인한 오류입니다.



[mysql 에서 명령어를 사용하였으면 반드시 적용을 시켜줘야합니다]

mysql> flush privileges;



Posted by 실력키우기

[mysql 슬로우 쿼리 설정]


슬로우 쿼리 설정은 쿼리 응답시간이 오랫동안 지연되었을 경우 시간과 해당 쿼리를 로그에 남기도록 하는 기능입니다.

my.cnf 파일의 [mysqld] 항복에 아래 내용을 입력 후 mysql 재시작을 해줍니다.




[MySQL 5.1.34 이상 버전]


slow_query_log = 10

slow_query_log_file = /usr/local/mysql/data/mysql-slow-queries.log




[MySQL 4.x 이상 버전]


long_query_time = 10

log-slow-queries = /usr/local/mysql/data/mysql-slow-queries.log




[MySQL 3.x 이하 버전]


set-variable = long_query_time = 10

log-slow-queries = /usr/local/mysql/data/mysql-slow-queries.log



# mysqladmin -u root -p proc stat -i1 명령어로 어떤 디비에서 쿼리 타임이 높게발생 되는지 확인합니다.

Posted by 실력키우기

[mysql 테이블 손상 확인 및 복구방법]


mysql> use DB명    ->  작업할 DB 선택

mysql> check table 테이블명    ->  확인할 테이블을 체크


mysql> use DB명    ->  작업할 DB 선택

mysql> repair table 테이블명    ->  복구할 테이블 복구



[mysql DB 손상 확인 명령어]


mysqlcheck -uroot -p --check --database DB명


mysqlcheck -uroot -p DB명

Posted by 실력키우기
이전버튼 1 2 3 4 이전버튼

블로그 이미지
공 부 하 는 직 장 인
실력키우기

태그목록

공지사항

Yesterday
Today
Total

최근에 달린 댓글