Nhập cơ sở dữ liệu MySQL vào MariaDB
“Dữ liệu là dầu mới. ”. Vì vậy, khi nói đến kinh doanh trực tuyến, mất dữ liệu có nghĩa là mất vốn. Dữ liệu quan trọng và nhạy cảm nên được sao lưu định kỳ. Nhờ các chương trình miễn phí như MySQLDumper, bạn có thể tạo bản sao lưu cơ sở dữ liệu MySQL trong vài phút. Sau khi cài đặt, bạn có thể sử dụng phần mềm để tự động hóa và quản lý các bản sao lưu Show
Nhập hoặc xuất cơ sở dữ liệu từ cơ sở dữ liệu MySQL hoặc MariaDB từ vỏ MySQL hoặc dòng lệnh. Đây là phương pháp dễ nhất để xuất cơ sở dữ liệu hoặc bảng cụ thể từ cơ sở dữ liệu Nếu bạn có một cơ sở dữ liệu lớn hơn 500Mb, sẽ rất khó xuất, điều này sẽ mất nhiều thời gian hơn để nhập hoặc xuất toàn bộ cơ sở dữ liệu, điều này có thể dẫn đến lỗi hết thời gian chờ Trong hướng dẫn này, bạn sẽ học cách nhập hoặc xuất cơ sở dữ liệu bằng dòng lệnh từ MySQL shell. Bạn cũng sẽ tìm hiểu một số cách khắc phục sự cố không thể xuất cơ sở dữ liệu của mình BẮT ĐẦU điều kiện tiên quyết
Xuất cơ sở dữ liệu MySQL từ dòng lệnhĐăng nhập vào SSH máy chủ của bạn và lưu ý tên cơ sở dữ liệu, tên người dùng và mật khẩu của bạn. Đảm bảo người dùng của bạn có toàn quyền truy cập vào cơ sở dữ liệu mà bạn muốn xuất Bạn có thể sử dụng lệnh sau để xuất toàn bộ cơ sở dữ liệu mysqldump -u username -p database_name > filename.sql Bạn sẽ được nhắc nhập mật khẩu cho tên người dùng Khi bạn đã nhập mật khẩu, cơ sở dữ liệu của bạn sẽ được xuất sang tệp định dạng Các vấn đề mà bạn không thể xuất cơ sở dữ liệuLỗi truy cập bị từ chối
Lỗi (các) đặc quyền QUY TRÌNH truy cập bị từ chối Bạn cần sử dụng tùy chọn mysqldump --no-tablespaces -u username -p database_name > filename.sql Chỉ xuất một số bảng nhất địnhĐể xuất các bảng cụ thể của cơ sở dữ liệu từ dòng lệnh, bạn cần chuyển tên bảng như hình bên dưới mysqldump -u username -p database_name table1 table2 > filename.sql Lệnh trên sẽ chỉ xuất các tên bảng được chỉ định Nhập dữ liệu MySQL từ dòng lệnhĐây là phương pháp tốt nhất để nhập một tệp cơ sở dữ liệu khổng lồ mà không có bất kỳ lỗi nào Tải tệp Nếu bạn không có cơ sở dữ liệu, bạn cần đăng nhập với tư cách người dùng như root để tạo cơ sở dữ liệu CREATE DATABASE database_name /*\!40100 DEFAULT CHARACTER SET utf8mb4 */; Để nhập cơ sở dữ liệu, bạn có thể sử dụng lệnh sau mysql -u username -p database_name < backup.sql Đảm bảo rằng bạn có đủ đặc quyền trên cơ sở dữ liệu của mình thận trọng. Nếu bạn sử dụng mysqldump --no-tablespaces -u username -p database_name > filename.sql0 thay vì mysqldump --no-tablespaces -u username -p database_name > filename.sql1. Tất cả dữ liệu trong bản sao lưu. sql sẽ bị xóa hoặc bị hỏng Nếu bạn có nhiều hơn 1 GiB dữ liệu để tải hoặc nếu dữ liệu của bạn đến từ một nơi nào đó không phải là cơ sở dữ liệu MariaDB hoặc MySQL, chúng tôi khuyên bạn nên tạo các tệp phẳng và tải chúng bằng mysqlimport. Tiện ích mysqlimport là một tiện ích dòng lệnh khác đi kèm với phần mềm máy khách MySQL và MariaDB. Mục đích của nó là tải các tệp phẳng vào MySQL hoặc MariaDB. Để biết thông tin về mysqlimport, hãy xem mysqlimport - một chương trình nhập dữ liệu trong tài liệu MySQL Chúng tôi cũng khuyên bạn nên tạo các bản kết xuất nhanh cơ sở dữ liệu của phiên bản CSDL Amazon RDS mục tiêu trước và sau khi tải dữ liệu. Kết xuất nhanh cơ sở dữ liệu Amazon RDS là bản sao lưu hoàn chỉnh của phiên bản CSDL của bạn. Bản sao này có thể được sử dụng để khôi phục phiên bản CSDL của bạn về trạng thái đã biết. Khi bạn bắt đầu một bản kết xuất nhanh cơ sở dữ liệu, các thao tác I/O đối với phiên bản CSDL của bạn tạm thời bị tạm dừng trong khi cơ sở dữ liệu của bạn được sao lưu Tạo ảnh chụp nhanh cơ sở dữ liệu ngay trước khi tải giúp bạn có thể khôi phục cơ sở dữ liệu về trạng thái của nó trước khi tải, nếu bạn cần. Ảnh chụp nhanh cơ sở dữ liệu được chụp ngay sau khi tải giúp bạn không phải tải lại dữ liệu trong trường hợp xảy ra sự cố và cũng có thể được sử dụng để khởi tạo các phiên bản cơ sở dữ liệu mới Danh sách sau đây cho thấy các bước cần thực hiện. Mỗi bước được thảo luận chi tiết hơn sau đây
Bước 1. Tạo các tệp phẳng chứa dữ liệu sẽ được tảiSử dụng một định dạng phổ biến, chẳng hạn như các giá trị được phân tách bằng dấu phẩy (CSV), để lưu trữ dữ liệu sẽ được tải. Mỗi bảng phải có tệp riêng; . Đặt cho mỗi tệp cùng tên với bảng mà nó tương ứng. Phần mở rộng tệp có thể là bất cứ thứ gì bạn thích. Ví dụ: nếu tên bảng là 5, tên tệp có thể là 6 hoặc 7, nhưng không phải là 8Bất cứ khi nào có thể, hãy sắp xếp dữ liệu theo khóa chính của bảng đang được tải. Làm điều này cải thiện đáng kể thời gian tải và giảm thiểu yêu cầu lưu trữ đĩa Tốc độ và hiệu quả của quy trình này phụ thuộc vào việc giữ cho kích thước tệp nhỏ. Nếu kích thước không nén của bất kỳ tệp riêng lẻ nào lớn hơn 1 GiB, hãy chia tệp đó thành nhiều tệp và tải riêng từng tệp Trên các hệ thống giống Unix (bao gồm cả Linux), hãy sử dụng lệnh 9. Ví dụ: lệnh sau chia tệp 6 thành nhiều tệp nhỏ hơn 1 GiB, chỉ chia khi ngắt dòng (-C 1024m). Các tệp mới được đặt tên là 1, 2, v.v.
Các tiện ích tương tự có sẵn cho các hệ điều hành khác Bước 2. Dừng mọi ứng dụng đang truy cập phiên bản CSDL đíchTrước khi bắt đầu tải lớn, hãy dừng mọi hoạt động của ứng dụng đang truy cập phiên bản CSDL đích mà bạn định tải lên. Chúng tôi đặc biệt khuyến nghị điều này nếu các phiên khác sẽ sửa đổi các bảng đang được tải hoặc các bảng mà chúng tham chiếu. Làm điều này làm giảm nguy cơ vi phạm ràng buộc xảy ra trong quá trình tải và cải thiện hiệu suất tải. Nó cũng cho phép khôi phục phiên bản CSDL về điểm ngay trước khi tải mà không làm mất các thay đổi được thực hiện bởi các quy trình không liên quan đến tải Tất nhiên, điều này có thể không khả thi hoặc thực tế. Nếu bạn không thể ngăn các ứng dụng truy cập phiên bản CSDL trước khi tải, hãy thực hiện các bước để đảm bảo tính khả dụng và tính toàn vẹn của dữ liệu của bạn. Các bước cụ thể được yêu cầu rất khác nhau tùy thuộc vào các trường hợp sử dụng cụ thể và yêu cầu của trang web Bước 3. Tạo ảnh chụp nhanh cơ sở dữ liệuNếu định tải dữ liệu vào một phiên bản CSDL mới không chứa dữ liệu, thì bạn có thể bỏ qua bước này. Mặt khác, việc tạo ảnh chụp nhanh cơ sở dữ liệu cho phiên bản CSDL của bạn giúp bạn có thể khôi phục phiên bản CSDL về điểm ngay trước khi tải, nếu cần thiết. Như đã đề cập trước đây, khi bạn bắt đầu một bản kết xuất nhanh cơ sở dữ liệu, các thao tác I/O đối với phiên bản CSDL của bạn sẽ bị tạm dừng trong vài phút trong khi cơ sở dữ liệu được sao lưu Ví dụ sau đây sử dụng lệnh AWS CLI 3 để tạo ảnh chụp nhanh cơ sở dữ liệu của phiên bản 4 và cung cấp cho ảnh chụp nhanh cơ sở dữ liệu mã định danh 5Đối với Linux, macOS hoặc Unix
Cho cửa sổ
Bạn cũng có thể sử dụng chức năng khôi phục từ kết xuất nhanh cơ sở dữ liệu để tạo các phiên bản CSDL thử nghiệm cho các lần chạy khô hoặc hoàn tác các thay đổi đã thực hiện trong quá trình tải Lưu ý rằng việc khôi phục cơ sở dữ liệu từ kết xuất nhanh cơ sở dữ liệu sẽ tạo ra một phiên bản CSDL mới, giống như tất cả các phiên bản CSDL, có một mã định danh và điểm cuối duy nhất. Để khôi phục phiên bản CSDL mà không thay đổi điểm cuối, trước tiên hãy xóa phiên bản CSDL để bạn có thể sử dụng lại điểm cuối Ví dụ: để tạo một phiên bản CSDL cho các lần chạy khô hoặc thử nghiệm khác, bạn cung cấp cho phiên bản CSDL mã định danh riêng của nó. Trong ví dụ, 6" là định danh. Ví dụ này kết nối với phiên bản DB bằng cách sử dụng điểm cuối được liên kết với 6Đối với Linux, macOS hoặc Unix
Cho cửa sổ
Để sử dụng lại điểm cuối hiện có, trước tiên hãy xóa phiên bản CSDL, sau đó cung cấp cho cơ sở dữ liệu đã khôi phục cùng một mã định danh Đối với Linux, macOS hoặc Unix
Cho cửa sổ
Ví dụ trước chụp nhanh cơ sở dữ liệu cuối cùng của phiên bản CSDL trước khi xóa nó. Đây là tùy chọn nhưng được khuyến nghị Bước 4. Cân nhắc tắt sao lưu tự động Amazon RDSKhông tắt sao lưu tự động nếu bạn cần thực hiện khôi phục tại thời điểm Tắt sao lưu tự động sẽ xóa tất cả các bản sao lưu hiện có, vì vậy không thể khôi phục tại thời điểm sau khi tắt sao lưu tự động. Tắt sao lưu tự động là cách tối ưu hóa hiệu suất và không bắt buộc đối với tải dữ liệu. Kết xuất nhanh cơ sở dữ liệu thủ công không bị ảnh hưởng khi tắt sao lưu tự động. Tất cả kết xuất nhanh cơ sở dữ liệu thủ công hiện có vẫn có sẵn để khôi phục Tắt sao lưu tự động giúp giảm thời gian tải khoảng 25 phần trăm và giảm dung lượng lưu trữ cần thiết trong khi tải. Nếu bạn định tải dữ liệu vào một phiên bản CSDL mới không chứa dữ liệu, thì việc tắt các bản sao lưu là một cách dễ dàng để tăng tốc độ tải và tránh sử dụng bộ nhớ bổ sung cần thiết cho các bản sao lưu. Tuy nhiên, trong một số trường hợp, bạn có thể định tải vào một phiên bản CSDL đã chứa dữ liệu. Nếu vậy, hãy cân nhắc lợi ích của việc tắt sao lưu so với tác động của việc mất khả năng thực hiện khôi phục tại thời điểm Các phiên bản CSDL được bật sao lưu tự động theo mặc định (với thời gian lưu giữ một ngày). Để tắt sao lưu tự động, hãy đặt khoảng thời gian lưu giữ sao lưu thành 0. Sau khi tải, bạn có thể bật lại sao lưu bằng cách đặt khoảng thời gian lưu giữ sao lưu thành giá trị khác không. Để bật hoặc tắt sao lưu, Amazon RDS sẽ tắt phiên bản CSDL và khởi động lại để bật hoặc tắt tính năng đăng nhập MariaDB hoặc MySQL Sử dụng lệnh AWS CLI 8 để đặt lưu giữ dự phòng về 0 và áp dụng thay đổi ngay lập tức. Việc đặt khoảng thời gian lưu giữ thành 0 yêu cầu khởi động lại phiên bản CSDL, vì vậy hãy đợi cho đến khi quá trình khởi động lại hoàn tất trước khi tiếp tụcĐối với Linux, macOS hoặc Unix
Cho cửa sổ
Bạn có thể kiểm tra trạng thái phiên bản CSDL của mình bằng lệnh AWS CLI 9. Ví dụ sau đây hiển thị trạng thái phiên bản DB của phiên bản DB 4
Khi trạng thái phiên bản CSDL là 1, bạn đã sẵn sàng để tiếp tụcBước 5. Tải dữ liệuSử dụng tiện ích mysqlimport để tải các tệp phẳng vào Amazon RDS. Ví dụ sau yêu cầu mysqlimport tải tất cả các tệp có tên "sales" với phần mở rộng bắt đầu bằng "part_". Đây là một cách thuận tiện để tải tất cả các tệp được tạo trong ví dụ "tách" Sử dụng tùy chọn --compress để giảm thiểu lưu lượng mạng. Tùy chọn --fields-terminated-by=',' được sử dụng cho các tệp CSV và tùy chọn --local chỉ định rằng dữ liệu đến được đặt trên máy khách. Nếu không có tùy chọn --local, phiên bản CSDL Amazon RDS sẽ tìm kiếm dữ liệu trên máy chủ cơ sở dữ liệu, vì vậy, hãy luôn chỉ định tùy chọn --local. Đối với tùy chọn --host, hãy chỉ định điểm cuối phiên bản CSDL của phiên bản RDS cho phiên bản CSDL MySQL Trong các ví dụ sau, hãy thay thế 2 bằng tên người dùng chính cho phiên bản CSDL của bạnThay thế 3 bằng điểm cuối cho phiên bản CSDL của bạn. Một ví dụ về điểm cuối phiên bản DB là 4Đối với RDS cho MySQL phiên bản 8. 0. 15 trở lên, hãy chạy câu lệnh sau trước khi sử dụng tiện ích mysqlimport 0Đối với Linux, macOS hoặc Unix 1Cho cửa sổ 2Đối với các lần tải dữ liệu rất lớn, hãy định kỳ thực hiện các ảnh chụp nhanh cơ sở dữ liệu bổ sung giữa các lần tải tệp và lưu ý những tệp nào đã được tải. Nếu xảy ra sự cố, bạn có thể dễ dàng tiếp tục từ điểm của ảnh chụp nhanh cơ sở dữ liệu cuối cùng, tránh tải lại lâu Bước 6. Bật lại sao lưu tự động Amazon RDSSau khi tải xong, hãy bật sao lưu tự động Amazon RDS bằng cách đặt khoảng thời gian lưu giữ sao lưu về giá trị tải trước. Như đã lưu ý trước đó, Amazon RDS khởi động lại phiên bản CSDL, vì vậy hãy chuẩn bị sẵn sàng cho trường hợp ngừng hoạt động trong thời gian ngắn Ví dụ sau sử dụng lệnh AWS CLI 8 để bật sao lưu tự động cho phiên bản CSDL 4 và đặt khoảng thời gian lưu giữ thành một ngày
Làm cách nào để nhập cơ sở dữ liệu trong MariaDB?Nhập cơ sở dữ liệu MySQL hoặc MariaDB
. Để làm như vậy, nếu bạn không có trình quản lý cơ sở dữ liệu, bạn cần kết nối với máy chủ cơ sở dữ liệu với tư cách là người dùng “root”. Thao tác này sẽ mở Shell của MySQL hoặc MariaDB. create the database where the import will take place. For doing so, if you do not have a database manager, you need to connect to the database server as a “root” user. This will open the Shell of MySQL or MariaDB.
Tôi có thể thay thế MySQL bằng MariaDB không?Có, có thể thay thế MySQL bằng MariaDB . MariaDB được coi là một sự thay thế thả xuống cho phiên bản MySQL tương ứng (i. e MariaDB 10. 2 và Mysql 5. 7). Vui lòng xem lại sự khác biệt về tính năng giữa MariaDB và MySQL để đảm bảo rằng việc chuyển đổi sẽ không ảnh hưởng đến các ứng dụng sử dụng máy chủ cơ sở dữ liệu.
Làm cách nào để nhập cơ sở dữ liệu từ MySQL?Nhập cơ sở dữ liệu từ một tệp
. Fill in the fields with the connection information. Sau khi kết nối với cơ sở dữ liệu, hãy chuyển đến Nhập/Khôi phục dữ liệu. Chọn tùy chọn Nhập từ tệp tự chứa và chọn tệp. Chọn cơ sở dữ liệu đích trong Lược đồ mặc định được nhập vào và sau đó nhấp vào Bắt đầu nhập.
MariaDB và MySQL có giống nhau không?Mặc dù MariaDB là một nhánh của MySQL, hai hệ thống quản lý cơ sở dữ liệu này vẫn khá khác nhau . MariaDB được cấp phép GPL đầy đủ trong khi MySQL sử dụng phương pháp cấp phép kép. Mỗi nhóm luồng xử lý theo một cách khác nhau. MariaDB hỗ trợ rất nhiều công cụ lưu trữ khác nhau. |