zoukankan      html  css  js  c++  java
  • 宝塔部署war包项目,出现SQLException: Access denied for user

    新公司使用的是宝塔来部署项目,war包。在部署运行时遇到了SQLException: Access denied for user 'xxx@xxxxx'  (using password:yes)

    重装mysql无果之后。就只能慢慢解决,分享下我的解决过程。

    # 一. 错误原因

    正常来讲,使用navicat等连接工具 访问/创建 数据库时,就会遇到这种错误。错误原因无外乎这两种。

    ## 1. 访问的ip,账号,密码输入错误 

    正常来讲项目遇到这种错误,检查下ip填写是否正确,账号密码有没有带空格,就能解决这种问题。

    ## 2. 账户权限不足

    如果上述方法尝试均未能解决,那就要进到服务器看看账户权限了。

    ### 1)查看mysql的所有用户

    使用 mysql -u root -p 命令,再输入密码登录Mysql。

    SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;  使用sql查询user表中的用户信息

    如图,查看自己的账号的权限。%是全部权限。如果是没有权限可以赋值给这个用户。

    PS: 我遇到的问题是,这个mysql 的%权限竟然不包括 localhost 本地访问权限。我要在安装这个mysql的本地去访问它,就必须单独对其单独赋值。

    原因暂不明,猜测是版本问题。重装过依旧存在这种情况。

    ### 2)查看权限

    show grants for '用户名'@'%'; 查看用户权限 ,看看用户是否有操作权限。

    ### 3)赋予权限

    grant all privileges on main_db.* to 用户名@'%' identified by '表名'; 如果没有,则赋予其相应数据库的操作权限  。

    flush privileges; 赋予完权限后,别忘记刷新。然后再次查看这个用户的权限,就知道有没有执行成功了。

    PS:友情提示每一个 命令/sql  都要注意带分号,

    最普遍的还是,数据库地址,账号密码不正确。大家多多细心。

  • 相关阅读:
    Delphi 学习笔记
    Extjs 4
    面向对象(OOP)
    Java基础
    Ubantu(乌班图)
    CentOS 6.3操作常识
    英语音标单元音篇
    英语音标双元音篇
    英语音标辅音篇
    Oracle补习班第一天
  • 原文地址:https://www.cnblogs.com/ShineAnthony/p/12909791.html
Copyright © 2011-2022 走看看