本帖最后由 mwindchimes 于 2011-07-23 09:06:03 编辑

解决方案 »

  1.   


    show grants;看一下结果,估计是没有权限。你是从不同的地方登录的? 要注意MYSQL的用户账号由 username@hostname 组成,即相同的用户名从不同主机登录则是不同的账号。
      

  2.   

    我一直都用localhost登录的,贴一下java的代码:
    String driver = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/cacti";
    Connection connection = null;
    try {
    Class.forName(driver);
    connection = DriverManager.getConnection(url, "cacti", "pass");其余部分省略。
      

  3.   

    我觉得也是权限的问题,但我用网上说的方法设置了all privileges权限给root,可是用root登录还是找不到此前建好的几个数据库。(命令行方式除外)
      

  4.   

    在mysql下用root和空密码登录,运行show grants,结果如下:
    +---------------------------------------------------------------------+
    | Grants for root@localhost                                           |
    +---------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | 
      

  5.   

    show grants;看一下结果,---------------------同一个回复不断需要重复。
      

  6.   

    show grants,结果如下:
    +---------------------------------------------------------------------+
    | Grants for root@localhost |
    +---------------------------------------------------------------------+
    | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | 
      

  7.   

    这是你在 Navicat 中显示出来的?!
      

  8.   

    不是,是命令行显示的,怎么用Navacat运行show grants ?
      

  9.   

    看下select user,host,password from mysql.user看你都用了哪些登录然后再用再看你用的登录的权限 show grants for 你用的用户@'你用的host'
      

  10.   

    右键数据库就打开控制台consloe
      

  11.   

    我在某个数据库上点右键,没找到控制台的选项,有  运行SQL文件   存储SQL文件  管理用户 等等 
      

  12.   

    你知道如何在Navacat运行SQL语句吗?
      

  13.   

    现在出现了很奇怪的现象,由于我在Navicat下看不到已有的数据库,所以我在Navicat下用root和空密码登录,然后建了一个和已有的数据库一样名字的数据库,居然还可以编辑这个数据库。
    现在的感觉是Navicat操作的mysql和命令行下的不一样。
    我们的系统在装机时自带了一个mysql,之后又安装了一个更高版本的mysql,和这个有关?