Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
mysql [2015/01/30 13:41]
진보넷 created
mysql [2015/04/02 15:31] (current)
진보넷 [계정]
Line 1: Line 1:
 ====== MySQL ====== ====== MySQL ======
  
-**테이블 인코딩을 확인하는 방법**+===== 시작 =====
  
-  * ''​show create tables [TABLENAME]''​ +==== 설치 ==== 
-  ​* ​''​select * from [TABLENAME] ​limit 1''​ + 
-  * ''​show full columns ​form [TABLENAME]''​+==== 설정 ==== 
 + 
 +===== 일반 관리 ===== 
 + 
 +==== 데이터베이스 ==== 
 + 
 +=== 생성/​삭제 === 
 + 
 +''​TEST'' ​데이터베이스를 생성하는 경우 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +CREATE DATABASE TEST; 
 +</​code>​ 
 + 
 +''​TEST''​ 데이터베이스를 삭제하는 경우 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +DROP DATABASE TEST; 
 +</​code>​ 
 + 
 +=== 백업/​복구 === 
 + 
 +''​USER''​ 계정으로 모든 데이터베이스를 백업해서 ''​BACKUP.sql''​ 파일로 저장하는 경우 쉘에서 다음과 같이 입력한다. 
 + 
 +<code bash> 
 +mysqldump -u USER -p --all-databases > BACKUP.sql 
 +</​code>​ 
 + 
 +''​USER''​ 계정으로 ''​TEST''​ 데이터베이스를 백업해서 ''​BACKUP.sql''​ 파일로 저장하는 경우 쉘에서 다음과 같이 입력한다. 
 + 
 +<code bash> 
 +mysqldump -u USER -p --databases TEST > BACKUP.sql 
 + 
 +- 또는 - 
 + 
 +mysqldump -u USER -p TEST > BACKUP.sql 
 +</​code>​ 
 + 
 +''​USER''​ 계정으로 ''​BACKUP.sql''​ 파일로부터 모든 데이터베이스를 복구하는 경우 쉘에서 다음과 같이 입력한다. 
 + 
 +<code bash> 
 +mysql -u USER -p < BACKUP.sql 
 +</​code>​ 
 + 
 +''​USER''​ 계정으로 ''​BACKUP.sql''​ 파일로부터 ''​TEST''​ 데이터베이스를 복구하는 경우 쉘에서 다음과 같이 입력한다. 
 + 
 +<code bash> 
 +mysql -u USER -p TEST < BACKUP.sql 
 +</​code>​ 
 + 
 +또는, MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +source BACKUP.sql 
 +</​code>​ 
 +==== 테이블/​컬럼 ==== 
 + 
 +=== 테이블 생성/​삭제 === 
 + 
 +=== 테이블 백업/​복구 === 
 + 
 +=== 컬럼 생성/​삭제 === 
 + 
 +=== 컬럼 검색 === 
 + 
 +==== 계정 ==== 
 + 
 +=== 생성/​삭제/​비밀번호 변경 === 
 + 
 +''​USER''​ 계정을 생성하면서 암호를 ''​PASSWORD''​로 설정하는 경우 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +CREATE USER '​USER'​@'​localhost'​ IDENTIFIED BY '​PASSWORD';​ 
 +FLUSH PRIVILEGES;​ 
 +</​code>​ 
 + 
 +''​USER''​ 계정을 삭제하려면 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +DROP USER '​USER'​@'​localhost';​ 
 +FLUSH PRIVILEGES;​ 
 +</​code>​ 
 + 
 +''​USER''​ 계정의 암호를 ''​NEWPASSWORD''​로 변경하려면 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +SET PASSWORD FOR '​USER'​@'​localhost'​ = PASSWORD('​NEWPASSWORD'​);​ 
 +FLUSH PRIVILEGES;​ 
 + 
 +- 또는 - 
 + 
 +UPDATE mysql.user SET Password=PASSWORD('​NEWPASSWORD'​) WHERE User='​USER'​ AND Host='​localhost';​ 
 +FLUSH PRIVILEGES;​ 
 +</​code>​ 
 + 
 +=== 권한 설정 === 
 + 
 +''​USER''​ 계정이 ''​TEST''​ 데이터베이스 안의 ''​TESTTABLE''​ 테이블에 모든 권한을 갖도록 설정하려면 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +GRANT ALL PRIVILEGES ON TEST.TESTTABLE TO '​USER'​@'​localhost';​ 
 +FLUSH PRIVILEGES;​ 
 +</​code>​ 
 + 
 +''​USER''​ 계정이 ''​TEST''​ 데이터베이스 안의 ''​TESTTABLE''​ 테이블에 대해 가진 모든 권한을 취소하려면 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +REVOKE ALL PRIVILEGES ON TEST.TESTTABLE TO '​USER'​@'​localhost';​ 
 +FLUSH PRIVILEGES;​ 
 +</​code>​ 
 +===== 문제해결 ===== 
 + 
 +==== 접속 장애 ==== 
 + 
 +==== 인코딩 에러 ==== 
 + 
 +''​TEST''​ 테이블의 인코딩을 확인하려면 MySQL 콘솔에서 다음과 같이 입력한다. 
 + 
 +<code mysql> 
 +show create tables TEST; 
 + 
 +- 또는 - 
 + 
 +select * from TEST limit 1
 + 
 +- 또는 - 
 + 
 +show full columns ​from TEST; 
 +</​code>​