1、mysqldump 备份并压缩sql文件
mysql>mysqldump -h主机ip -u用户名 -p密码(也可不输入) 数据库名 | gzip > 压缩后文件位置
2、mysql直接用压缩文件恢复
mysql>gunzip < backupfile.sql.gz | mysql -u用户名 -p密码(也可不输入) 数据库名
--all-databases
导出全部数据库。
--routines, -R
导出存储过程以及自定义函数。
--max_allowed_packet
服务器发送和接受的最大包长度。
--single-transaction
该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用–quick 选项。
base64加密
123456 : base64加密 (MTIzNDU2)
#备份
mysqldump -uroot -p`echo "MTIzNDU2" |base64 -d` --single-transaction --routines --max_allowed_packet=512M --all-databases | gzip > all_db_$(date +%F).sql.gz
#还原
gunzip < all_db_2023-04-13.sql.gz | mysql -uroot -p`echo "MTIzNDU2" |base64 -d`
============================================================
简化版
mysqldump -uroot -p123456 --all-databases | gzip > all_abc.sql.gz
gunzip < all_abc.sql.gz | mysql -uroot -p12356