每天我在 mysql 5.5.62 上的 Linux 14.04 上使用以下命令备份我的 wiki 数据库
/usr/bin/mysqldump -u root my_wiki > wiki.`date +"%m-%d-%Y_%T"`.sql
当我将转储还原到同一台机器时,还原成功。但是,当我将转储恢复到新的 ubuntu 20.04 机器时,我会在此表中看到以下内容。
mysql> select user_name from user;
+------------------------------------------+
| user_name |
+------------------------------------------+
| 0x412E706172646F |
| 0x4162656C2E6564756172646F |
| 0x4164616D2E676F746368 |
| 0x416C6578616E6465722E6275646E6576696368 |
它应该看起来像的地方
mysql> select user_name from user;
--------------
select user_name from user
--------------
+---------------------+
| user_name |
+---------------------+
| A.bardo |
| Abel.smith |
| Adam.Mo |
| Alexander.bud |
那么,我没有得到什么?
你得到的是Hexadecimal Literals。您可以通过像这样添加字符集介绍器来选择存储值的人类可读表示:
这将产生
对于您上面的查询,您可以分别使用
至于你的问题。;-)
为了进一步检查这种行为,我建议检查您与数据库的连接的字符集
然后检查两个系统上数据库的字符集
他们应该是一样的。