mysql数据库运用mysqldump命令过后没有反应是什么情况。如图。

一般规则是,仅使用--all-databases(-A)就会导致ERROR1356,所以让我们看看他备份了什么。
于是我叫上同事一起看Less,上下看。
突然发现:1.DROP备份SQL文件中的mysql.proc2.然后CREATE一个新的mysql.proc3.LOCKTABLES和UNLOCKTABLES之间没有CREATEROUTINE数据的备份;这不是相当于每次导入时都给我一个全新的mysql.proc表,而没有任何sys模式例程吗?这不是非常尴尬吗?----Tablestructfortable`proc`------Dumpingdatafortable`proc`-官方文档揭晓真相[sys-schema-usage]官方文档明确告诉我们sys库不会被备份。
但是当你使用mysqldump并运行--all数据库时,mysql.proc将被删除,sys无法正常使用。
这是一个BUG,只存在于MySQL5.7.x中!1.mysql_upgradeinstallorupgradesysschema解决方案适合当sys库因mysqldump导入而损坏时使用。
注意:mysql_upgrade在修复sys库的同时,也修复了mysql库和user库(锁定期长,速度一般。
使用mysql_upgrade时意外损坏的几率很小,加--upgrade-)。
系统表,否则将扫描用户数据库表。
2、全量备份时同时备份sys库。
此方案适用于需要恢复的数据库且sys库不正常的情况。
完整备份后,会备份sys库的附加副本。
注意:不适合用作主站和从站。
3、使用数据库做好充分的准备。
该方案适用于所有场景,100%安全。
4.使用开源的mysql-sys如果你的所有databasesys都被感染了,那么生产数据库也会被感染。
那么就可以使用mysql-sys这个方法:https://github.com/mysql/mysql-sys注册sys库的创建语句,将文件下载到本地,然后按照以下命令执行;数据库版本。

mysqldump命令详解

mysqldump命令是什么样的?我们一起来看一下:mysqldump命令是MySQL数据库中的一个备份工具,可以用来导出MySQL服务器中的数据库,并以标准SQL语言保存到文件中。
mysqldump命令备份的工作原理:一般来说,使用mysqldump备份数据库的过程实际上是直接从mysql库产生逻辑SQL语句或备份文件的过程。
语法格式:mysqldump(可选)参数说明:1.-B可以指定多个库并添加库构建语句和use语句2.--compact去掉注释,方便不必编辑输出3.-备份所有库和表4,-F刷新二进制日志,相当于--flush-logs5,--master-data,binlog添加日志名称和对应位置点6、-x、--。
锁定表锁定表7、-l只读锁定表8、-d只支持表结构9、-t只备份数据10、--单事务用于innodb事务数据库备份11、--opt起到优化作用,如--add-drop-table,--add-locks,--create-options,--skip-opt12.-c当导出数据到13输入后,添加列名。
参考示例:1、导出整个数据库mysqldump-uusername-p文件名mysqldump-ulinuxde-psmgp_apps_linuxdelinuxde.sql2。
、表mysqldump-u导出用户名-p数据库名表名导出文件名mysqldump-ulinuxde-psmgp_apps_linuxdeuserslinuxde_users.sql3数据库结构mysqldump-ulinuxde-p-d--add-drop-tablesmgp_apps_linuxdelinuxde_dbs。