我正在尝试连接Netbeans中的MySQL数据库,并在第一步 - 连接数据库时停留。我的数据库在控制台上工作正常 - 尝试命令mysqladmin -u root -p ping 它说mysql id是活着的。我甚至从控制台创建了数据库。 现在当我在Netbeans中注册时
Server Host Name:localhost
Server Port:3306
Admin user : root
Admin password :<the password which works on console>
和管理员属性:
Path to admin tool: C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin.exe
Argument : <blank>
Path to start command:C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe
Argument : --console <as suggested in http://forums.netbeans.org/topic12767.html>
Path to stop command:C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin.exe
Argument : -u root shutdown
但我仍然得到消息: - &#34; localhost上的MySQL服务器:3306 [root](已断开连接)&#34;
如果我右键单击并选择&#34;开始&#34;或&#34;连接&#34;我在任务栏中收到消息 - 等待MYSQL服务器启动... 无限的时间。
任何帮助我在这里做错了什么???
答案 0 :(得分:7)
遵循以下两个步骤:
使用服务标签执行以下步骤:
按如下方式自定义New COnnection:
localhost
3306
mysql
(默认为mysql或输入数据库名称)jdbc:mysql://localhost:3306/mysql
NB:删除网址中的?zeroDateTimeBehaviour=convertToNull
部分。
而不是URL中的mysql
,您应该看到您的数据库名称)
MySQL Server at localhost:3306:[username](...)
在“MySQL服务器属性”对话框中,选择“管理员属性”标签 在指定的文本框中输入以下内容:
对于Linux用户:
/usr/bin/mysql
/etc/init.d/mysql start
/usr/bin/mysql
/etc/init.d/mysql stop
对于MS Windows用户:
注意:可选:
在“管理工具的路径/ URL”字段中,键入或浏览到MySQL管理应用程序的位置,例如MySQL管理工具,PhpMyAdmin或其他基于Web的管理工具。
注意:mysqladmin是MySQL安装目录的bin文件夹中的MySQL管理工具。它是一个命令行工具,不适合与IDE一起使用。
我们将在此示例中使用MySQL Workbench。如果你有MySQL工作台和MySQL的路径,请使用你的安装路径。
C:\Program Files\MySQL\MySQL Workbench CE 5.2.47\MySQLWorkbench.exe
C:\mysql\bin\mysqld
(或C:\mysql\bin\mysqld.exe
)C:\mysql\bin\mysqladmin
(或C:\mysql\bin\mysqladmin.exe
)-u root shutdown
(尝试-u root stop
)Windows用户的MySQL bin文件夹位置的可能示例:
C:\mysql\bin
C:\Program Files\MySQL\MySQL Server 5.1\bin\
~\xampp\mysql\bin
答案 1 :(得分:2)
确保您的SQL服务器正在运行。实际上我正在使用Windows,我已经安装了一个名为MySQL workbench的漂亮工具(几乎任何平台都可以找到它here。)
因此,我只是创建一个新的数据库来测试连接,让我们称之为stackoverflow,使用一个名为user的表。
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
DROP SCHEMA IF EXISTS `stackoverflow` ;
CREATE SCHEMA IF NOT EXISTS `stackoverflow` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `stackoverflow` ;
-- -----------------------------------------------------
-- Table `stackoverflow`.`user`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `stackoverflow`.`user` ;
CREATE TABLE IF NOT EXISTS `stackoverflow`.`user` (
`iduser` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(75) NOT NULL,
`email` VARCHAR(150) NOT NULL,
PRIMARY KEY (`iduser`),
UNIQUE INDEX `iduser_UNIQUE` (`iduser` ASC),
UNIQUE INDEX `email_UNIQUE` (`email` ASC))
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
您可以将重要部分减少到
CREATE SCHEMA IF NOT EXISTS `stackoverflow`
CREATE TABLE IF NOT EXISTS `stackoverflow`.`user` (
`iduser` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(75) NOT NULL,
`email` VARCHAR(150) NOT NULL,
PRIMARY KEY (`iduser`),
UNIQUE INDEX `iduser_UNIQUE` (`iduser` ASC),
UNIQUE INDEX `email_UNIQUE` (`email` ASC))
所以现在我有了全新的stackoverflow数据库。让我们通过Netbeans连接它。启动netbeans并转到服务面板
现在右键单击数据库:新连接..选择MySql连接器,它们已经充满了netbeans。
然后填补所需数据的空白。如图所示,添加数据库名称,并从连接URL中删除可选参数l?zeroDateTimeBehaviour=convertToNull
。使用正确的用户名和密码并测试连接。
正如您所见,连接成功。
点击结束。
您的连接将成功运行并在服务下可用。
答案 2 :(得分:2)
检查网页中的context.xml
文件 - &gt; META-INF ,username="user"
必须与数据库用户相同,在我的情况下是root,解决了连接错误
希望帮助
答案 3 :(得分:0)
在我的情况下,我在WEB-INF下的glassfish-recources.xml中找到了密码
答案 4 :(得分:0)
关闭NetBeans。
停止MySQL服务器。
更新MySQL(如果有)
启动MySQL Server。
打开NetBeans。
如果仍然无法连接,请下载MySQL Connector/J并将mysql-connector-java- [version] .jar添加到您的
classpath 以及您的 Webserver的lib 目录。例如,Tomcat lib路径
在XAMPP中是
C:\ xampp \ tomcat \ lib。
然后再次重复这些步骤。
答案 5 :(得分:0)
我只是遇到了与Netbeans 8.2相同的问题,并试图连接到Mac OS计算机上的mySQL服务器。对我唯一有效的方法是将以下内容添加到连接字符串的url中:&serverTimezone = UTC(或者如果您通过Hibernate.cfg.xml连接,则转义&as&),这并不奇怪,我发现了解决方案堆栈溢出后还:
MySQL JDBC Driver 5.1.33 - Time Zone Issue
最好的问候, 克劳迪奥
答案 6 :(得分:0)