以前在本机上做测试时,都是用的 loacl 和127.0.0.1完全可以。
但是真正用的时候发现 局域网的机器也可以通过局域网 操作我的mysql 数据库为什么呢?而且用的就时在 其他的机器上用127.0.0.1 这个ip为什么能操作我的数据库呢。
如果这样也可以,那他自己机器上也有mysql 会操作谁的呢?还有一个问题就时 我发现我在本机上用我的局域网ip 192.168.0.x不行说是有异常。
java.sql.SQLException: Access denied for user 'root'@'930ECA5E73F6404' (using pa
ssword: NO)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
        at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:282)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at myBean.DbConnBean.bulidConnection(DbConnBean.java:15)
        at myBean.DbConnBean.main(DbConnBean.java:52)
java.sql.SQLException: Access denied for user 'root'@'930ECA5E73F6404' (using pa
ssword: NO)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
        at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Sou
rce)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java
:282)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at java.sql.DriverManager.getConnection(Unknown Source)
        at myBean.DbConnBean.bulidConnection(DbConnBean.java:15)
        at myBean.DbConnBean.getConnection(DbConnBean.java:23)
        at myBean.DbConnBean.main(DbConnBean.java:53)
java.lang.NullPointerException
        at myBean.DbConnBean.main(DbConnBean.java:54)不知道时为什么。

解决方案 »

  1.   

    第2格问题解决了
    grant   all   on   *.*   to   qqhong@'%'   identified   by   '111';第一个问题就是 我变得访问服务器的程序是 用的127.0。0.1 这个hostname
    当然在自己的机器上可以正常的访问。
    但是把这段代码放到我的局域网中的其他机器上运行 居然也巴我机器上的数据库更改成功了。
    太神奇了,如果是用192.168 把我的数据库更改了我无话可说,但是居然时用的127.0.0.1.怎么会把我的数据库更改了呢
    ps;我的机器很正常 1快网卡
      

  2.   

    检查一下HOSTS文件,127.0.0.1映射到哪个IP上了,记得原来用
    一个代理软件,在IE用代理时就要用127.0.0.1。
      

  3.   

    其他的机器上用127.0.0.1 这个ip为什么能操作我的数据库呢。 可能性不大,可以确认是操作的你的mySQL ?对方的语法格式是什么?
    [align=center]====  ====
    [/align]
      

  4.   

    其他的机器上用127.0.0.1 这个ip为什么能操作我的数据库呢。 在IP层上,127.0.0.1根本不会生成IP包放到网络上[align=center]====  ====
    [/align]
      

  5.   

     还有一个问题就时 我发现我在本机上用我的局域网ip 192.168.0.x不行说是有异常。 也就是说172.0.0.1是可以的? 如果这样,应该是未授权的问题。 参照2楼的方法即可。[align=center]====  ====
    [/align]