> 文章列表 > mysql备份以及还原表与库的几种常见方式

mysql备份以及还原表与库的几种常见方式

mysql备份以及还原表与库的几种常见方式

一:数据泵方式-mysqldump

备份

(1)备份包括系统数据库在内的所有数据库(所有库表结构及数据)

mysqldump -uroot -p123456 --all-databases > /data/all_database.sql

备注:例子是备份本地库到本地目录,如需备份其他机器上的mysql数据库到本地需要加上端口参数以及主机地址(以下类似):

mysqldump -uroot -p123456  -P3306 -h172.18.128.139 --all-databases > /data/all_database.sql

 (2)备份单个库(单个库表结构及数据)

mysqldump -uroot -p123456 --database test > /data/test.sql

(3)备份单个库里的单个表(单个表结构及数据)

mysqldump -uroot -p123456 --databases test --tables test_table  > /data/test_table.sql

 (4)备份单个表的结构(只备份表结构不备份表数据)

mysqldump -uroot -h127.0.0.1 -p123456 -P3306 -d testdb test_table > /data/test_table.sql

(5)备份单个表的的数据(只备份表数据不备份表结构)

mysqldump -uroot -h127.0.0.1 -p123456 -P3306 -t testdb test_table > /data/test_table.sql

还原:

(1)数据泵方式

mysql -uroot -p123456 -h127.0.0.1 -P3306 test_db < /data/test_db.sql

(2)sql方式

mysql> use test_db;
mysql> source /data/test_db.sql

二:sql语句备份的方式

备份

(1)备份库表结构以及数据


create database new_database_name;
use new_database_name;create table new_table_name like old_database_name.old_table_name;
insert into new_table_name select * from old_database_name.old_table_name;

(2)备份表结构以及数据

create table test_bak like test;         ## 复制表结构
insert into test_bak select * from test; ## 复制表内容

(3)备份表数据不备份表结构

create table test_bak as select * from test;

还原:

改名还原即可