- character check
mysql> show variables like "c%"
- backup
#> usr/local/mysql/bin/mysqldump -uroot -pPassword [백업옵션] [환경옵션] > Backup.sql
[백업옵션]
--all-databases # mysql DB 전체를 백업다는것을 의미한다.
--databases DB1 DB2 DB3 # mysql 에서 특정 DB만 백업받는 것을 의미한다.
DB1 # DB1 이라는 DB 만 백업받을때 사용한다.
DB1 table1 # DB1 이라는 DB의 table1 이라는 테이블만 백업받을때 사용한다.
[환경옵션] : 백업시에 어떤환경으로 백업을 할것인가에 대한 옵션이다
--default-character-set=utf8 # 지정된 캐릭터셋을 기본으로함
--set-charset # 기본지정된 캐릭터셋(default-character-set)을 SET NAMES default-character-set로 설정
--opt # 메모리에 로드하지 않고 바로 화일로 덤프
--create-options # create문 백업시에 테이블 설정을 포함함.
--compatible=DB # 백업sql이 특정 db에 호환되도록 함 예) mysql40, mysql41, oracle, mssql
--extended-insert=FALSE # insert 문을 한줄씩 만든다
--result-file=file # 지정된 file 로 바로 넣음.. "> /BackUp/Mysql/Backup.sql" 과 같은 의미
--triggers # 트리거 덤프
--no-create-db # DB 생성정보를 뺌
--no-create-info # 테이블 생성정보를 뺌
--no-data # 테이블의 데이터를 뺌
- Recover
/usr/local/mysql/bin/mysql -uroot -pPassword [환경옵션] < Backup.sql
위의 방법은 전체복구이며 단위 DB가 생성되어 있는상태에서 db별 백업은 다음과 같이 한다.
/usr/local/mysql/bin/mysql -uroot -pPassword [환경옵션] DB명< Backup.sql
mysql> flush privileges ; ( 복원된것 DB 적용 )
- php db connect coding 참조 ( euckr 경우 )
<?
$dbconn = mysql_connect($dbcon_su,$dbcon_id,$dbcon_pw) || die("데이터베이스 연결에 실패하였습니다.");
$status = mysql_select_db($dbcon_db) or die("Could not select database");
mysql_query("SET NAMES euckr");
?>
백업 - 한글 깨짐 옵션
mysql -uroot -p --default-character-set=euckr DB명 < ./백업파일.sql