MySQL数据备份

备份mysql数据库或表

命令 mysqldump

常用参数详解

1
2
3
4
5
6
7
-u  用户名
-p 密码
-h 服务器IP地址
-d 等价于--no-datab 只导出表结构
-t 等价于--no-create- info只 导出数据,不导出建表语句
-A 等价于--all-databases
-B 等价于--databases导 出一个或多个数据库

ftp命令

1
2
3
常用命令
open 与ftp服务器建立连接 如open 192.168.37.101
user 登录用户和密码 如 user ftp123 abc

参考资料

操作

1
2
3
4
5
6
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

mysqldump -udbuser -p1RootRoot@ school > school.sql

示例

需求:将schoo1中 的score表备份,并且将备份数据通过FTP传输到192.168.37.101的/data/backup目录下

1
2
3
4
ftp 
-i 表示进入交互界面
-n 自动登录
-v 打印信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
#

db_user="dbuser"
db_passwd="1RootRoot@"
db_host="192.168.37.101"

ftp_user="ftpUser"
ftp_passwd="!1qaz@2wsx"
ftp_host="192.168.37.101"

src_dir="/opt/datasets/test"
dest_dir="/home/ftpUser/backup"
time_date="`date +%Y%m%d%H%M%S`"
file_name="school_$time_date"

function auto_ftp
{
ftp -inv <<EOF
open 192.168.37.101
user ftpUser !1qaz@2wsx
cd $src_dir
put $1 $dest_dir/$file_name
bye
EOF
}

mysqldump -u$db_user -p$db_passwd -h$db_host school > $src_dir/$file_name && auto_ftp $src_dir/$file_name

总结

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×