Hướng dẫn mysqldump restore to different database - mysqldump khôi phục vào cơ sở dữ liệu khác nhau

28

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi sao lưu cơ sở dữ liệu sản xuất của mình với lệnh sau:

mysqldump -u root --opt --skip-extended-insert --databases my_production_db

Tệp kết xuất có các dòng sau gần trên cùng:

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `my_production_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `my_production_db `;

Để khôi phục cơ sở dữ liệu về một đích khác, tức là. my_debvelopment_db Tôi phải mở tệp kết xuất và chỉnh sửa các bit nơi cơ sở dữ liệu được đặt tên.

Sau đó tôi chạy:

mysql -u root  -p <password> < mydumpfile

Tôi đã không tìm ra một cách khác để làm điều đó.

Khi cơ sở dữ liệu trở nên lớn hơn, điều này trở nên không thực tế.

Tui bỏ lỡ điều gì vậy? Tôi không thể chỉ định nơi tôi muốn khôi phục cơ sở dữ liệu? Tôi có cần một lệnh sao lưu khác không?

Hướng dẫn mysqldump restore to different database - mysqldump khôi phục vào cơ sở dữ liệu khác nhau

UNOR

89.1K24 Huy hiệu vàng202 Huy hiệu bạc345 Huy hiệu Đồng24 gold badges202 silver badges345 bronze badges

hỏi ngày 26 tháng 1 năm 2012 lúc 8:28Jan 26, 2012 at 8:28

@Minaz Câu trả lời là tốt, nhưng tôi muốn thêm một chút nữa.

Vấn đề được gây ra bởi từ khóa

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `my_production_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `my_production_db `;
0. Nếu bạn bỏ qua từ khóa, nó sẽ không chứa bất kỳ nội dung tạo cơ sở dữ liệu nào.

Vì vậy, kết xuất mà không có từ khóa

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `my_production_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `my_production_db `;
0.

mysqldump -u username -p database_name > dump.sql

Và khôi phục nó với tên cơ sở dữ liệu đích.

mysql -u username -p target_database_name < dump.sql

Ngoài ra, có một số cách để làm điều này. Xem vấn đề tương tự ở đây (dba.stackexchange).

Đã trả lời ngày 31 tháng 1 năm 2012 lúc 5:02Jan 31, 2012 at 5:02

LQEZLQEZlqez

2.8385 Huy hiệu vàng23 Huy hiệu bạc54 Huy hiệu đồng5 gold badges23 silver badges54 bronze badges

3

Nếu bạn bỏ tùy chọn

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `my_production_db` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `my_production_db `;
0 nhưng vẫn chỉ định tên cơ sở dữ liệu, bạn sẽ không nhận được các câu lệnh cơ sở dữ liệu. I E:

mysqldump -u root --opt --skip-extended-insert  my_production_db

Trên máy phát triển của bạn chỉ cần tạo bất kỳ cơ sở dữ liệu nào bạn muốn khôi phục.

Nam G Vu

31.7K67 Huy hiệu vàng222 Huy hiệu bạc357 Huy hiệu đồng67 gold badges222 silver badges357 bronze badges

Đã trả lời ngày 31 tháng 1 năm 2012 lúc 4:42Jan 31, 2012 at 4:42

Hướng dẫn mysqldump restore to different database - mysqldump khôi phục vào cơ sở dữ liệu khác nhau

Minazminazminaz

5.6101 Huy hiệu vàng31 Huy hiệu bạc29 Huy hiệu đồng1 gold badge31 silver badges29 bronze badges

1

Nếu bạn đã có bãi rác của mình, bạn có thể tước các lệnh để tạo và sử dụng cơ sở dữ liệu. Chỉ cần loại bỏ dòng thứ tư và thứ năm mới.

sed '4d' dump.sql | sed '5d' > dump-striped.sql

Đã trả lời ngày 27 tháng 8 năm 2015 lúc 10:31Aug 27, 2015 at 10:31

NetActionNetactionnetAction

1.7771 Huy hiệu vàng17 Huy hiệu bạc18 Huy hiệu đồng1 gold badge17 silver badges18 bronze badges

1

Trên Windows XAMPP, tôi đã sử dụng các lệnh sau để đạt được điều này

Xuất khẩu

mysqldump -u root -p mydb > mydb.sql

Nhập khẩu

mysql -u root -p mynewdb < mydb.sql

Đã trả lời ngày 29 tháng 10 năm 2015 lúc 10:19Oct 29, 2015 at 10:19

MukeshmukeshMukesh

7.49920 Huy hiệu vàng105 Huy hiệu bạc152 Huy hiệu Đồng20 gold badges105 silver badges152 bronze badges

Làm cách nào để khôi phục nhiều cơ sở dữ liệu trong MySQL?

Cách khôi phục cơ sở dữ liệu MySQL bằng dòng lệnh hoặc khôi phục công cụ..
Sử dụng lệnh MySQL để khôi phục cơ sở dữ liệu từ dòng lệnh. ....
Khôi phục tất cả các cơ sở dữ liệu trong MySQL từ tệp kết xuất bằng MySQLDump ..
Sử dụng MySQLDump để khôi phục một bảng từ tệp kết xuất ..
Khôi phục cơ sở dữ liệu MySQL từ tệp .sql bằng cách sử dụng Workbench ..

Làm cách nào để khôi phục cơ sở dữ liệu MySQL từ máy chủ này sang máy chủ khác?

Các bước để di chuyển cơ sở dữ liệu MySQL giữa 2 máy chủ..
Bước 1: Sao lưu dữ liệu ..
Bước 2: Sao chép kết xuất cơ sở dữ liệu trên máy chủ đích ..
Bước 3: Khôi phục bãi rác ..

Bạn sẽ thực hiện những bước nào để sử dụng mysqldump để khôi phục mysql?

Cách khôi phục MySQL với mysqldump..
Bước 1: Tạo cơ sở dữ liệu mới.Trên hệ thống lưu trữ cơ sở dữ liệu, sử dụng MySQL để tạo cơ sở dữ liệu mới.....
Bước 2: Khôi phục kết xuất MySQL.....
Bước 1: Tạo bản sao lưu cơ sở dữ liệu MySQL.....
Bước 2: Xóa thông tin cơ sở dữ liệu cũ.....
Bước 3: Khôi phục cơ sở dữ liệu MySQL được sao lưu của bạn ..

Làm cách nào để nhận mysqldump từ tất cả các cơ sở dữ liệu?

Để sao lưu nhiều cơ sở dữ liệu MySQL bằng một lệnh, bạn cần sử dụng tùy chọn -cơ sở dữ liệu theo sau là danh sách các cơ sở dữ liệu bạn muốn sao lưu.Mỗi tên cơ sở dữ liệu phải được phân tách bằng không gian.Lệnh trên sẽ tạo một tệp kết xuất chứa cả hai cơ sở dữ liệu.use the --database option followed by the list of databases you want to backup. Each database name must be separated by space. The command above will create a dump file containing both databases.