通过MySQL命令mysqldump实现数据备份和还原

在具体使用命令mysqldump时,经常分为以下三种形式:
一、备份一个数据库
二、备份多个数据库
三、备份所有数据库

一、备份完整语句

导出某个数据库下的某张数据表(不包含数据)
mysqldump -h IP地址 -P 端口 -u 用户名 -p 密码 -d 数据库名 表名 > 备份文件名

注意:-d 表示只备份表结构,不备份数据

如果出现如下错误警告:

Unknown table ‘column_statistics‘ in information_schema (1109)

是因为mysql8.0以上用 mysqldump进行备份的时候都会报错

解决方案:
只需要添加新参数--column-statistics=0即可,格式如下:

mysqldump --column-statistics=0 -h IP地址 -P 端口 -u 用户名 -p 密码 -d 数据库名 表名 > 备份文件名

如果想备份本机数据库下的数据,则使用如下语句:

mysqldump -u username -p dbname tablename> tablename.sql

(1)导出整个数据库(包括数据库中的数据)

mysqldump -u username -p dbname > dbname.sql  

(2)导出数据库结构(不含数据)

mysqldump -u username -p -d dbname > dbname.sql

(3)导出数据库中的某张数据表(包含数据)

mysqldump -u username -p dbname tablename > tablename.sql

(4)导出数据库中的某张数据表的表结构(不含数据)

mysqldump -u username -p -d dbname tablename > tablename.sql 

二、备份多个数据库

mysqldump -u username -p --databases dbname1 dbname2 ... dbnamen > backupname.sql

三、备份多个数据库

mysqldump -u username -p --all -databases > backupname.sql

通过命令mysql实现数据还原
1、首先通过如下命令备份某个数据库(包含数据)

mysqldump --column-statistics=0 -h139.129.246.77 -P3306 -uceshi -pceshi@123 youtubenew > youtube.sql

2、然后通过如下命令把备份数据还原到(本地)另一台服务器的数据库中

mysql -uroot -p < youtube.sql

会出现如下错误:

ERROR 1046 (3D000) at line 22: No database selected

那是因为在备份的文件中不存在创建库youtube的sql语句
解决方法如下:
在备份的sql文件中添加如下两行命令:

CREATE DATABASE `youtubenew`;
use youtubenew;

保存文件,再次还原,即:

mysql -uroot -p < youtube.sql
全部评论

相关推荐

求offer的大角牛:不吃香菜
点赞 评论 收藏
分享
06-23 11:43
门头沟学院 Java
allin校招的烤冷面很爱看电影:我靠,今天中午我也是这个hr隔一个星期发消息给我。问的问题还是一模一样的😅
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务