安装后无法访问我的 mysql 表警告非法字符串偏移

问题描述

我正在使用 Mojave 10.14.6 并且我移动了我的 /MAMP/ 5.7 => 7.4.2。文件夹来保存备份。 (MAMP 一直在冻结,我不得​​不不断地重新启动它)。

然后我安装了最新的 MAMP 6.3 版。使用 PHP 7.4.12 MysqL 5.7.32 也有文件夹 /db/MysqL57/

没有任何效果,但最后我设法打开了 PHPMyAdmin,最后显示了我的备份表。

为了能够看到表,我刚刚复制了 BACKED UP /db/MysqL57/ 文件夹。但是我遇到了一些错误(我相信与我现在使用旧版本遇到的错误相同......(见图)。

我尝试安装最新的 PHPMyAdmin,但没有帮助。由于我没有设法修复它,我说,我将备份副本移动到 /Applications/ 并将新的重命名为 /MAMP BAK/

所以,现在,我想回到我以前的工作版本(我备份的那个),但工作版本给了我以下错误。我宁愿有新版本。

我找到了 2 个主要解决方案:

  1. 这是因为它在桌子上有大写字母,(这也是我的情况,但它以前用大写字母工作,我有数百张桌子,我不能全部小写)。我尝试创建一个小写的新表,看看是否是这个问题,但它甚至不允许我创建一个表。

  2. 或者我需要清理缓存,我这样做并重新启动了 macbook,但仍然给我错误

所以,我假设安装安装了不在 /MAMP/ 文件夹中的其他东西。

编辑:旧版本的 Apache 甚至不亮。 MysqL 服务器是绿色的。所以,现在我回到了新版本。我试过:工具:检查/修复/升级数据库表。

wall.message_share                                 OK
wall.messages                                      OK
wall.page_names
Error    : Table 'wall.page_names' doesn't exist
status   : Operation Failed
wall.pages
Error    : Table 'wall.pages' doesn't exist
status   : Operation Failed
wall.profile_views                                 OK
wall.template                                      OK
wall.user_uploads                                  OK
....

升级

...
Error    : Table 'wall.page_names' doesn't exist
status   : Operation Failed
wall.pages
Error    : Table 'wall.pages' doesn't exist
status   : Operation Failed
Upgrade process completed successfully.
Checking if update is needed.

就像新版本无法识别旧版本的表格一样。或者,如果它们已损坏,但正如我所说,我只是移动了文件夹。

使用新版本,我在 CAPS 中创建了一个新表并且工作正常。但旧的继续给出错误。 [1]:https://i.stack.imgur.com/gAIBz.png

所以,在这post 中说在 my.ini 中放入“lower_case_table_names = 2”

但是我没有 my.cnf 所以,我得到了这个:https://gist.github.com/fragje/9953959

现在服务器不工作了。开/关按钮为橙色。

[client]
password = root
port    = 8888
socket    = /Applications/MAMP/tmp/MysqL/MysqL.sock

# Here follows entries for some specific programs

# The MysqL server
[MysqLd]
port    = 8889
socket    = /Applications/MAMP/tmp/MysqL/MysqL.sock
skip-external-locking
key_buffer_size = 256M
max_allowed_packet = 64M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of cpu's*2 for thread_concurrency
thread_concurrency = 8
lower_case_table_names = 2

... 我没有发现错误,端口看起来很好。

我发现了 1 个错误,原因如下:

# thread_concurrency = 8

...服务器是绿色的。但是这个命令lower_case_table_names = 2 仍然不能解决小写问题。

我再次运行:工具:使用较小的数据库检查/修复/升级数据库表,但仍然说表不存在。所以,它永远不会修复它们。

因为我把这个“lower_case_table_names = 2”我创建的表给出了同样的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...