导入数据库出现SQL转储导入错误问题的解决

去年夏天,我在公司服务器上备份了一个重要的数据库。
那天下午,我坐在电脑前,喝着冰咖啡,敲着命令行命令。
备份成功后,我松了一口气,心想:还好没有出什么问题。
然后我突然想到,如果服务器突然崩溃了,这些备份文件还能保存吗?等等,还有一件事。
之前看过一篇文章,说备份和导入数据库有两种方式,一种是使用命令行,一种是图形界面。
那我就尝试一下图形界面备份,也许会更容易一些。

数据库是干什么用的呢

数据库是存储数据的仓库。
To put it bluntly, there are rules so they can be checked and modified efficiently.
上周我在做一个电子商务项目,该项目使用了MySQL。
It is currently the most mainstream relational database.
数据各不相同。
订单、用户行为、照片,一切都是数据。
Storage must be standardized or it is difficult to verify.
关系数据库易于使用,因为它们的逻辑清晰。
默认情况下,网格和图层将被删除并禁用。

你用的什么数据库?

dmp什么意思

啊,这个解释太正式了吧?好像是从教科书上摘下来的……不过我还是给大家讲讲我实际遇到过的DMP吧。

上周,一位客户来看我。
突然,数据库出现蓝屏,我急得满头大汗。
经询问得知,之前的备份都是依靠手动复制表文件,这也导致了系统文件的损坏。
最后无奈,只能用上次创建的dmp文件恢复整个数据库。
正如你所看到的,这就是dmp最直接的作用,它是你数据库的“时间机器”。

我在上海一家公司实习时经历了更糟糕的事情。
项目上线前测试环境数据突然消失。
运维人员利用dmp文件,在上周五半夜拉取了所有数据。
估计那天晚上他没睡好。
毕竟,dmp 文件有时非常大。
上次我从北京的生产库转dmp,光是到网盘就花了3 个小时。

但是dmp也不是万能的。
我自己遇到的一个陷阱是,导出时没有选择正确的参数,导致 dmp 文件中缺少触发器或视图的定义。
数据恢复后,我们发现业务逻辑被破坏了。
真的很难哭。
所以导出到Oracle的时候需要加上--include=grants。
否则,将失去所有特权。

使用不同备份方法的较新系统如今似乎越来越受欢迎,但对于较旧的系统,尤其是那些具有高可靠性要求的系统,dmp 仍然占主导地位。
无论如何,你只需要弄清楚它。
最好知道如何使用、何时使用以及使用后如何检查。
我还在想这个...