MySQL 备份 --- mysqldump

一、承上启下

1. MySQL安装

https://www.cnblogs.com/eagle6688/p/8975090.html

2. Crontab

https://www.cnblogs.com/eagle6688/p/17019244.html

二、备份

1. 分类

MySQL分为物理备份和逻辑备份,物理备份是对数据库文件进行备份,目前该功能仅在Enterprise版支持;逻辑备份是对数据库的DDL和DML脚本进行备份,主要使用mysqldump工具来实现,后者是community所支持的。

2. mysqldump

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#mysqldump-option-summary

(1) 备份单个数据库

mysqldump -h [database_hostname] -P [database_port] -u [database_username] –p [database_password] [database_name] [tablename] > [database_name-$(date +%Y%m%d).sql]

-h [database_hostname]:MySQL实例的主机名;

-P [database_port]:MySQL实例的端口号;

-u [database_username]:连接MySQL数据库的用户名;

-p [database_password]:连接MySQL数据库的用户密码;

[database_name]:需要备份的数据库名称;

[tablename]:需要备份的数据库表名,这是一个可选参数;

>:生成备份的指示符;

[database_backup_file.sql]:需要存储的Dump文件的路径和名称。

还有另外一种指定密码的方式:

mysqldump -u [database_username] [--password="database_password"] [database_name] > [database_name-$(date +%Y%m%d).sql]

(2) 备份多个数据库

mysqldump -u [database_username] -p [database_password] --databases [database_name1] [database_name2] > database_name-$(date +%Y%m%d).sql

指定密码:

mysqldump -u [database_username] [--password="database_password"] --databases [database_name1] [database_name2]  > database_name-$(date +%Y%m%d).sql

(3) 备份所有数据库

mysqldump -u [database_username] -p --all-databases > database_name-$(date +%Y%m%d).sql

指定密码:

mysqldump --all-databases -u [database_username] [--password="database_password"] > database_name-$(date +%Y%m%d).sql

(4) 备份到压缩文件

mysqldump database_name -u database_username -p | gzip > database_name-$(date +%Y%m%d).sql.gz

三、参考

https://www.liquidweb.com/kb/mysql-backup-database/

posted @ 2023-03-19 20:41  白马黑衣  阅读(62)  评论(0编辑  收藏  举报