别人在客户端修改了mysql的root用户的密码,修改完了,我们在客户端通过sqlyog连接数据库,用新修改的密码可以访问,里面的数据对象都正常,但是我登陆服务器,后台通过命令连接了mysql数据库 使用root的新密码连接不上,还得使用旧的密码。我在服务器上use 其他数据库都找不到了,只能use information_schema;然后执行select * from USER_PRIVILEGES;执行结果只有一条+----------------+---------------+----------------+--------------+
| GRANTEE        | TABLE_CATALOG | PRIVILEGE_TYPE | IS_GRANTABLE |
+----------------+---------------+----------------+--------------+
| ''@'localhost' | NULL          | USAGE          | NO           | 
+----------------+---------------+----------------+--------------+执行select * from SCHEMA_PRIVILEGES; 执行结果为空。请高手指点。

解决方案 »

  1.   

    从 服务器登陆 和从 其它机器登录,其实是不同的用户账号。MYSQL的用户账号由 username@hostname 两部分组成。 
    root@localhost 和 [email protected]是不同的用户。贴 
    select user,host,password from mysql.user;结果看一下
      

  2.   

    我在客户端执行结果是user    host    password
    root % *4ACFE3202A5FF5CF467898FC58AAB1D615029441
    root linux *4ACFE3202A5FF5CF467898FC58AAB1D615029441
    localhost
    linux
    pma localhost -----------------------------但是我在服务器端执行select user,host,password from mysql.user;结果是ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user'use mysql找不到按照你说的用户不一样的话,我怎样在服务器端用root用户也看到和在客户端同样的内容。
      

  3.   

    root % *4ACFE3202A5FF5CF467898FC58AAB1D615029441
    root linux *4ACFE3202A5FF5CF467898FC58AAB1D615029441
    localhost
    linux
    pma localhost 你在服务器端,你的账号会先是 root@localhost, 这时,在这个user 表中找不到你的账号,则MYSQL会再看有没有 ''@localhost 如果有,你则以这个账号登录,如果没有则拒绝登录。所有你其实是以 ''@localhost 的账号在登录,而不是 root!select current_user(); 看一下你是谁 
    mysql> select current_user();
    +----------------+
    | current_user() |
    +----------------+
    | root@localhost |
    +----------------+
    1 row in set (0.00 sec)mysql>
      

  4.   

    你可以看一下以下内容,估计需要15-20分钟。http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#privilege-system
    5.7. MySQL访问权限系统
    5.7.1. 权限系统的作用
    5.7.2. 权限系统工作原理
    5.7.3. MySQL提供的权限
    5.7.4. 与MySQL服务器连接
    5.7.5. 访问控制, 阶段1:连接核实
    5.7.6. 访问控制, 阶段2:请求核实
    5.7.7. 权限更改何时生效
    5.7.8. 拒绝访问错误的原因
    5.7.9. MySQL 4.1中的密码哈希处理http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#user-account-management
    5.8. MySQL用户账户管理
    5.8.1. MySQL用户名和密码
    5.8.2. 向MySQL增加新用户账户
    5.8.3. 从MySQL删除用户账户
    5.8.4. 限制账户资源
    5.8.5. 设置账户密码
    5.8.6. 使你的密码安全
    5.8.7. 使用安全连接