如何使用mysqldump命令备份mysql数据库

 我来答
爱可生云数据库
2021-03-02 · MySQL开源数据库领先者
爱可生云数据库
爱可生,金融级开源数据库和数据云服务整体解决方案提供商;优秀的开源数据库技术,企业级数据处理技术整体解决方案提供商;私有云数据库云服务市场整体解决方案提供商。
向TA提问
展开全部
通用规律只有使用 --all-databases (-A) 会 ERROR 1356,那就看看他到底备份了什么东西。于是喊上同事一起 less 看了下,上下扫了两眼。突然发现:1. 备份 SQL 文件里 DROP 掉了 mysql.proc;2. 后CREATE了一个新的 mysql.proc;3. LOCK TABLES 和 UNLOCK TABLES 中间居然没有备份 CREATE ROUTINE 任何数据?这不就是相当于每次导入全备都给我一个没有任何 sys schema routines 的全新 mysql.proc 表?那这不就异常的尴尬?
---- Table structure for table `proc`--
---- Dumping data for table `proc`-
真相大白在官方文档【sys-schema-usage】官方文档明确的告诉我们不会备份 sys 库。但在使用 mysqldump 在执行 --all-databases 会清空 mysql.proc 导致 sys 无法正常使用;这是一个 BUG,并且只存在于 MySQL 5.7.x !
1、mysql_upgrade install or upgrade sys schema
这个方案适用于 sys 库已经因为 mysqldump 导入而损坏的情况下使用。
注意:mysql_upgrade 在修理 sys 库的同时,还修理 mysql 库和用户库表(期间加锁且速度一般),有极小可能会误伤;使用 mysql_upgrade 的时候要加上 --upgrade-system-tables,不然会扫描用户库表。
2、全备时同时备份 sys 库
这个方案适用于需要还原的数据库,sys 库也不太正常的情况下使用;在全备后额外再备份一份 sys 库用于修复。
注意:不适用于做主从时使用它。
3、使用 databases 全备
这个方案适用于所有场景的全备需求,100% 安全。
4、使用 mysql-sys 开源代码

如果你的数据库 sys 全部中招了,又是生产库。那你只能用这个方法;
mysql-sys:https://github.com/mysql/mysql-sys
中记录了 sys 库的创建语句将文件下载到本地,然后根据数据库版本,执行以下命令即可。
35145921
推荐于2018-04-13 · TA获得超过354个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:258万
展开全部
方法/步骤

开始——运行——输入cmd,确定

进入Dos命令行下,输入mysqldump --help,可以先熟悉mysqldump的帮助信息

注意:
如果安装时配置了bin路径则可以直接输入mysqldump --help命令

如果安装时没有配置了bin路径则需要切换到mysql安装目录下的bin目录下输入mysqldump --help命令

在帮助信息里可以看到命令的基本格式如下:

Usage:
mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]

备份或导出整个数据库

输入mysqldump -uroot -p test > test.sql 回车后输入输入root的密码即可

命令解释:
mysqldump -u 用户名 -p 数据库名 > 导出的文件名

这样打开我的电脑就可以在当前目录看到导出的文件了

备份或导出数据库中一个表

输入mysqldump -uroot -p phpmyadmin pma_bookmark > pma_bookmark.sql 回车后输入输入root的密码即可

命令解释:
mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

这样就可以在当前目录看到导出的文件了。

就可以还原或导入到别的数据库服务器上了。

补充:

关于msyql其他命令怎么使用,可以点击作者名片,在经验列表中找到。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
day忘不掉9
2018-07-29 · 知道合伙人软件行家
day忘不掉9
知道合伙人软件行家
采纳数:222 获赞数:362
荣获江达网络公司最佳员工

向TA提问 私信TA
展开全部
备份:mysqldump -u username -p dbname> dbname.sql

执行后要求输入密码:passwd

username为数据库用户名,dbname为要备份的数据库名,passwd为user密码。

恢复:mysql -u username -p dbname< dbname.sql
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式