Import & Export MySQL

Giới thiệu
Khi làm việc với cơ sở dữ liệu MySQL, việc xuất và nhập dữ liệu là những kỹ năng quan trọng giúp bạn sao lưu, di chuyển và chia sẻ dữ liệu một cách hiệu quả. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn các phương pháp để import (nhập) và export (xuất) dữ liệu trong MySQL. Bạn sẽ học cách sử dụng các công cụ và lệnh SQL để dễ dàng di chuyển dữ liệu giữa các cơ sở dữ liệu, sao lưu dữ liệu quan trọng và khôi phục dữ liệu khi cần thiết. Bài viết sẽ cung cấp hướng dẫn chi tiết từng bước, từ các lệnh cơ bản cho đến các tùy chọn nâng cao, giúp bạn thực hiện các thao tác này một cách chính xác và hiệu quả.
Export & Import in Command Line
EXPORT DATABASE :
mysqldump -uUSERNAME -p DB_NAME > exported.sql
IMPORT DATABASE :
mysqldump -u username -p database_name < data-dump.sql
Import & Export in Container Docker
EXPORT DATABASE in Docker:
docker exec CONTAINER /usr/bin/mysqldump -u root --password=root DATABASE > backup.sql
IMPORT DATABASE in Docker :
docker exec -i mysql-container mysql -uuser -ppassword name_db < data.sql
docker run --name zabbix-server-mysql -t \
-e DB_SERVER_HOST="mysql" \
-e MYSQL_DATABASE="zabbixdb" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="<password>" \
-e MYSQL_ROOT_PASSWORD="<password>" \
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
--network=zabbix-net \
-p 10051:10051 \
--restart always \
-d zabbix/zabbix-server-mysql:alpine-6.2-latest
docker run --name zabbix-web-nginx-mysql -t \
-e ZBX_SERVER_HOST="zabbix-server-mysql" \
-e DB_SERVER_HOST="mysql" \
-e MYSQL_DATABASE="zabbixdb" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="<password>" \
-e MYSQL_ROOT_PASSWORD="<password>" \
--network=zabbix-net \
-p 80:8080 \
--restart unless-stopped \
-d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
Cronjob auto backup
Create a cli file to run
nano auto-backup.sh
# (1) set up all the mysqldump variables
DATE=`date +"%d_%b_%Y_%H%M"`
SQLFILE=/home/database/mydatabase-${DATE}.sql
DATABASE=<database_name>
USER=<user_name>
PASSWORD=<password>
# (2) do the mysql database backup (dump)
sudo mysqldump -u ${USER} -p${PASSWORD} ${DATABASE}|gzip > ${SQLFILE}.gz
Enter Cronjob and set
crontab -e
##Database auto backup
15 3 * * * sh /home/database/cli/auto-backup.sh
Xoá backup cũ sau một khoảng thời gian
crontab -e
##Clear Database wordpress when file older than 7 days
0 0 * * * /usr/bin/find /home/database/ -name "*.sql.gz" -type f -mtime +7 -exec rm -f {} \;
Bonus
Install nano, update in Docker :
docker exec -it zabbix-web-nginx-mysql --user=root bash
apk add nano
apk update
Việc nắm vững các kỹ thuật import và export dữ liệu trong MySQL không chỉ giúp bạn quản lý cơ sở dữ liệu hiệu quả hơn mà còn đảm bảo tính an toàn và khả năng di động của dữ liệu quan trọng. Bằng cách áp dụng các lệnh và công cụ đã được giới thiệu, bạn có thể dễ dàng sao lưu, khôi phục và di chuyển dữ liệu giữa các hệ thống hoặc môi trường khác nhau. Hãy thực hành thường xuyên và làm quen với các tùy chọn khác nhau để tối ưu hóa quy trình làm việc của bạn. Đừng quên kiểm tra dữ liệu sau khi thực hiện các thao tác để đảm bảo mọi thứ hoạt động như mong muốn. Chúc bạn thành công trong việc quản lý dữ liệu MySQL của mình!
Post Comment