linux中mysql数据库的备份与恢复

 mysqldump常见选项:
--all-databases, -A: 备份所有数据库
--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldum把每个名字都当作为数据库名。
--force, -f:即使发现sql错误,仍然继续备份
--host=host_name, -h host_name:备份主机名,默认为localhost
--no-data, -d:只导出表结构
--password[=password], -p[password]:密码
--port=port_num, -P port_num:制定TCP/IP连接时的端口号
--quick, -q:快速导出
--tables:覆盖 --databases or -B选项,后面所跟参数被视作表名
--user=user_name, -u user_name:用户名
--xml, -X:导出为xml文件


备份:
1、备份成sql文件
mysqldump -hip地址 -u用户名 -p密码 库名>/data/备份的文件名.sql
例子:
mysqldump -h127.0.0.1 -uroot -proot derp-report>/data/derp-report.sql

2、备份成压缩文件

mysqldump -h127.0.0.1 -uroot -proot derp-report|gzip>/data/derp-report.sql.gz

3、备份指定的几张表
mysqldump -h127.0.0.1 -uroot -proot derp-report t_inventory_details t_depot_info>/data/derp-report-detail-depot.sql

4、备份多个库 -B参数表示多个库
mysqldump -h127.0.0.1 -uroot -proot -B derp-report derp-order>/data/derp-report-order.sql

5、只备份数据加-t参数
mysqldump -h127.0.0.1 -uroot -proot derp-report t_depot_info -t>/data/depot.sql

6、只备份表结构 加参数-d
mysqldump -h127.0.0.1 -uroot -proot derp-report t_depot_info -d>/data/depot.sql

7、备份全部数据库 加参数 -A
 mysqldump -h127.0.0.1 -uroot -proot -A>/data/alldatabase.sql
 
8、备份全部数据库表结构 加参数 -A -d
mysqldump -h127.0.0.1 -uroot -proot -A -d>/data/alldatabase.sql

9、备份全部数据库数据 加参数 -A -t
mysqldump -h127.0.0.1 -uroot -proot -A -t>/data/alldatabase.sql


还原:
1、从sql文件恢复单个库数据和表结构
mysql -h127.0.0.1 -uroot -proot derp-report

2、从压缩文件恢复单个库数据和表结构
gunzip

3、从sql文件恢复几个表
mysql -h127.0.0.1 -uroot -proot derp-report

4、source命令导入sql,要先登录mysql再进入到某个库后source导入sql:
source /data/depotshuju.sql;

5、将数据备份并转移到新的服务器上
mysqldump -u当前用户名 -p密码 数据库名 | mysql -h新服务器ip -u新服务器数据库用户名 -p密码 -C 新数据库名称

mysqldump -uroot -proot derp-report | mysql -h127.0.0.1 -uroot -proot -C derp-report2

你可能感兴趣的:(linux)