MySQL 데이터베이스에서 단일 테이블의 백업을 수행하는 방법은 무엇입니까?
기본적으로 mysqldump
전체 데이터베이스를 백업합니다. MySQL에서 단일 테이블을 백업해야합니다. 가능합니까? 복원하려면 어떻게합니까?
.sql에서 단일 테이블 덤프 및 복원
덤프
mysqldump db_name table_name > table_name.sql
원격 데이터베이스에서 덤프
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
추가 참조 :
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
복원
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
또는 한 줄로
mysql -u username -p db_name < /path/to/table_name.sql
압축 된 (.sql.gz) 형식에서 단일 테이블 덤프 및 복원
크레딧 : John McGrath
덤프
mysqldump db_name table_name | gzip > table_name.sql.gz
복원
gunzip < table_name.sql.gz | mysql -u username -p db_name
mysqldump 는 tbl_name 매개 변수를 사용할 수 있으므로 주어진 테이블 만 백업합니다.
mysqldump -u -p yourdb yourtable > c:\backups\backup.sql
시험
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
- $ line cotent names 테이블;)
아래와 같이 주어진 조건으로 특정 테이블의 mysql 덤프를 취할 수 있습니다.
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
테이블에 특정 where 조건을 추가하려면 다음 명령을 사용할 수 있습니다
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
MYSQLWorkbench tool
하나의 덤프에서, 개별 또는 테이블 그룹을 사용하여 선택한 테이블을 쉽게 덤프 한 후 다음과 같이 가져올 수 있습니다. 또한 -h IP.ADDRESS.NUMBER after-u를 추가하여 로컬에서 호스트 를 실행중인 경우 호스트 정보를 추가 할 수 있습니다. 사용자 이름
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
이 코드를 사용할 수 있습니다 :
이 예에서는 sugarcrm 데이터베이스의 백업을 수행하여 출력을 sugarcrm.sql에 덤프합니다.
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
sugarcrm.sql은 테이블 삭제, sugarcrm 데이터베이스의 모든 테이블에 대한 테이블 작성 및 삽입 명령을 포함합니다. 다음은 accounts_contacts 테이블의 덤프 정보를 보여주는 sugarcrm.sql의 부분 출력입니다.
-
-테이블의 테이블 구조 accounts_contacts
DROP TABLE IF EXISTS `accounts_contacts`;
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
CREATE TABLE `accounts_contacts` (
`id` varchar(36) NOT NULL,
`contact_id` varchar(36) default NULL,
`account_id` varchar(36) default NULL,
`date_modified` datetime default NULL,
`deleted` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `idx_account_contact` (`account_id`,`contact_id`),
KEY `idx_contid_del_accid` (`contact_id`,`deleted`,`account_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
--
아래 코드를 사용할 수 있습니다 :
- 단일 테이블 구조 만 백업
-
mysqldump -d <database name> <tablename> > <filename.sql>
- 데이터가있는 단일 테이블 구조
-
mysqldump <database name> <tablename> > <filename.sql>
그것이 도움이되기를 바랍니다.
mysqldump
명령 행에서 사용할 수 있습니다 .
mysqldump -u username -p password dbname tablename > "path where you want to dump"
MySQL Workbench를 사용할 수도 있습니다.
왼쪽> 데이터 내보내기> 스키마 선택> 테이블 선택으로 이동하고 내보내기를 클릭하십시오.
참고 URL : https://stackoverflow.com/questions/6682916/how-to-take-backup-of-a-single-table-in-a-mysql-database
'development' 카테고리의 다른 글
JSON을 OrderedDict에로드 할 수 있습니까? (0) | 2020.02.20 |
---|---|
부트 스트랩에서 "col-md-4", "col-xs-1", "col-lg-2"의 숫자 의미 (0) | 2020.02.20 |
pkg_resources라는 모듈이 없습니다. (0) | 2020.02.20 |
iOS 9에서 App Transport Security가 활성화 된 HTTP URL을 어떻게로드합니까? (0) | 2020.02.20 |
최대 절전 모드는 동시에 여러 개의 백을 가져올 수 없습니다 (0) | 2020.02.20 |