【背景:】

  我自己写了一个项目,主页可以看到一个数据库里的一个应用的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. HDFS中将普通用户增加到超级用户组supergroup

     

  2. 区块链之Hyperledger(超级账本)Fabric v1.0 的环境搭建(更新)

    参考链接:https://blog.csdn.net/so5418418/article/details/78355868   https://blog.csdn.net/wgh1015398431/ ...

  3. 2018-2019-2 《Java程序设计》结对项目阶段总结《四则运算——整数》(二)

    20175218 2018-2019-2 <Java程序设计>结对项目阶段总结<四则运算--整数> 一.需求分析 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减, ...

  4. VS下.net开发常用扩展、配置

    Vue.js Pack Copy As Html HTML Tools Word Highlight With Margin 绿豆沙颜色:R:199  G:237  U:204

  5. xcode更换启动图显示空白launchImg

    launchImg图片每次更换使用不同名字, 放在项目里面,不要放在 Assets.xcassets 里面,不然会有xcode缓存问题

  6. HTTP协议转码

    为什么要有转义的功能? 一些特殊字符需要转义,才能被访问,否则变为空格 UrlEnCode与UrlDeCode 有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的 ...

  7. ubuntu18.04微信小程序学习笔记

    安装微信小程序开发工具 安装 https://github.com/cytle/wechat_web_devtools 创建快捷方式 sudo nautilus //在/usr/share/appli ...

  8. C# Task.Run 和 Task.Factory.StartNew 区别

    Task.Run 是在 dotnet framework 4.5 之后才可以使用,但是 Task.Factory.StartNew 可以使用比 Task.Run 更多的参数,可以做到更多的定制.可以认 ...

  9. SNORT入侵检测系统

    SNORT入侵检测系统 YxWa · 2015/10/09 10:38 0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (ms ...

  10. 加密流量分析cisco

    思科ETA主页 https://www.cisco.com/c/en/us/solutions/enterprise-networks/enterprise-network-security/eta. ...