数据库脱机和分离的区别

说实话,我在公司做数据库管理员的时候,曾经接触过这两个概念,让我很困惑。

那是2 01 5 年,我们公司位于深圳,项目很大,数据库需要经常维护。
有一次,我不得不使数据库脱机,这意味着它暂时不可用,以便我可以执行一些必要的维护工作。

我记得当时操作很简单。
我只是在数据库管理界面中选择了“离线”按钮,然后数据库就变成灰色且不可用。
维护完成后,我将其重新上线,数据库恢复正常。
此过程类似于锁定计算机屏幕。
其他人都进不去,但电脑还在。

有一天,我们公司决定停用一个旧数据库,所以我不得不将其分离。
这个过程要复杂得多。
我首先禁用数据库,然后手动从服务器删除数据库文件。
这样,数据库就从服务器上完全消失了。

我还记得在删除数据库文件之前,我一定要做好备份,以防出现问题。
分遣队之后,数据库似乎从地球表面消失了。
如果我不手动将文件放回去,我将无法恢复它们。

简而言之,离开网络就等于暂时封锁计算机,断开连接就等于将计算机从桌面上删除。
两种操作都有其用途,具体情况而定。
那段时间我学到了很多东西。

突然消失无法找到MySQL数据库mysql不见了

需要明确的是,MySQL突然崩溃的原因主要有三个:服务自动关闭、数据文件丢失或者配置不正确。
我们先来说说最重要的事情。
在我们去年做的一个项目中,数据库在早上宕机了。
日志全是“无法打开日志”。
最后发现磁盘空间已满。
说实话,很遗憾,因为不是MySQL本身有问题,而是底层环境宕机了。
还有一点,对于3 000个网站来说,如果备份不是最新的,数据文件损坏的后果将是严重的。
当我们使用mysqldump导出备份时,发现文件只有几KB,最后还得到另一台测试机上才能恢复。
还有另一个重要的细节。
检查配置文件时,不要只看/etc/mysql/my.cnf。
一些较旧的系统会有旧的配置,例如 /etc/my.cnf,人们很容易错过。

起初我以为防火墙是最大的罪魁祸首,但后来我意识到我错了。
很多时候bindi地址设置不正确,导致机器无法连接。
当您看到连接报告“主机'localhost'不允许连接到此MySQL服务器”时,您实际上应该检查my.cnf中的绑定地址。

总之,先检查服务状态,然后备份和恢复数据,最后检查配置和日志。
这个过程基本上可以解决9 0%的问题。
但别忘了,如果这种情况经常发生,就应该考虑双机热备了。

mysql中建的的数据库找不到了?

哎呀,当我发现在MySQL中找不到数据库时,我也很困惑。
记得有一次,一位朋友无法连接“学生”数据库,他非常担心。
说实话,这种情况在MySQL中相当常见,主要是因为没有指定连接时的具体数据库。

当时我教他,首先连接MySQL服务器可以吗?连接后,下一步是使用“use”命令指定要使用的数据库。
就像这样,“使用student”,这个命令告诉MySQL我接下来要在数据库上工作的是“student”。

重要的是MySQL默认不选择任何数据库,所以如果你不定义它,它不知道你要使用什么数据库,自然它什么也找不到。
我立即让他“展示数据库”;如果所有的数据库都在那里查看,结果发现“学生”确实不在列表中。
我让他检查一下数据库是否真的创建了,用户名和密码是否正确。

然后我就教他“用弟子”。
果然,MySQL建议选择“student”数据库。
这个时候他就可以淡定行事了,他期待着输入数据。

如果仍然找不到数据库,有几个地方需要检查。
首先确认数据库名称正确,其次确认数据库确实在服务器上,最后确认MySQL Client有访问数据库的权限。

这件事说难也不容易。
关键是细心、一步一步,一般问题都能解决。
我记得经验就是这样一点点积累起来的。
现在回想起来,我感受到了效果。