如何修复 java.sql.SQLException:服务器 运行 处于 --secure-auth 模式,但 'user'@'host' 具有旧格式的密码; (...)?
How to fix java.sql.SQLException: Server is running in --secure-auth mode, but 'user'@'host' has a password in the old format; (...)?
将 MySQL 5.1 升级到 5.6 后,尝试启动 JBoss 失败,出现以下异常:
java.sql.SQLException:
Server is running in --secure-auth mode, but 'user'@'localhost'
has a password in the old format; please change the password to the new format
如何解决这个问题?
首先,您需要找到 my.cnf
文件,该文件应位于以下路径:
MySQL Server 5.6\my.cnf
接下来找到显示 old_passwords=0
的行并将其更改为 old_passwords=1
。这将告诉 MySQL 使用兼容的密码哈希算法,一直追溯到 4.0 版,它涵盖了您的用例。
现在当您启动服务器时,密码问题应该会消失。如果你想升级你的密码到最新版本,那么你可以为每个用户 使用 SET PASSWORD
和标志 old_passwords=0
.
请记住 MySQL 出于安全原因升级了他们的密码算法,因此您不应将设置 old_passwords=1
视为长期解决方案。
有关详细信息,请参阅 here。
此问题已由以下人员修复:
1) 更新 'user' 用户的密码哈希值
UPDATE mysql.user set password = PASSWORD('my password text') where user= 'user';
2) 停止 'mysql' 服务器
/etc/init.d/mysql stop
3) 在 /etc/my.cnf
文件
上设置标志 old_passwords=1
4) 启动 'mysql' 服务器
/etc/init.d/mysql start
另请参阅文档:MySQL password hashing
在我的例子中,密码用户不正确。
而不是像 dbname_userName
我只是给了 userName
。
重新检查用户名、密码等后,我更正了它们,运行 成功了。
将 JBOSS 用户的密码重置为之前的密码。新版本的 MySQL 将使用新的强算法进行哈希处理,然后重新开始工作。
就我而言,这是通过关闭安全身份验证解决的。
编辑/etc/my.cnf
在[mysqld]段下添加:
old_passwords=1
secure-auth=false
将 MySQL 5.1 升级到 5.6 后,尝试启动 JBoss 失败,出现以下异常:
java.sql.SQLException:
Server is running in --secure-auth mode, but 'user'@'localhost'
has a password in the old format; please change the password to the new format
如何解决这个问题?
首先,您需要找到 my.cnf
文件,该文件应位于以下路径:
MySQL Server 5.6\my.cnf
接下来找到显示 old_passwords=0
的行并将其更改为 old_passwords=1
。这将告诉 MySQL 使用兼容的密码哈希算法,一直追溯到 4.0 版,它涵盖了您的用例。
现在当您启动服务器时,密码问题应该会消失。如果你想升级你的密码到最新版本,那么你可以为每个用户 使用 SET PASSWORD
和标志 old_passwords=0
.
请记住 MySQL 出于安全原因升级了他们的密码算法,因此您不应将设置 old_passwords=1
视为长期解决方案。
有关详细信息,请参阅 here。
此问题已由以下人员修复:
1) 更新 'user' 用户的密码哈希值
UPDATE mysql.user set password = PASSWORD('my password text') where user= 'user';
2) 停止 'mysql' 服务器
/etc/init.d/mysql stop
3) 在 /etc/my.cnf
文件
old_passwords=1
4) 启动 'mysql' 服务器
/etc/init.d/mysql start
另请参阅文档:MySQL password hashing
在我的例子中,密码用户不正确。
而不是像 dbname_userName
我只是给了 userName
。
重新检查用户名、密码等后,我更正了它们,运行 成功了。
将 JBOSS 用户的密码重置为之前的密码。新版本的 MySQL 将使用新的强算法进行哈希处理,然后重新开始工作。
就我而言,这是通过关闭安全身份验证解决的。
编辑/etc/my.cnf
在[mysqld]段下添加:
old_passwords=1
secure-auth=false