我在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.如何设置才能达到公司服务器那种效果么?
MySQL数据库是装在Linux上的。
连接的时候使用用户名root,如果我输入密码,则无法连接成功,报错为:
MySQL 错误号 1045
Access denied for user 'root'@192.168.3.18(using password:YES)
我苦恼了很长时间,后来发现去掉密码就能连上了。
但是连上以后User Administration等功能不能用。而且数据库显示不全(少了几个数据库)。后来我连公司的服务器,发现没有密码连不上,而有密码可以连上。
而且User Administration功能也能用,数据库也显示全了。两个问题:
1.为什么没有密码也能连接数据库?
2.如何设置才能达到公司服务器那种效果么?
2.从错误信息看是访问拒绝,可能跟postgres的hba.conf配置文件的功能差不多,你在 MYSQL里看看有没有类似的。
你的ROOT账号没设置密码。2.如何设置才能达到公司服务器那种效果么?
给ROOT账号加上密码。具体操作可以参考一下手册中的账号管理。
MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
我的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> 很感谢你给的链接。
和
root@otherIP 同一个名字在不同机器上登录是不同的账号。MYSQL的账号由 username@hostname 两部分组成。
你可以 select user,host,Password from mysql.user;
贴出来你的结果就明白了。