当前DB: MariaDB10.5,从MariaDB10.4转储文件,OS: Arch Linux最近安装
转储文件大约包含10 is的文本字符串,大约200-300字长。下面是一个错误,它阻止了转储文件被完全加载。
[root@mymachine ~] mysql -u root -p mydb < ~/jump/dump.sql
错误2005 (HY000)在第703行:未知的MySQL服务器主机'Louis10UnBarron‘(-2)
上述错误msg的格式与我所呈现的略有不同: Barron (-2)实际上位于'n‘下面的线上,所以看起来好像有一个行中断和额外的空格。
当我在SublimeText中打开转储文件时,字符串与十六进制混合在一起。
我认为字符集不匹配,所以我调整了新数据库的默认设置,以匹配旧的数据库,utf8。当我查看每个表的字符集时,新表和旧表都使用latin1。
我不知道下一步该做什么。谢谢你的帮助。
增编:我意识到表中给我带来问题的一列是sha2散列。我想列类型(var二进制)不会影响mysql读取数据的方式。
增编2:我不可能是第一个遇到这个问题的人。在数据库中存储散列必须是验证文本条目未被更改的常用方法。当一个列是散列时,必须有一种方法从转储文件中恢复数据库!
发布于 2021-07-17 00:16:35
10.4和10.5之间有一些不可比性。
这就是为什么MariaDb提供升级教程的原因,而升级教程必须经过修改。
请参阅手册
第7点
运行mysql_upgrade。 mysql_upgrade做了两件事:确保the#mysql数据库中的系统表与新版本完全兼容。快速检查所有表并将其标记为与新版本的MariaDB兼容
在最后的表演是至关重要的
https://stackoverflow.com/questions/68416181
复制相似问题