Import & Export MySQL

image-1024x575 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!

I am gaining experience and developing my skills in the field of information technology. My focus areas include basic network administration, troubleshooting, and supporting IT infrastructure. I am keen on learning and growing in various aspects of IT, from system setup and maintenance to exploring new technologies and methodologies.

Post Comment