当我用Hibernate创建一个新的web项目时,我打开新连接向导,选择MySQL(连接器/J驱动程序)选项(连接器jar出现在驱动程序文件列表中),我按下下一步按钮,设置主机:127.0.0.1,端口:3306,数据库名称,用户名:root,空白密码字段。然后我得到cannot establish a connection to jdbc:mysql://127.0.0.1:3306/databasename using com.mysql.jdbc.Driver (Access denied for user 'root'@'localhost' (using password: YES))
以下是config.inc.php文件中的代码:
/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
在XAMPP的文件夹(在Ubuntu中)中还有其他几个config.inc.php文件,但这些文件似乎不包含用户名和密码设置。/etc/mysql/my.cnf文件中有以下几行:
user = mysql
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
所以,我可能设置了正确的端口。这个user = mysql
是什么意思?为什么这些设置会出现"无法建立连接"错误?提前谢谢。
user = mysql
是MySQL守护进程运行的操作系统用户。从错误消息中,MySQL用户root似乎有一个非空密码。您应该确定该密码是什么,并将其放入身份验证配置中。
当我将下载的连接器jar添加到驱动程序文件列表中时,它就工作了。不知何故,这个列表中的/home/myname/Downloads/mysql-connector-java-5.1.18/mysql-connector-java-5.1.18-bin.jar
可以工作,但本机IDE的/home/myname/netbeans-7.0.1/ide/modules/ext/mysql-connector-java-5.1.13-bin.jar
却不能。