Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import database MySQL lên Docker nên chia sẻ với mọi người.
Môi trường mình đang sử dụng là EasyPanel nhé, một control panel có bản free khá ổn để build docker, và có bản Pro nếu muốn nâng cấp xịn xò hơn.
EasyPanel build theo môi trường Docker và có một số tuỳ chọn build khác, tựu chung là nhanh gọn nhẹ, anh em khỏi cần lên cloud tốn tiền mà vẫn xài được.
Import SQL lên thông qua SFTP
Đầu tiên, bạn cần SFTP để access và truy cập. Có thể dùng root / pass VPS của bạn để login nhé.
Ví dụ mình upload file database-codetot.sql vào folder root của VPS.
Tìm danh sách các Docker Container đang chạy
docker ps
Đi tìm các Docker đang bật để lấy CONTAINER ID của Docker mình cần import SQL. Chẳng hạn, CONTAINER ID của mình là 05aeffa68e53.
Chạy lệnh copy vào Docker
docker copy database-codetot.sql 05aeffa68e53:/database-codetot.sql
Lệnh trên sẽ copy file từ VPS vào môi trường Docker. Bạn có thể đổi tên, lưu ý sau mã CONTAINER ID có thêm dấu “:” nhé.
Login Docker và lên môi trường Bash
docker exec -it 05aeffa68e53 bin/bash
Bạn có thể kiểm tra file đã có chưa bằng câu lệnh:
ls -la
Import MySQL trên Docker
Giờ ta tiến hành import DB vì đã có file rồi.
mysql -u root -p <db_name> < database-codetot.sql Enter password:
Nhập mật khẩu để import (root, hoặc muốn đổi db cụ thể thì bạn thay username root nhé).
Sau khi hoàn tất, bạn sẽ thấy DB đã được import thành công.
Giám đốc tại Công ty CP CODE TỐT. Quản lý ngôn ngữ bản địa tiếng Việt tại WordPress. Là tác giả chính tại codetot.net, Khôi muốn ghi lại một sốvấn đề kỹ thuật trong quá trình phát triển các dự án website với khách hàng.