[mysql] 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;

--


답변

아래 코드를 사용할 수 있습니다 :

  1. 단일 테이블 구조 만 백업

mysqldump -d <database name> <tablename> > <filename.sql>
  1. 데이터가있는 단일 테이블 구조

mysqldump <database name> <tablename> > <filename.sql>

그것이 도움이되기를 바랍니다.