那可能是因为你登录时所匹配的用户权限并不是你所想像的那个,将你的mysql.user表内容与登录时的用户设置帖出来,:》
用Grant授权后是不再需要执行FLUSH PRIVILEGES了,
只有通过SQL来直接控制mysql.user表时,
才需要通过这条语句来通知MySQL用户授权信息已发生了改变

解决方案 »

  1.   

    ------+-----------+------------+-----------------+------------+------------+
    | Host      | User  | Password         | Select_priv | Insert_priv | Update_priv
     | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process
    _priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv |
    +-----------+-------+------------------+-------------+-------------+------------
    -+-------------+-------------+-----------+-------------+---------------+--------
    ------+-----------+------------+-----------------+------------+------------+
    | localhost | test1 | 773214e90eb99bdb | N           | N           | N
     | N           | N           | N         | N           | N             | N
          | N         | N          | N               | N          | N          |
    +-----------+-------+------------------+-------------+-------------+------------
    -+-------------+-------------+-----------+-------------+---------------+--------
    ------+-----------+------------+-----------------+------------+------------+
    就是这个了。
    顺便问一下怎么把查询结果导出到一个文件里呢?
    我看了也觉得奇怪,怎么都是N啊?
      

  2.   

    运行mysql.exe程序,
    然后执行tee指令,
    这个指令就是为了将屏幕显示记录到一个文本文件中的
    如下mysql> tee c:/123.txt;
    Logging to file 'c:/123.txt'
    Logging to file 'c:/123.txt'
    mysql>你的数据库中只有一个用户吗
    +-----------+-------+------------------+----
    | Host      | User  | Password         |
    +-----------+-------+------------------+----
    | localhost | test1 | 773214e90eb99bdb |
    +-----------+-------+------------------+----还有就是,
    如果你已经以 test1@localhost 登录上了服务器,
    然后修改了 test1@localhost 的用户权限,
    也刷新了用户权限,
    但  test1@localhost 仍然没有断开连接,
    那么这个 test1@localhost 的连接将仍然使用原有的权限,
    只有当新的  test1@localhost 连接建立后才会使用新的用户权限
      

  3.   

    还有一个就是root用户,我觉得应该没有什么影响,所以没有写出来。
    什么样才算断开?
    我都退出了好几次再联进去了。除了数据库的约束是对之外其他好象都不对,就是说只能使用这个数据库,但是还是可以操作其他的数据表
      

  4.   

    还有就是为什么这个表里的权限都是N 这个用户还是可以进行这些操作呢?
    (mysql-4.0.2-alpha)
      

  5.   

    mysql> tee c:/mysql/log/sql.txt;
    No outfile specified!
    tee命令好象不灵啊?
    user表:
    +-----------+-------+------------------+
    | host      | user  | password         |
    +-----------+-------+------------------+
    | localhost | root  | 5fcc735428e45938 |
    | localhost | test1 | 773214e90eb99bdb |
    +-----------+-------+------------------+
    2 rows in set (0.00 sec)tables_priv
    +-----------+------+-------+------------+----------------+----------------+-----
    ----------+-------------+
    | Host      | Db   | User  | Table_name | Grantor        | Timestamp      | Tabl
    e_priv    | Column_priv |
    +-----------+------+-------+------------+----------------+----------------+-----
    ----------+-------------+
    | localhost | test | test1 | worker     | [email protected] | 20021227164742 | Sele
    ct,Insert |             |
    +-----------+------+-------+------------+----------------+----------------+-----
    ----------+-------------+
    1 row in set (0.00 sec)
    就这些了
    你说的登陆数据库的设置具体指什么?
      

  6.   

    tee 所用的目录可存在?也就是说你登录时所用的设置,
    如mysql -u root -h localhost -p我要你登录时用的Host,User,Password
      

  7.   

    tee 中的文件存在C:\mysql\bin>mysql -utest1 -p
    Enter password: ***和
    C:\mysql\bin>mysql -utest1 -p -h localhost
    Enter password: ***现在发现除了mysql系统这个数据库操作不了,其他的都可以,:(
      

  8.   

    MySQL安装时默认在mysql.db表中对test数据库的授权设置,
    你看看里面是不是有什么东东