You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL 5.7中使用PASSWORD()函数出现语法警告问题咨询

嗨,别担心英文不好的问题,咱们直接聊你遇到的MySQL警告问题~

关于MySQL 5.7中使用PASSWORD()函数触发警告的原因

你的查询语句能正常运行但弹出警告,核心原因其实是:**PASSWORD()函数在MySQL 5.7版本里已经被标记为「废弃(deprecated)」**了。

虽然这个函数暂时还能工作,但MySQL官方早就不推荐使用它了,而且会在后续的新版本里彻底移除它。数据库弹出警告就是在提醒你:这个函数快淘汰了,赶紧换更合适的替代方案吧。

为什么PASSWORD()会被废弃?

PASSWORD()是早期MySQL用来生成原生密码哈希的老函数,随着安全标准的提升,官方推出了更安全的哈希函数(比如SHA2()系列),旧的PASSWORD()因为安全性和兼容性问题,就被逐步淘汰了。

给你的替代方案

如果你是要验证用户密码,推荐这么做:

  • 存储用户密码时,用SHA2('用户输入的密码', 256)这类更安全的哈希函数生成哈希值,再存入数据库
  • 验证密码时,对比输入密码的哈希值和数据库里存的哈希值,比如:
    SELECT COUNT(*) FROM user_info 
    WHERE user_id = 'myid' 
    AND user_pw = SHA2('mypassword', 256);
    

另外,更专业的做法是在应用层处理密码哈希(比如用bcrypt、Argon2这类目前公认安全的算法),而不是在SQL语句里直接处理,这样能进一步提升安全性哦。

内容的提问来源于stack exchange,提问作者세알못

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:26:44