โดยค่าเริ่มต้นmysqldump
จะทำการสำรองข้อมูลของฐานข้อมูลทั้งหมด ฉันต้องการสำรองข้อมูลตารางเดียวใน MySQL เป็นไปได้ไหม? ฉันจะเรียกคืนได้อย่างไร
โดยค่าเริ่มต้นmysqldump
จะทำการสำรองข้อมูลของฐานข้อมูลทั้งหมด ฉันต้องการสำรองข้อมูลตารางเดียวใน MySQL เป็นไปได้ไหม? ฉันจะเรียกคืนได้อย่างไร
คำตอบ:
เท
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
เครดิต: 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
เราสามารถใช้ mysql dump ของตารางใดก็ได้โดยมีเงื่อนไขตามที่กำหนดไว้ด้านล่าง
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
หากเราต้องการเพิ่มเงื่อนไขเฉพาะบนตารางจากนั้นเราสามารถใช้คำสั่งต่อไปนี้
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 ต่อไปนี้เป็นเอาต์พุตบางส่วนของ sugarcrm.sql ซึ่งแสดงข้อมูลดัมพ์ของตาราง accounts_contacts:
-
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:
ไปทางซ้าย> ส่งออกข้อมูล> เลือกสคีมา> เลือกตารางและคลิกที่ส่งออก
mysqldump db_name table_name | gzip > table_name.sql.gz
เพื่อกู้คืน:gunzip < table_name.sql.gz | mysql -u username -p db_name