【背景:】

  我自己写了一个项目,主页可以看到一个数据库里的一个应用的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. 区间修改区间求和cdq分治

    https://www.luogu.org/problemnew/show/P3372 #include<bits/stdc++.h> #define fi first #define s ...

  2. ES match match_phrase term willcard的查询原理

    比如:要求实现SQL中like “%xxxx%”的匹配效果. wildcard通配 这种效果在ES中最匹配的做法是用wildcard query通配,这种情况不会对query分词,而是直接遍历倒排索引 ...

  3. 大数据入门到精通16--hive 的条件语句和聚合函数

    一.条件表达 case when ... then when .... then ... when ... then ...end select film_id,rpad(title,20," ...

  4. 【练习】Python第三次

    对函数,内置函数的用法,递归,程序运行顺序的考试 1.列举布尔值为 False 的值 0 False '' [] () {} None 经常使用的场景是 if object 如果object有值就执行 ...

  5. CentOS7下Mysql 5.6.30安装与配置

    环境:centos 7 x64 先下载mysql安装包 打开 http://dev.mysql.com/downloads/mysql/  选择 linux - Generic 再选择 下载完毕后,得 ...

  6. C语言的三目运算符(x=a?b:c):条件运算符

    三目运算符使用是为了有条件判断的选择赋值 x = a ? b : c 先计算 a表达式 是否为真.若为真,x 的值便是 b表达式的值,否则 x的值便是 c表达式的值. 条件运算符是右结合的. 如:a ...

  7. Vue的从入门到放弃

    此贴仅记录vue学习路程中遇见的大大小小,形形色色的问题 1.  vue自动打开浏览器配置: 当使用vue 脚手架搭建项目后启动npm run dev,会出现 但是不会自动打开浏览器的,这时候去con ...

  8. Jenkins+Gradle+Sonar进行Java项目代码分析

    Jenkins+Maven+Sonar与Jenkins+Gradle+Sonar配置方法很相似,区别就是Java项目所用的编译工具不同,一个是maven,一个是gradle 使用maven编译工具的可 ...

  9. MySQL索引优化步骤总结

    在项目使用mysql过程中,随着系统的运行,发现一些慢查询,在这里总结一下mysql索引优化步骤 1.开发过程优化 开发过程中对业务表中查询sql分析sql执行计划(尤其是业务流水表),主要是查看sq ...

  10. Centos启动流程及grub legacy

    Linux系统的组成部分:内核+根文件系统 内核的功能:进程管理.内存管理.网络管理.文件系统.驱动程序.安全功能 系统在运行时要么就是在运行内核代码,要么就是在运行应用程序代码.如果一个程序大多数时 ...