Theo mặc định, mysqldump
có bản sao lưu của toàn bộ cơ sở dữ liệu. Tôi cần sao lưu một bảng duy nhất trong MySQL. Có thể không? Làm thế nào để tôi khôi phục nó?
Theo mặc định, mysqldump
có bản sao lưu của toàn bộ cơ sở dữ liệu. Tôi cần sao lưu một bảng duy nhất trong MySQL. Có thể không? Làm thế nào để tôi khôi phục nó?
Câu trả lời:
Đổ
mysqldump db_name table_name > table_name.sql
Bán phá giá từ cơ sở dữ liệu từ xa
mysqldump -u <db_username> -h <db_host> -p db_name table_name > table_name.sql
Để tham khảo thêm:
http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
Khôi phục
mysql -u <user_name> -p db_name
mysql> source <full_path>/table_name.sql
hoặc trong một dòng
mysql -u username -p db_name < /path/to/table_name.sql
Tín dụng: John McGrath
Đổ
mysqldump db_name table_name | gzip > table_name.sql.gz
Khôi phục
gunzip < table_name.sql.gz | mysql -u username -p db_name
thử
for line in $(mysql -u... -p... -AN -e "show tables from NameDataBase");
do
mysqldump -u... -p.... NameDataBase $line > $line.sql ;
done
Chúng ta có thể lấy một bãi chứa mysql của bất kỳ bảng cụ thể nào với bất kỳ điều kiện cụ thể nào như dưới đây
mysqldump -uusername -p -hhost databasename tablename --skip-lock-tables
Nếu chúng ta muốn thêm một điều kiện cụ thể trên bảng thì chúng ta có thể sử dụng lệnh sau
mysqldump -uusername -p -hhost databasename tablename --where="date=20140501" --skip-lock-tables
Bạn có thể dễ dàng sử dụng để kết xuất các bảng đã chọn bằng cách sử dụng MYSQLWorkbench tool
, riêng lẻ hoặc nhóm các bảng tại một bãi chứa sau đó nhập nó như sau: bạn cũng có thể thêm thông tin máy chủ nếu bạn đang chạy nó trong địa phương của mình bằng cách thêm -h IP.ADDRESS.NUMBER sau-u tên tài khoản
mysql -u root -p databasename < dumpfileFOurTableInOneDump.sql
Bạn có thể sử dụng mã này:
Ví dụ này lấy một bản sao lưu của cơ sở dữ liệu sugarcrm và chuyển đầu ra sang sugarcrm.sql
# mysqldump -u root -ptmppassword sugarcrm > sugarcrm.sql
# mysqldump -u root -p[root_password] [database_name] > dumpfilename.sql
Sugarcrm.sql sẽ chứa bảng thả, tạo bảng và chèn lệnh cho tất cả các bảng trong cơ sở dữ liệu sugarcrm. Dưới đây là một đầu ra một phần của sugarcrm.sql, hiển thị thông tin kết xuất của bảng Tài khoản_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;
--
Bạn có thể sử dụng mã dưới đây:
-
mysqldump -d <database name> <tablename> > <filename.sql>
-
mysqldump <database name> <tablename> > <filename.sql>
Hy vọng nó sẽ giúp.
Bạn có thể sử dụng mysqldump
từ dòng lệnh:
mysqldump -u username -p password dbname tablename > "path where you want to dump"
Bạn cũng có thể sử dụng MySQL Workbench:
Chuyển sang trái> Xuất dữ liệu> Chọn Lược đồ> Chọn bảng và nhấp vào Xuất
mysqldump db_name table_name | gzip > table_name.sql.gz
để khôi phục:gunzip < table_name.sql.gz | mysql -u username -p db_name