无法使用 SQuirreL 连接到 MySQL 数据库
Posted
技术标签:
【中文标题】无法使用 SQuirreL 连接到 MySQL 数据库【英文标题】:Cannot connect to MySQL db using SQuirreL 【发布时间】:2014-04-05 23:34:30 【问题描述】:我无法使用客户端 Squirrel SQL 连接到 mysql。我之前设法连接到 Oracle 和 Derby,但这一次,我不知道自己做错了什么。
我已经按照以下步骤在我的 Mac 上安装了 MySQL:
安装 MySQL:
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
brew install git
brew update
brew install mysql
为了确保安装安全:
mysql.server start
mysql_secure_installation
mysql.server stop
创建一个新的数据库:
mysql.server start
mysql -uroot -pmypassord
create database mydb;
show databases;
要知道数据库的存储位置:
mysql.server start
mysql -uroot -pmypassword
SELECT @@datadir, @@innodb_data_home_dir
创建表格
use mydb;
create table tblemployee (
employeeID int not null,
firstname varchar(50),
lastname varchar(50),
titleID int,
salary float,
primary key (employeeID)
);
按照以下步骤操作后:
MySQL 安装在 /usr/local/Cellar/mysql/5.6.17 下 数据库存储在/usr/local/var/mysql/mydb下 表 tblemployee 已成功创建。然后我在 SQuirreL 中安装 MySQL 的驱动程序 (mysql-connector-java-5.1.30-bin) 并创建一个别名,其 URL 为“jdbc:mysql:/usr/local/var/mysql/mydb” , 用户名为“root”,密码为“mypassword”。
但是当我尝试连接时,我收到以下错误消息:
尝试打开 SQL 连接时发生意外错误。
当我点击 Stack Trace 时,我得到的是:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.sql.SQLException: Unable to create connection. Check your URL.
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:202)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.awaitConnection(Unknown Source)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$100(Unknown Source)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$2.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.RuntimeException: java.sql.SQLException: Unable to create connection. Check your URL.
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.executeConnect(Unknown Source)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand.access$000(Unknown Source)
at net.sourceforge.squirrel_sql.client.mainframe.action.OpenConnectionCommand$1.run(Unknown Source)
... 5 more
Caused by: java.sql.SQLException: Unable to create connection. Check your URL.
at net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(Unknown Source)
... 8 more
我做错了什么?
【问题讨论】:
【参考方案1】:检查您的 jdbc 连接 URL,这似乎是无效的: 'jdbc:mysql:/usr/local/var/mysql/mydb'
Jdbc url 类似于 'jdbc:mysql:/database',所以应该类似于: 'jdbc:mysql:localhost/mydb'
【讨论】:
URL 实际上应该是这样的:'jdbc:mysql://localhost/mydb' 端口也要提一下:jdbc:mysql://localhost:port/mydb【参考方案2】:安装 MySQL 并创建数据库后,您必须转到 SQL SQuirrel。
在 SQuirrel 中,首先要做的是安装适当的驱动程序。 在 MySQL 的情况下:
转到“驱动程序”(屏幕左侧)选项卡。 二次点击“MySQL Driver”。 点击“更改”。它会打开一个对话框:
名称:您要为驱动程序指定的名称(保持原样)。 示例 URL:jdbc:mysql://localhost/(数据库名称) 网址:http://dev.mysql.com转到“Extra Class Path”选项卡,然后添加 .jar MySQL 连接器。您将在安装 MySQL 的文件夹中找到它。在我的情况下,它是“Program Files (x85) /MySQL/Connector.J 5.1 / mysql-connector-java-5.1.39-bin.jar” 确定,您将准备好驱动程序。现在,添加一个新别名。
转到此选项卡,然后单击添加按钮(蓝十字):
名称:您要赋予别名的名称。 驱动程序:MySQL 驱动程序 网址:默认,并已配置驱动安装。 用户名:root 密码:我的密码最后,您按下“确定”按钮并准备就绪。
我希望你的解释足够清楚。
您好。
【讨论】:
以上是关于无法使用 SQuirreL 连接到 MySQL 数据库的主要内容,如果未能解决你的问题,请参考以下文章
使用 Hive JDBC 驱动程序通过 Squirrel 连接到 Knox
使用 SQuirrel SQL 连接到 SQL Server
通过 squirrel sql 连接到 hive/spark sql 时读取超时
如何从非域注册的 Linux 机器使用 SQuirreL SQL 连接到 SQL Server?