Giả sử bạn không thể tăng thêm kích thước bộ nhớ thì có một vài lựa chọn.
Nếu bạn không quen thuộc với dòng lệnh và bạn thực sự muốn gắn bó với kiểu nhập GUI thì bạn có thể sử dụng BigDump ( http://www.ozerov.de/bigdump/ ). Tôi đã sử dụng nó một lần nhưng đã được một lúc. Từ những gì tôi nhớ, bạn sẽ tải xuống một tệp có tên bigdump.php (với một số hướng dẫn) và đưa nó vào máy chủ web của bạn trong thư mục chứa tệp kết xuất MySQL DB quá lớn để nhập qua PHPMYADMIN. Sau đó điều hướng đến nó bằng trình duyệt của bạn - một cái gì đó như http://your-website.com/bigdump.php .
Nếu bạn quen thuộc với dòng lệnh và sử dụng hệ thống dựa trên Linux thì bạn có thể sử dụng mã như thế này:
mysql -u USERNAME -p DATABASENAME <FILENAME.sql
Cơ sở dữ liệu và người dùng (có đặc quyền cho cơ sở dữ liệu) sẽ cần tồn tại trước khi chạy lệnh này. Lưu ý tôi đã sao chép lệnh trên từ một nguồn khác. Tôi luôn luôn thực hiện các bãi chứa của mình và khôi phục như thế này: DUMP: mysqldump -u DB_USER -h DB_HOST -pDB_PASSWORD DB_NAME | gzip -9 > DB_NAME.sql.gz
RESTORE:gunzip < PATH_TO_DUMP/DB_NAME.sql.gz | mysql -u DB_USER -pDB_PASSWORD DB_NAME
- Cuối cùng, và đau đớn nhất, bạn có thể chọn đổ từng bảng hoặc nhóm bảng thành các bãi nhỏ đủ nhỏ. Sau đó khôi phục từng bãi rác riêng lẻ này qua PHPMYADMIN.
Hướng dẫn FTP & RESTORE:
Tải xuống FileZilla tại đây: http://filezilla-project.org/doad.php?type=client
Thông thường, bạn có thể FTP vào máy chủ của mình (đặc biệt là máy chủ được chia sẻ) bằng cùng thông tin đăng nhập và mật khẩu bạn muốn cho SSH (bạn đăng nhập dòng lệnh). Chỉ cần đảm bảo thiết lập kết nối đến máy chủ của bạn đúng cách trong FileZilla.
Sau khi kết nối, đường dẫn mặc định của bạn có thể sẽ là thư mục $ HOME của bạn (trên các máy nix). Nếu bạn không có kế hoạch thực hiện nhiều FTP, chỉ cần bỏ những gì bạn muốn vào đó. Bạn luôn có thể di chuyển nó từ dòng lệnh.
Nếu bạn FTP một kết xuất MySQL vào thư mục $ HOME của bạn thì lệnh RESTORE cho DB có tên mydb và tệp kết xuất db có tên mydb.sql.gz (trong thư mục $ HOME) sẽ là:
gunzip < $HOME/mydb.sql.gz | mysql -u DB_USER -pDB_PASSWORD mydb
nơi bạn rõ ràng sẽ cần thay đổi các giá trị DB_USER và DB_PASSWORD thành tên người dùng và mật khẩu bạn thiết lập cho DB.
Nhớ lại:
- DB phải tồn tại (nhưng để trống) trước khi lệnh RESTORE được thực thi
- DB_USER và DB_PASSWORD phải được thiết lập cho DB trước lệnh RESTORE (bạn có thể thực hiện việc này từ tab PHPMYADMIN - Đặc quyền)
- Khi bạn thiết lập DB_USER từ PHPMYADMIN, nó sẽ mặc định chỉ cho phép DB_USER truy cập DB từ localhost (máy chủ DB được lưu trữ trên đó). Tôi cho rằng điều này tốt cho việc cấp tình huống của bạn. Khi bạn tham gia vào các DUMP và RESTORE tiên tiến hơn, bạn có thể muốn thực hiện nó từ một máy khác hoàn toàn không khó nhưng đòi hỏi một vài thông tin được cung cấp và DB_USER với các đặc quyền thích hợp.
FTP DB và RESTORE nó ... Từng bước
- Định vị tệp kết xuất MySQL đã nén trên máy tính để bàn của bạn (Ví dụ: C: \ Web \ DB \ Dumps \ mydb.sql.zip)
- Tải xuống và cài đặt FileZilla
- Trong FileZilla, đi đến File-> Trình quản lý trang và nhấp vào nút Trang web mới (góc phần tư phía dưới bên trái của GUI). Đặt máy chủ thành tên miền (Ví dụ: Dest.com) trên đó nằm trên máy chủ DESTINATION của bạn. Đặt Giao thức thành FTP hoặc SFTP (điều này phụ thuộc vào lưu trữ của bạn, hãy hỏi họ). Đặt Người dùng và Mật khẩu (Ví dụ: Người dùng = cấp, Mật khẩu = mật khẩu cấp) - nếu giao thức FTP là SFTP thì mọi bộ thông tin đăng nhập SSH hợp lệ sẽ hoạt động.
- (Trong FileZilla) Nhấp vào Kết nối (nút dưới cùng bên trái)
- (Trong FileZilla) Sau khi được kết nối với máy chủ từ xa (nên là máy chủ DESTINATION của bạn), hãy sử dụng phía bên trái của FileZilla để điều hướng đến thư mục chứa tệp kết xuất bạn nằm trong Bước 1. .
- (Trong FileZilla) Xác định vị trí trang web từ xa: nhãn trực tiếp ở bên phải của trang web địa phương :.
- (Trong FileZilla) Không có lý do kỹ thuật nào bạn không thể đặt DB DUMP vào thư mục mà FileZilla mở ra. Nó có thể sẽ mặc định cho thư mục $ HOME của bạn. Nếu bạn không có bất kỳ lý do nào để đặt DB Dump vào một thư mục cụ thể - chẳng hạn như cho mục đích tổ chức của riêng bạn - thì hãy để lại đường dẫn trên trang web Remote. Viết đường dẫn đó (Ví dụ Linux: / usr / Grant).
- .
- Trong PHPMYADMIN trên máy chủ DESTINATION của bạn, hãy tạo cơ sở dữ liệu mới (nhập mydb vào hộp văn bản Tạo cơ sở dữ liệu mới và Nhấp vào nút Tạo).
- (Trong PHPMYADMIN) Chọn mydb từ menu bên trái.
- (Trong PHPMYADMIN) Nhấp vào tab Đặc quyền (phía trên bên phải). Khi vào trang đó, nhấp vào Thêm người dùng mới.
- (Trong PHPMYADMIN-> Đặc quyền-> Thêm người dùng mới) Cung cấp tên người dùng (Ví dụ: mydb_grant) và mật khẩu (Ví dụ: mydb_password). Trong danh sách thả xuống Host, chọn Local. Đảm bảo rằng nút radio bên cạnh "Cấp tất cả các đặc quyền trên cơ sở dữ liệu" đã được chọn. Sau đó bấm Go (dưới cùng bên phải của màn hình).
- SSH vào máy chủ DESTINATION của bạn.
- (Trong thiết bị đầu cuối SSH của bạn) Điều hướng đến thư mục mà bạn đã ghi lại trong Bước 7. Sử dụng lệnh như -
cd $HOME
hoặc cd /usr/grant
. (Trên các máy Linux $ HOME là một biến môi trường sẽ bằng một cái gì đó như / usr / Grant.)
- (Trong thiết bị đầu cuối SSH của bạn) Thực hiện lệnh sau:
gunzip < /usr/grant/mydb.sql.gz | mysql -u mydb_grant -pmydb_password mydb
(không có khoảng trắng giữa -p và mật khẩu vì đó là cách nó cần phải có, đó không phải là một lỗi đánh máy).
Khi lệnh cuối cùng hoàn thành DB của bạn đã được RESTORED. Tôi không khuyên bạn nên sử dụng người dùng DB và mật khẩu mà tôi đã cung cấp chỉ cần thay thế chúng bằng các lựa chọn an toàn hơn của riêng bạn.
DUMP và RESTORE trên các máy chủ khác nhau không có FTP
Nếu bạn muốn bỏ qua nội dung FTP và không ngại làm lại DUMP thì bạn có thể làm theo cách này:
- Đăng nhập vào máy chủ DESTINATION (nơi bạn muốn DB cư trú - chúng tôi sẽ gọi nó là Destination.com)
- Tạo DB, Người dùng và các đặc quyền thích hợp như đã đề cập ở trên trên máy chủ DESTINATION
- Đảm bảo các đặc quyền trên máy chủ SOURCE cho phép SOURCE_DB_USER truy cập DB từ xa - cho phép truy cập từ Dest.com hoặc từ% (% - mọi người và mọi nơi nếu họ có tên người dùng và mật khẩu phù hợp)
- Trên máy chủ DESTINATION chạy:
mysqldump -u SOURCE_DB_USER -h source.com -pSOURCE_DB_PASSWORD mydb| gzip -9 > $HOME/mydb.sql.gz
nơi source.com là máy chủ SOURCE (nơi DB hiện đang cư trú)
- Sau đó (trên máy chủ DESTINATION) chạy:
gunzip < $HOME/mydb.sql.gz | mysql -u DEST_DB_USER -pDEST_DB_PASSWORD mydb
Đó là tất cả những gì bạn cần làm để di chuyển DB từ máy chủ này sang máy chủ khác. Hãy cẩn thận là tôi chỉ từng làm điều này trên Ubuntu chuyên dụng của riêng tôi (với LAMP tiêu chuẩn) và các máy chủ VPS của Dreamhost (mà tôi tin là chạy CentOS nhưng tôi có thể sai).