it-swarm.dev

MySQL 데이터베이스에서 단일 테이블의 백업을 가져 오는 방법?

기본적으로 mysqldump은 전체 데이터베이스의 백업을 사용합니다. MySQL에서 하나의 테이블을 백업해야합니다. 가능한가? 어떻게 복원합니까?

393
Mandar Pande

.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

748
Ozair Kafray

mysqldump 는 tbl_name 매개 변수를 취할 수 있으므로 주어진 테이블 만 백업합니다.

mysqldump -u -p yourdb yourtable > c:\backups\backup.sql
21
Jacob

시험

for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do 
mysqldump -u... -p.... NameDataBase $line > $line.sql ; 
done
  • $ line cotent names 테이블;)
15
Robin Gomez

주어진 조건을 가진 특정 테이블의 mysql 덤프를 취할 수있다.

mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables

테이블에 특정 조건을 추가하려면 다음 명령을 사용할 수 있습니다.

mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
11
minhas23

MYSQLWorkbench tool을 사용하여 선택한 테이블을 개별적으로 또는 덤프에서 그룹화 한 다음 쉽게 가져올 수 있습니다. 또한 다음과 같이 가져올 수 있습니다. 또한 호스트 정보u가 -h-U 사용자 이름 뒤에/IP.ADDRESS.NUMBER

mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql 
7
danielad

다음 코드를 사용할 수 있습니다.

이 예에서는 sugarcrm 데이터베이스를 백업하고 sugarcrm.sql에 출력을 덤프합니다.

# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql

# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql

Sugarcrm.sql에는 dropcolumn 테이블의 모든 테이블에 대해 drop table, create table 및 insert 명령이 포함됩니다. 다음은 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;

--
6
Linda Martin

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

  1. 단일 테이블 구조 단독 백업의 경우

-

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

-

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

희망이 도움이 될 것입니다.

3
Phoenix

명령 줄에서 mysqldump을 사용할 수도 있습니다.

mysqldump -u username -p password dbname tablename > "path where you want to dump"

MySQL Workbench를 사용할 수도 있습니다 :

왼쪽으로 이동> 데이터 내보내기> 스키마 선택> 표 선택 및 내보내기를 클릭하십시오.

3
SAM AB