当前数据库:Mariadb 10.5,Mariadb 10.4的转储文件,OS:Arch Linux最近安装
转储文件大约是10MB,包括许多文本字符串,大约200-300个单词长。以下是导致转储文件无法完全加载的错误。
[root@mymachine ~] mysql -u root -p mydb < ~/jump/dump.sql
错误2005(HY000(第703行:未知MySQL服务器主机"Louis10UnBarron"(-2(
以上错误消息的格式与我所呈现的有点不同:Barron(-2(实际上在'n'下的行上,所以它看起来就像是换行符和额外的空格。
当我在SublimeText中打开转储文件时,字符串与十六进制混合在一起。
我认为字符集不匹配,所以我调整了新数据库的默认集以匹配旧数据库utf8。当我查看每个表的字符集时,新表和旧表都使用latin1。
我不知道下一步该怎么办。谢谢你的帮助。
附录:我意识到表中给我带来问题的一列是sha2散列。我想列类型(varbinary(不会影响mysql读取数据的方式。
附录2:我不是第一个遇到这个问题的人。在数据库中存储哈希必须是验证文本条目未更改的常用方法。当一列是哈希时,必须有一种方法从转储文件中恢复数据库!
10.4和10.5之间存在一些不可比性。
这就是为什么MariaDb提供了一个升级教程,它必须经过
参见手动
点7
运行mysql_upgrade。
mysql_upgrade做两件事:确保#mysql数据库中的系统表与新版本完全兼容。对所有表格进行快速检查,并将其标记为与MariaDB 的新版本兼容
对于在结束时执行至关重要