MySQL 备份
本文最后更新于:2024年3月18日 凌晨
MySQL 备份
导出
导出一张表
1 2 3
| mysqldump -u用户名 -p密码库名表名 > 文件名。
mysqldump -uroot -p123456 school student > a.sql
|
导出多张表
1 2 3
| mysqldump -u用户名 -p密码库名表1 表2 表3 > 文件名。
mysqldump -uroot -p123456 school student result > a.sql
|
导出所有表
1 2 3
| mysqldump -u用户名 -p密码库名 > 文件名。
mysqldump -uroot -p123456 school > a.sql
|
导出数据库
1 2 3
| mysqldump -u用户名 -p密码 -B 库名 > 文件名。
mysqldump -uroot -p123456 -B school > a.sql
|
导出数据库中表的结构
1
| mysqldump -h localhost -u root -p db_test-d > ~/customers_stru.sql
|
导入
在登录 mysql 的情况下
在不登录的情况下
1
| mysql -u用户名 -p密码库名 < 备份文件。
|
定期备份
创建shell 脚本。
1 2 3 4 5 6
| #!/bin/sh db_user="root" db_passwd="123456" db_name="userdb" name="$(date +"%Y%m%d%H%M%S")" /usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >>/home/backup/$name.sql
|
/usr/bin/mysqldump
: mysql 数据库安装目录下的 mysqldump 备份工具路径。
dbname
:需要备份的数据库名字。
/home/backup/$name.sql
:备份文件输出位置,可以根据情况自行设定。
2. 给 shell 脚本添加执行权限
3. 给脚本添加定时任务
1 2 3 4
| $ crontab -e # 输入上一行命名进行编辑定时任务,最后添加如下内容 00 01 * * * /bin/sh /usr/local/mysql/backupdb.sh #上面的定时任务意思是每天凌晨1点会执行自动备份脚,进行MySQL数据库的定时备份
|