mysqldump备份方法
mysqldump备份提供三种级别的备份:表级,库级和全库级。
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
29
30
31
32
33
34
35建立一个存放备份的目录
mkdir /tmp/mysqlbackup
改权限
mysql.mysql /tmp/mysqlbackup/
man mysqldump
mysqldump [options] db_name [tables] # 表级
mysqldump [options] --database DB1 [DB2 DB3...] # 库级
mysqldump [options] --all-databases # 全库级
全库备份:
mysqldump -uroot -p123456 --all-databases > /tmp/mysqlbackup/all.sql
全库还原:
mysql_install_db --datadir=/data --user=mysql # 可能需要重新初始化,具体的要看情况
mysql -u root -p < /tmp/mysqlbackup/all.sql
库级备份:
mysqldump -uroot -p123456 --database db1 > /tmp/mysqlbackup/db1.sql
库级还原:
mysql -u root -p < /tmp/mysqlbackup/db1.sql
表级备份:
mysqldump -uroot -p123456 db1 emp > /tmp/mysqlbackup/emp.sql
表级还原:
mysql -uroot -p123456 db1 < /tmp/mysqlbackup/emp.sql
只备份表结构:
mysqldump -uroot -p123456 --no-data db1 emp> /tmp/mysqlbackup/emp.sql
某些表不备份
mysqldump -uroot -p123456 --ignore-table=db1.emp1 --ignore-table=db1.emp2 db1 emp> /tmp/mysqlbackup/emp.sql
跨主机备份:
mysqldump -uroot -p123456 --opt --database db1 | mysql -h 192.168.0.214 -uroot -p123456 -C db1
远程数据库上要存在db1这个库才能备份过去,否则会报错。