덤프 및 복구및 Access denied for user 'xxx'@'localhost' to database 'xxx' when using LOCK TABLES linux

  • systemddc
  • Mysql
  • 1522
  • 0

procedure와 function 까지 모두 백업 하려면 다음과 같이 사용한다.
mysqldump --routines -u유저이름 -p패스워드 디비이름 > 백업할 파일이름

 

LOCK TABLES  라고 할때 덤프;

mysqldump -u 아이디 -p 데이터베이스 --lock-table=0 --default-character-set=latin1 > dbbackup.sql

 

 

복구

mysql -u root -p 데이터베이스 --lock-table=0 --default-character-set=latin1 < backup.sql
 
덤프

testuser 라는 디비계정의 사용자가 testdb 라는 디비에 대해 작업을 하고 해당 디비에 testtable1,testtable2,testtable3 이라는 테이블이 있을 경우 

1. testdb 의 모든 테이블의 스키마 및 데이타를 모두 덤프 받으려 할 경우 
$ mysqldump -u testuser -p testdb > testdb.sql 

2. testdb 의 모든 테이블의 스키마만 덤프받으려 할 경우 
$ mysqldump -u testuser -p -d testdb > testdb.sql 



3. testdb 의 testtable1 테이블의 스키마 및 데이타를 모두 덤프 받으려 할 경우 
$ mysqldump -u testuser -p testdb testtable1 > testdb_testtable1.sql 


4. testdb 의 testtable1 테이블의 스키마 및 데이타중 일부를 덤프 받으려 할 경우 ( no 가 testtable1 의 필드명일 경우 ) 
$ mysqldump -u testuser -p testdb testtable1 -w 'no > 1 and no < 100' > testdb_testtable1.sql 



옵션설명 : 

-u : 사용자명 입력 
-p : 비밀번호 입력 
-d : 데이타 덤프 안함 
-w : WHERE 절 입력함 (단일 따옴표인것에 주의)