我在Windows操作系统下用MySQL GUI Tools工具连接MySQL数据库。
MySQL数据库是装在Linux上的。
连接的时候使用用户名root,如果我输入密码,则无法连接成功,报错为:
MySQL 错误号 1045
Access denied for user 'root'@192.168.3.18(using password:YES)
我苦恼了很长时间,后来发现去掉密码就能连上了。
但是连上以后User Administration等功能不能用。而且数据库显示不全(少了几个数据库)。后来我连公司的服务器,发现没有密码连不上,而有密码可以连上。
而且User Administration功能也能用,数据库也显示全了。两个问题:
1.为什么没有密码也能连接数据库?
2.如何设置才能达到公司服务器那种效果么?

解决方案 »

  1.   

    1.没有密码能登录的账户,可能类似于window的guest,权限较低。
    2.从错误信息看是访问拒绝,可能跟postgres的hba.conf配置文件的功能差不多,你在 MYSQL里看看有没有类似的。
      

  2.   

    呵呵,看来你不是很忙,有时间上csdn。
      

  3.   

    1.为什么没有密码也能连接数据库?
    你的ROOT账号没设置密码。2.如何设置才能达到公司服务器那种效果么?
    给ROOT账号加上密码。具体操作可以参考一下手册中的账号管理。
    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  4.   

    回3楼:
    我的root是有密码的,我在Linux命令行中,必须输入密码才能登陆:
    [nagios@young ~]$ mysql -u root -p
    Enter password: #这里直接回车
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)[nagios@young ~]$ mysql -u root -p
    Enter password:#这里输入密码 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2
    Server version: 5.0.50sp1-enterprise MySQL Enterprise Server (Commercial)Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> 很感谢你给的链接。
      

  5.   

    root@localhost

    root@otherIP 同一个名字在不同机器上登录是不同的账号。MYSQL的账号由 username@hostname 两部分组成。
    你可以 select user,host,Password from mysql.user; 
    贴出来你的结果就明白了。