---- 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 库的创建语句将文件下载到本地,然后根据数据库版本,执行以下命令即可。
方法/步骤开始——运行——输入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其他命令怎么使用,可以点击作者名片,在经验列表中找到。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)