问题描述

之前是可以连接的,后来莫名其妙又不可以了。下图是报错信息。

原因分析

  • MySQL 默认仅允许 localhost 连接,远程IP(如 192.168.100.1)需手动授权。

解决

第一步:创建/修改用户(如果用户不存在会自动创建)
CREATE USER 'root'@'192.168.100.1' IDENTIFIED BY '1234';

如果报错,如图

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

那是因为它对密码是有一定要求的。官方建议,按要求设置密码,但密码太长记不住,咱也不是什么重要的信息,我建议,降低密码要求,执行下面两行代码就可以了。

 SET GLOBAL validate_password.policy=LOW;
 SET GLOBAL validate_password.length=4;

当然,你也可以直接设置长一些的密码。记住就可以了。

第二步:授予权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.100.1' WITH GRANT OPTION;
第三步:刷新权限
FLUSH PRIVILEGES;

然后再尝试连接就可以了

🛠️ 如果仍然遇到问题

  1. 检查MySQL版本:

    SELECT VERSION();
  2. 查看完整错误日志:

    sudo tail -50 /var/log/mysqld.log
  3. 确保已配置远程访问:

    grep bind-address /etc/my.cnf
    # 应该显示:bind-address = 0.0.0.0
  • 最新的错误信息截图
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐