【背景:】

  我自己写了一个项目,主页可以看到一个数据库里的一个应用的users用户表的所有数据,包括用户的年龄,姓名,出生日期等信息。后来又想再增加一个注册功能,写好了之后进行单元测试,结果就出现了with root cause的错误,找了一个遍,才找到了原因。

  首先,我安装的数据库mysql中的user都是默认的一共四个用户。分别是:

localhost root
127.0.0.1 root
::1 root
localhost  

( 前四列:Host、User、Password,分别表示主机名、用户名和密码Host和User列为user表的联合主键,当用户与服务器建立连接时,输入的用户名、主机名和密码必须匹配user表中对应的字段,只有这三个值,都匹配的时候,才允许建立连接。 当修改密码时,只需要修改user表中Password字段的值。这些用户开始都是没有设置密码的,并且权限也不同,前三个用户都是root用户,拥有数据库的大多数权限,包括增删改查等,而最后一个用户的没有数据库的任何权限。开始的时候,我写的查询就是没有密码的,链接数据库的时候,直接

driver="com.mysql.jdbc.Driver";
url="jdbc:mysql://localhost:3306/test";
user="root";
password="";

DriverManager.getConnection(driver,url,user,password);

  经过试验发现这样只能获取到数据库里面的数据,但是不能对数据库进行程序上的操作,于是我在数据库中执行了以下操作,将所有用户的密码设置为了root。

update user set  password="root"; 结果这样之后数据库用root 用户和root密码都登陆不了了,这样就出现了我之前写的那个数据库连接失败的博客的现象,最后找到了一个完美修改数据库默认密码的方法,只需要

【步骤】

1.打开dos界面

2.进入到mysql的安装目录的bin

3.mysql -u [你的用户一般用root] -p回车

4.系统会提示你输入密码,如果一开始就是没有密码的,直接回车可以进入,

5.mysql>use mysql

6. mysql>update user set password=PASSWORD("root") where user="root"

7.最关键的一步:flush privileges;刷新MySQL的系统权限相关表,否则会出现拒绝访问。这一步才是关键所在啊,之前就是不知道这一步,导致很多地方出错,搞不明白。

7.exit 回车退出mysql>

Access denied for user 'root'@'localhost' (using password: YES)这个问题有时也是因为数据库默认密码为空导致的,可以按照上面的步骤试试。

这样之后就可以完美的通过java程序来操作数据库了,完美收工!

出错with root cause的更多相关文章

  1. fedora 20 yum出错

    需要利用linux做项目,所以在win10装了vmvare 以及 fedora,据说这个linux比较稳定.. 1.系统装好以后,需要先把terminal调处理,这才符合程序猿的习惯嘛,具体方法如下 ...

  2. linux安装iscsi target,make时出错,解决方法

    安装主要是按照这个网址的步骤来的:http://ixdba.blog.51cto.com/2895551/526452 执行到make步骤时,出错: root@host:~/iscsitarget-1 ...

  3. 解读ASP.NET 5 & MVC6系列(5):Configuration配置信息管理

    在前面的章节中,我们知道新版的MVC程序抛弃了原来的web.config文件机制,取而代替的是config.json,今天我们就来深入研究一下配置文件的相关内容. 基本用法 新版的配置信息机制在Mic ...

  4. dom4j读取某个元素的某个属性

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  5. S3C6410移植apache和php

    需要准备的东西: Apache-1.3.39 for linux Php-4.4.8 for linux Ubuntu amd64位 PC机 6410开发板,我用的是友善之臂 交叉编译: 交叉编译呢, ...

  6. MySQL 编译安装并且开启DEBUG模式

    因为想分析下mysql中一些操作的内部执行过程,单纯的看源码太枯燥了,所以决定结合mysql的执行过程来分析,mysql作为一款成熟的数据库软件,在设计的时候就考虑到了调试的问题,只是想开启调试模式的 ...

  7. shell脚本一

    在一些复杂的Linux维护工作中,大量重复的输入和交互操作不但费时费力,容易出错.这时候就需要用到脚本. 编写脚本的好处:  批量的处理,自动化的完成维护,减轻管理员的负担. linux的shell脚 ...

  8. MySQL开启general_log跟踪sql执行记录

    # 设置general log保存路径 # 注意在Linux中只能设置到 /tmp 或 /var 文件夹下,设置其他路径出错 # 需要root用户才有访问此文件的权限 mysql>set glo ...

  9. Ceph性能测试工具和方法。

    0. 测试环境 同 Ceph 的基本操作和常见故障排除方法 一文中的测试环境. 1. 测试准备 1.1 磁盘读写性能 1.1.1 单个 OSD 磁盘写性能,大概 165MB/s. root@ceph1 ...

随机推荐

  1. Win10 for Docker 安装 K8S

    win 10 docker安装K8S中遇见的一些问题,记录下来方便自己以后避免采坑. 安装步骤: 1.安装Docker for windows.在docker官方下载,然后傻瓜式安装. 安装成功以后再 ...

  2. FineCMS v5.4.1 后台getshell

    0x01.前言 最近在学代码审计,拿finecms学习的时候偶然发现的,应该算个1day吧 0x02.正文 FineCMS v5.4.1 后台域名配置处 域名配置文件config/domain.php ...

  3. 获取select下拉框选中的的值

    有一id=test的下拉框,怎么获取选中的那个值呢? 分别使用javascript方法和jquery方法 <select id="test"  name="&quo ...

  4. 用eclipse创建动态web项目手动生成web.xml方法

    建一个web项目,后来在用到web.xml文件时,才发现项目创建时没有自动创建web.xml文件. 在创建的项目上单击右键,然后单击java EE Tools下的用红线圈住的地方,然后查看你的WEB- ...

  5. Python学习笔记4基本数据类型

    start:16:00 1.Python基本数据类型 (1)数字类型及其操作 整数类型 浮点数类型 浮点数间运算存在不确定尾数,不是bug 复数类型 数值运算操作符 (2)数值运算函数    . 2. ...

  6. 传递参数:java代码中形参的改变有没有影响实参?

    实参:可以是常量.变量.表达式.函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值, 以便把这些值传送给形参. 因此应预先用赋值,输入等办法使实参获得确定值. 形参:全称为“形 ...

  7. K3精益版给物料添加属性,并在BOM中新增字段引用该属性

    1.给物料新增属性 打开“系统--基础资料--公共资料--核算项目管理”,然后双击物料,弹出核算项目类别-修改对话框.再点新增按钮: 输入你想新增字段的类型,长度,想要放置的位置. 相关属性里面选的是 ...

  8. php使用redis的几种常见方式和用法

    一.简单的字符串缓存 比如针对一些sql查询较慢,更新不频繁的数据进行缓存. <?php $redis = new Redis(); $redis->connect('127.0.0.1' ...

  9. OAuth2.0 协议的理解

    OAuth(Open Authorization)协议就是为用户资源的授权提供了一个安全.开放.简易的标准. OAuth在第三方应用与服务提供商之间设置了一个授权层,第三方应用通过授权层获取令牌,再通 ...

  10. Windows单机配置Zookeeper环境

    转自:http://www.jianshu.com/p/f7037105db46 首先要确保机器已经安装好java环境,并且配置好环境变量   http://apache.fayea.com/zook ...