我有两台服务器,Host1 和 Host2。 Host1 正在运行 MySQL(服务器版本:5.0.77-日志源分发),Host2 正在运行(服务器版本:5.5.56-MariaDB MariaDB Server)。
我想将密码从 Host1 复制到 Host2,但不确定 MySQL 上的哈希使用是否与 MariaDB 相同。作为测试,我在两个盒子上都创建了一个测试用户并将密码设置为“password”并查看了它们各自的哈希值,输出如下:
主机 1:7CA5A808FD8ABA5A611721BFC681BF3B
主机 2:5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
我查看了 MySQL 和 MariaDB 的文档,但找不到它们都使用的默认加密方法。是 MD5、SHA1 等,任何帮助都会很棒。
最佳答案
据我所知,MariaDB 和 MySQL 目前使用相同的密码散列。检查
https://mariadb.com/kb/en/library/password/
https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
但据我所知,第一个密码看起来是由旧版 MySQL 密码哈希算法生成的(可以通过 OLD_PASSWORD() 获得的算法)。因此,如果您的 MySQL 服务器使用新的密码散列算法,您可以只从 mysql.user
复制值,但如果不是您的情况,您将必须手动更改要迁移的用户的密码。
关于mysql - MySQL 和 MariaDB 之间密码散列的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49300674/