Hướng dẫn how do i overwrite an existing mysql database? - làm cách nào để ghi đè lên cơ sở dữ liệu mysql hiện có?

Tôi đã googled rất nhiều và tôi không thể tìm thấy gì về nó!

[root@someday backups]# mysql -u username_1 -p db_1 < tables_to_import/tables.sql 
ERROR 1050 (42S01) at line 19: Table 'ps_customer' already exists

với mysql -f là như nhau. Tôi muốn chỉ cần nhập nó .SQL và viết lại bảng đó, ai đó có thể giúp tôi không?

P.S. Tôi biết rằng khi bạn xuất một DB, bạn có thể chọn tùy chọn "BẢNG" Nhưng nếu tôi có bản sao lưu, mà không có tuyên bố này? Làm thế nào tôi có thể ép buộc? Cảm ơn

Đã hỏi ngày 1 tháng 10 năm 2012 lúc 16:12Oct 1, 2012 at 16:12

Hướng dẫn how do i overwrite an existing mysql database? - làm cách nào để ghi đè lên cơ sở dữ liệu mysql hiện có?

Khi bạn thực hiện mysqldump, hãy thêm --add-drop-Table (như twihox đã đề cập). Sau đó, thực hiện nhập khẩu của bạn như bình thường. Vì vậy, một cái gì đó như:

mysqldump --add-drop-table -u user -p db_1 > dumpfile.sql

mysql -u user -p db_1 < dumpfile.sql 

Đã trả lời ngày 17 tháng 7 năm 2015 lúc 19:05Jul 17, 2015 at 19:05

DrewbdrewbDrewB

3.16323 Huy hiệu bạc22 Huy hiệu đồng23 silver badges22 bronze badges

3

Bạn đang cố gắng ghi đè toàn bộ cơ sở dữ liệu? Nếu vậy, bạn có thể tự bỏ tất cả các bảng, và sau đó chạy tập lệnh nhập của bạn. Điều này rất dễ thực hiện trong phpmyadmin. Nếu bạn đang sử dụng CLI, cách nhanh nhất sẽ là sử dụng DROP DATABASE databasename và sau đó là create database, mặc dù tôi nghĩ rằng sau đó bạn phải cấp lại các đặc quyền cho bất kỳ người dùng không root nào.

Một tùy chọn khác là mở tệp kết xuất của bạn và thêm DROP TABLE tablename trước mỗi lệnh tạo bảng. Bạn có thể có thể làm điều này một cách dễ dàng với một số Regex thông minh.

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

Octernocternoctern

4.73419 Huy hiệu bạc38 Huy hiệu đồng19 silver badges38 bronze badges

2

Tôi muốn đề xuất-tùy chọn Table-Table.

Đã trả lời ngày 17 tháng 2 năm 2014 lúc 16:15Feb 17, 2014 at 16:15

TwihoxtwihoxtwihoX

1582 Huy hiệu bạc5 Huy hiệu Đồng2 silver badges5 bronze badges

1

Tôi biết câu hỏi này hơi cũ và nó được đánh dấu là được trả lời chính xác, tôi chỉ muốn thêm điều này ở đây cho những người (như tôi), những người không sử dụng-DROP-TABLE khi xuất.

Những gì bạn có thể làm là đăng nhập vào MySQL và thả các bảng mà bạn dự định ghi đè, sau đó sử dụng - -Force On Nhập.

Vì vậy, đăng nhập vào mysql

mysql -h HOSTNAME - USERNAME -p

Sau đó, hãy cho MySQL biết cơ sở dữ liệu nào bạn muốn sử dụng

mysql> use DATABASE_NAME

Bỏ các bảng mà bạn muốn ghi đè

mysql> DROP TABLE my_images;

Sau đó, bạn đã sẵn sàng nhập, vì vậy hãy đăng xuất khỏi MySQL và quay lại nơi tệp SQL của bạn được tải lên và chạy lệnh sau

$ mysql --force -uDB_USER -p DB_NAME < myuploadedfile.sql

Điều này sẽ buộc MySQL tiếp tục nhập bất kỳ bảng mới nào và bỏ qua 'bảng đã tồn tại lỗi'

Đã trả lời ngày 19 tháng 11 năm 2020 lúc 1:24Nov 19, 2020 at 1:24

Dylzeedylzeedylzee

3733 Huy hiệu bạc7 Huy hiệu Đồng3 silver badges7 bronze badges

0


Ghi đè cơ sở dữ liệu

Ngày 13 tháng 7 năm 2017 12:44 sángsandesh s
Date: July 13, 2017 12:44AM

Ngày 13 tháng 7 năm 2017 12:46 PM
mysqldump -u root -p db | ssh user@192.**8.0.000 mysql -u root -p copybase
i just used the above mysql cmd to make a dump of server 1 and imported directly to a database already created in server 2.But every time when executing this mysql dump cmd,a dump is created and is sented to remote database where there already exist a previously imported file,so we need to overwrite the remote db with current dump.How can i overwrite the database with the above mysql dump cmd ?


Môn học

Lượt xem

Được viết bởi

Đăng

Ghi đè cơ sở dữ liệu

5154

Ngày 13 tháng 7 năm 2017 12:44 sáng

1381

Ngày 13 tháng 7 năm 2017 12:46 PM

Xin lỗi, bạn không thể trả lời chủ đề này.Nó đã được đóng cửa.

Nội dung được sao chép trên trang web này là tài sản của chủ sở hữu bản quyền tương ứng.Nó không được xem xét trước bởi Oracle và không nhất thiết phải đại diện cho ý kiến của Oracle hoặc bất kỳ bên nào khác.