我将 MySql 工作台升级到版本 8。
我正在运行 MySql Server 5.7。当我在工作台中打开选项文件时,它说它找不到 MySql 8 的文件,并且它将在C:\ProgramData\MySql\MySql Server 8\my.ini
我没有安装 MySql Server 8 的路径中创建一个文件。
- 为什么工作台找不到文件?
- 如何将其指向正确的文件?
- 我需要降级工作台吗?
我将 MySql 工作台升级到版本 8。
我正在运行 MySql Server 5.7。当我在工作台中打开选项文件时,它说它找不到 MySql 8 的文件,并且它将在C:\ProgramData\MySql\MySql Server 8\my.ini
我没有安装 MySql Server 8 的路径中创建一个文件。
我在一个 ID 上加入了两个表。
他们可能看起来像这样:
table_overview
| id | version | description |
------------------------------
| 1 | 1.2.3 | new stuff.. |
table_files
| id | type | file_name |
------------------------------
| 1 | TEXT | as.txt |
| 1 | IMG | abc.png |
| 1 | AUDIO | def.wav |
其中table_overview的主键是id,table_files的主键是id和type。
我想返回一个结果集,其中每一行都包含所有信息,但将标题 file_name 替换为类型,因此结果集中的一行看起来像这样:
| id | version | description | text | img | audio |
| 1 | 1.2.3 | new stuff.. | as.txt | abc.png | def.wav |
这样的事情可能吗?还是我最好一开始就以这种方式创建表格。
最初的想法是将来添加新类型应该很容易。
我对导入/导出数据库的过程很陌生。我正在使用 Maria DB 和 HeidiSQL 来运行查询等。
我从我们的开发服务器导出了整个数据库,并将其加载到我们的实时服务器中。脚本运行顺利。没有错误,一切似乎都按计划进行。
但是,当我打开 HeidiSQL 的两个实例并并排比较表的详细信息时,会发现一些看起来很奇怪的差异。
例如,在某些情况下,新迁移版本上的表表示它们的数据多于它们从中导出的数据库。这怎么可能?HeidiSQL 只是“估计”行数吗?
例如,根据 HeidiSQL,开发服务器上的表 1 包含 177 行数据,总大小为 64.0 KiB。
其中,实时数据库中的同一个表 1 包含 219 行数据,总大小为 64.0 KiB。
更奇怪的是,表 2 包含 2,254,576 行数据,总计 232.9 MiB,而实时数据库中的同一张表包含 2,334,922 行,总计 224.0 MiB。还有一些表格显示实时数据库版本的数据少于开发数据库版本。
为什么是这样?
SQL 文件在实时数据库服务器上从头开始创建数据库的副本,它没有删除或覆盖旧版本或任何东西,并且完成时没有错误。
编辑:
如果我同时运行SELECT COUNT(*) FROM table_2
这两个数据库,则返回 2,326,087 行。所以在 HeidiSQL 中显示正确的计数似乎是一个问题。
我们有一个数据库触发器,当新客户端第一次联系服务器时,它会自动将新客户端添加到表中,它需要客户端在第一次联系时提供的一些唯一标识符并存储它们,比如处理器号、mac 地址、固件版本等...
我们希望将此数据导出到 excel 文件。目前的计划是创建一个 excel 文件,并在新客户出现在系统上时添加它们,然后一旦添加了特定数量的客户(我们通常会分批进行),我们将复制一份该文件文件并删除服务器上的那个,直到下次我们要添加新客户端为止。
如果你们中的任何人能指出一些资源来向我展示如何使用 mySQL/Mariadb 执行此操作,我将不胜感激。
我找到了很多将 excel 文件导入数据库的解决方案,还有一些关于从 Microsoft SQL Server 自动导出到 excel 的解决方案,但没有找到关于在 mySQL 中执行相同操作的解决方案,尽管我承认我没有找很久。无论如何,如果您有任何指点,我们将不胜感激。另外,只是想,逗号分隔的文本文件也可能足够好。