- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Win10 小型机上有一个带有 MySQL 数据库的小型独立 C# 项目。尽管小而简单,但至少需要对数据库的一个表进行持续更新的备份。添加复制服务器并不是真正可行的,因为用户希望它完全易于处理。所以我认为在外部目录(例如在这台小型计算机上的 USB 内存棒上)上的“每表文件”可能是解决方案。
根据MySQL 5.7引用手册显示:
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/alternative/directory';
我试过这个:
mysql> CREATE TABLE t1 (c1 INT PRIMARY KEY) DATA DIRECTORY = '/F/’;
我得到:
ERROR 1046 (3D000): No database selected
当我认为我可以在 USB 内存棒(驱动器“F”)上创建我的数据库的一个表以在数据库中保存重要表的副本时,可能存在完全的误解。
而且我认为调用数据库 (mysql -u root -p输入密码:*******) 我的意思是已经选择了这个数据库。但是当然我可以在相同的用户和密码下拥有更多的数据库……。
那么如果我没有完全错的话,我该如何选择数据库呢?
感谢您查看此内容。
最佳答案
这很令人困惑,因为有些人使用“数据库”一词来表示您登录的 MySQL 实例。但其他人使用“数据库”一词来表示模式,它就像一个文件夹,您可以在其中创建表。除非在架构内创建表,否则无法创建表。
在 MySQL 中,关键字 DATABASE
和 SCHEMA
可以互换。
您应该查看 MySQL tutorial , 特别是 Creating and Using a Database .
也就是说,我认为您将 table 放在 U 盘上的计划无论如何都行不通。 file-per-table InnoDB 表空间不是备份。您不能只复制该文件并获取其中的数据,然后将副本恢复到另一个 MySQL 实例。原因是该文件不包含所有数据。当您修改数据时,更改会经过 RAM 和中央表空间中的不同位置,然后最终集成到 file-per-table 文件中。这可能发生在您的应用程序将更改提交到 MySQL 之后很久。这些更改是安全的,它们只是在一段时间后才存储在 file-per-table 文件中。
如果您将表格存储在 U 盘上,然后在它与最近的更改完全同步之前将其从计算机中拔出,您将损坏您的数据库。
另一个问题是 U 盘比计算机的主硬盘慢很多倍。如果您尝试将部分数据库存储在 U 盘上,则会损害应用程序的性能。您不会喜欢这个结果。
如果需要经常备份,可以使用提供的备份工具mysqldump .如果使用正确的选项,您可以在不锁定 InnoDB 表的情况下备份它:
mysqldump --single-transaction mydatabase mytable > mytable.sql
--single-transaction
确保在不锁定表的情况下一致读取表(只要表使用 InnoDB 引擎)。它通过使用事务来做到这一点。
回复你的评论:
您可以非常频繁地运行 mysqldump
。但它仍然是你必须运行的东西。每个操作系统都有各种调度程序工具(例如,Windows 10 有 Task Scheduler )。
但如果您必须考虑硬盘驱动器故障,则需要有一些单独的存储空间。例如,您可以将 mysqldump 的输出放到 USB 驱动器上。或者您可以将转储文件上传到云存储。
我强烈建议您不要将任何 MySQL 表空间配置为驻留在可移动存储上。我在上面写道,它会导致性能不佳,并且有很高的损坏数据库的风险。我不知道如何更清楚地表明这是一件坏事。
关于c# - MySQL "file-per-table",未选择数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52410122/
#include using namespace std; class C{ private: int value; public: C(){ value = 0;
这个问题已经有答案了: What is the difference between char a[] = ?string?; and char *p = ?string?;? (8 个回答) 已关闭
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 此帖子已于 8 个月
除了调试之外,是否有任何针对 c、c++ 或 c# 的测试工具,其工作原理类似于将独立函数复制粘贴到某个文本框,然后在其他文本框中输入参数? 最佳答案 也许您会考虑单元测试。我推荐你谷歌测试和谷歌模拟
我想在第二台显示器中移动一个窗口 (HWND)。问题是我尝试了很多方法,例如将分辨率加倍或输入负值,但它永远无法将窗口放在我的第二台显示器上。 关于如何在 C/C++/c# 中执行此操作的任何线索 最
我正在寻找 C/C++/C## 中不同类型 DES 的现有实现。我的运行平台是Windows XP/Vista/7。 我正在尝试编写一个 C# 程序,它将使用 DES 算法进行加密和解密。我需要一些实
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
有没有办法强制将另一个 窗口置于顶部? 不是应用程序的窗口,而是另一个已经在系统上运行的窗口。 (Windows, C/C++/C#) 最佳答案 SetWindowPos(that_window_ha
假设您可以在 C/C++ 或 Csharp 之间做出选择,并且您打算在 Windows 和 Linux 服务器上运行同一服务器的多个实例,那么构建套接字服务器应用程序的最明智选择是什么? 最佳答案 如
你们能告诉我它们之间的区别吗? 顺便问一下,有什么叫C++库或C库的吗? 最佳答案 C++ 标准库 和 C 标准库 是 C++ 和 C 标准定义的库,提供给 C++ 和 C 程序使用。那是那些词的共同
下面的测试代码,我将输出信息放在注释中。我使用的是 gcc 4.8.5 和 Centos 7.2。 #include #include class C { public:
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我的客户将使用名为 annoucement 的结构/类与客户通信。我想我会用 C++ 编写服务器。会有很多不同的类继承annoucement。我的问题是通过网络将这些类发送给客户端 我想也许我应该使用
我在 C# 中有以下函数: public Matrix ConcatDescriptors(IList> descriptors) { int cols = descriptors[0].Co
我有一个项目要编写一个函数来对某些数据执行某些操作。我可以用 C/C++ 编写代码,但我不想与雇主共享该函数的代码。相反,我只想让他有权在他自己的代码中调用该函数。是否可以?我想到了这两种方法 - 在
我使用的是编写糟糕的第 3 方 (C/C++) Api。我从托管代码(C++/CLI)中使用它。有时会出现“访问冲突错误”。这使整个应用程序崩溃。我知道我无法处理这些错误[如果指针访问非法内存位置等,
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我有一些 C 代码,将使用 P/Invoke 从 C# 调用。我正在尝试为这个 C 函数定义一个 C# 等效项。 SomeData* DoSomething(); struct SomeData {
这个问题已经有答案了: Why are these constructs using pre and post-increment undefined behavior? (14 个回答) 已关闭 6
我是一名优秀的程序员,十分优秀!