您现在的位置是: 首页 > 个人博客 > 关于Access denied问题的解决办法 个人博客
关于Access denied问题的解决办法
2018-11-06 22:30:20
【文章】11831人已围观
简介 再启动javaweb项目的时候,我们不经意间会遇到一个如下问题:造成这种问题的原因有很多种,比如,账户密码错误,或者数据库权限设置问题。首先确认自己项目配置文件的数据库名和密码是否配置正确,这个原因也可能导致。如果配置文件中你的数据库账户和密码确认无误,但依然出现以上错误,请按照如下步骤操作:1.登......
再启动javaweb项目的时候,我们不经意间会遇到一个如下问题:
造成这种问题的原因有很多种,比如,账户密码错误,或者数据库权限设置问题。
首先确认自己项目配置文件的数据库名和密码是否配置正确,这个原因也可能导致。
如果配置文件中你的数据库账户和密码确认无误,但依然出现以上错误,请按照如下步骤操作:
1.登录mysql
cd D:\mysql-5.6.24-win32.1432006610\mysql-5.6.24-win32\bin
mysql -u root -p
输入你的数据库密码,按enter确定登录。
2.修改数据库密码
切换到mysql自带库:use mysql;
如果你的mysql版本是5.7以下(不包括5.7),请使用如下sql命令修改密码:
update user set Password = password ('123456') where User = 'root';
如果你的mysql版本是5.7及以上,请使用如下sql命令修改密码:
update user set authentication_string=password('123456') where user='root';
3.刷新权限
flush privileges;
4.退出数据库
quit;
5.重启数据库
net stop mysql
net start mysq
具体演示操作如下:
最后在使用navicat for mysql测试一下是否可以登录。如果可以,在eclipse重启项目,使用浏览器访问页面,如果不在报错,那么恭喜你,问题解决了。
如果你不记得你的数据库密码了,你可以通过在数据库安装目录bin下,添加配置skip-grant-tables
添加这个配置的作用是为了使用cmd控制台登录数据库时,跳过密码验证,不必输入密码,直接enter即可进入数据库。
然后重启mysql服务器。
Tags: mysql
上一篇: 据说是一道华为Java面试题
下一篇: 已经是最后一篇了
随机图文
大家猜一猜运算结果?
大家决定下面这段代码的运算结果是什么呢?public class Test { public static void main(String[] args) { int n = getNum(); System.out.println(n); } public static int getNum(){ int a = 10; try { a = 20; throw new RuntimeException(); } catch (Exception e) { a = 30; return a; }finally{ a = 40; } }}略微思考,大家都应该知道结果,是30,分析一下:首先,初始化变量a的值为10,继续执行,重新将a赋值为20,这时抛了一个异常,被catch捕获,这是a再次被重新赋值为30,这时候看到了return关键字,程序保存方法返回值(这个返回值将作为最后的运行结果,返回给外部调用),最后执行finally,执行完之后,再把前面运行得到的结果返回给程序调用。mysql数据库编码修改教程
由于mysql的默认编码是Latin1,不支持中文,这样就会存在插入或者查询中文乱码的问题。 下面教大家如何查看自己数据库的编码,如图: 首先通过cmd命令进入到数据库安装目录的bin目录下,然后登陆数据库,输入数据库密码,进入数据库。 可以看到数据库编码是Latin1,那么如何把它修改为支持中文的utf8呢? 网上很多教程是简单的修改表的字符编码,这种方式指标不治本,在数据库服务重启之后,字符编码又会被还原成Latin1。 其实,最直接最有效一劳永逸的方法就是通过修改数据库的my.ini文件,修改数据库编码。那么我数据库的my.ini文件在哪? 一般如果mysql默认安装的话,my.ini都在C:\ProgramData\MySQL\MySQL Server 5.6\这个目录下,ProgramData是个隐藏文件。 如果不是默认目录安装的话,按照下面方式去找: 首先在计算机服务列表中找到mysql服务,右键属性,如下图,就可以看到自己的my.ini文件路径(往右边拉一点)。 找到my.ini文件之后(有些是没有my.ini文件的,需要自己添加一个) 右键编辑,进行如下配置: 分别在client下添加:default-character-set=utf8 在mysql下添加:default-character-set=utf8 在mysqld添加:character-set-server=utf8 修改之后,在计算机服务列表中重启mysql服务。 再次查询编码,发现编码已经变为utf8了。 到这里数据库的编码就已经修改完成了,再也不用担心中文乱码了。javase+sqlserver部署项目教程
很多刚接触编程的同学,还不清楚如何使用eclipse部署javase+sqlserver项目,这里作一个简单的介绍:##软件安装1.jdk配置 首先安装好jdk,我一般使用1.8版本的jdk。配置好JDK环境变量。 jdk下载,包含jdk1.7和jdk1.8,32位(i586)和64位(x64),请看清楚再下载,下载地址如下: 百度网盘下载链接:https://pan.baidu.com/s/1O2eHQ83LB4SmDI7ivTKApA 提取码:0cdj 或者官网下载: jdk1.7下载,下载需要登录oracle账户,地址如下: https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html jdk1.8下载,地址如下 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装参考文档如下: http://www.xiaoniucr.com/article/view/9.html2.安装eclipse 我一般使用mar2版本。请自行选择32位或者64位下载。 百度网盘下载链接:https://pan.baidu.com/s/14Fo2b4znVPF6JrEmcZyc1Q 提取码:cwoc 官网下载地址如下: http://www.eclipse.org/downloads/packages/release/mars/2/eclipse-ide-java-ee-developers eclipse为免安装软件,下载到某个目录,解压就好了,发送快捷方式到桌面。 注意eclipse的版本必须和JDK版本一致,即eclipse必须保持和JDK同时是 32位或者64位,否则会打不开或者报错。3.sqlserver安装 sqlserver一般安装sqlserver2008-r2版本的。 sqlserver2008-r2百度网盘下载链接:https://pan.baidu.com/s/1fo261JzvkbFbu75KI3ahBA 提取码:g9hw sqlserver2008-r2安装参考如下:http://www.xiaoniucr.com/article/view/15.html 由于sqlserver的安装步骤比较多,安装过程中容易出现失误,导致安装失败,下面提供卸载步骤: 步骤参考:http://www.xiaoniucr.com/article/view/14.html##项目导入 eclipse点击File→Import弹出如下选择框 点击next进行项目选择导入 选择完项目之后,最后点击Finish,项目就导入进了eclipse。 ##项目jdk配置 仅仅将项目导入到eclipse还不够,要运行这个项目,还必须为项目设置jdk环境,操作如下: 鼠标选中项目,右键Properties,跳出如下窗体: 点击edit跳出如下窗体,进行jre环境的选择: 选择完jdk之后,点击Apply应用,最后点击[OK]按钮,进行确认,这样jdk就设置好了,如下: ##数据库配置1.首先,导入数据库,步骤参考如下:http://www.xiaoniucr.com/article/view/18.html2.要想正确的连接sqlserver数据库,必须在代码中将数据库的用户名和密码配置,改为你的电脑安装的sqlserver的用户名和密码, 其中,用户名一般都为sa,不需要更改,密码为学生自己安装sqlserver时设置的密码。 具体如何操作,在项目源码包中【配置】文件夹下都会包含一份【详细配置.docx】文件,参照里面的数据库配置进行配置即可。 这里需要注意的是,数据库有两种连接方式,一种是在Windows系统上用windows身份登录, 另外一种是用sa身份登录,在程序中我们使用sa账户连接数据库。 ##项目启动 以上步骤都完成之后,就可以启动项目了,javase项目的启动,一般都是使用Run as Java Application的形式,操纵如下: 找到项目main方法所在的java类,然后右键Run as,选择Java Application的形式启动,即可。 详细操作见:【详细配置.docx】文件中的项目部署,里面都会详细告知。据说是一道华为Java面试题
请问下面程序将会输出什么?程序如下:public class Test { class A{ private static final int m = 10; public A(){ change(); } public void change(){ System.out.println(m); } } class B extends A{ private static final int num = 20; public void change(){ System.out.println(num); } }}输出测试:public class Test2 { public static void main(String[] args) { new Test().new B(); }}结果公布,最终会输出:20,为什么?分析一下继承的初始化顺序。继承的初始化顺序一般如下:父类的静态变量-->父类的静态代码块-->子类的静态变量-->子类的静态代码快-->父类的非静态变量(父类的非静态代码块)-->父类的构造函数-->子类的非静态变量(子类的非静态代码块)-->子类的构造函数值得注意的是:父类的非静态变量(父类的非静态代码块)是同一级的,看哪个部分写在类的最前面谁就先被执行,子类的非静态变量(子类的非静态代码块)也是一样。所以这道题,实例化一个子类,首先会去执行父类的构造方法,执行构造方法中的函数change,但是由于change函数被子类重写了,所以执行的将是子类的change,所以会输出20;但是,如果我们把子类的中的private static final int num = 20;改为private int m = 20;那么结果又会输出什么呢?结果是0,因为在父类的构造方法中调用子类的change方法输出num的时候,num作为一个实例变量,这时候还没有被实例化赋值,所以取得是初始值0。
点击排行
