Caused by: java.sql.SQLException: Unable to open a test connection to the given database報錯無法開啟到給定資料庫
阿新 • • 發佈:2018-12-29
在啟動hive或則其他要連線資料庫的時候 ,都有可能遇到這個問題
[[email protected] bin]$ ./hive Caused by: java.sql.SQLException: Unable to open a test connection to the given database. JDBC url = jdbc:mysql://localhost:3306/hive, username = root. Terminating connection pool (set lazyInit to true if you expect to start your database after your app). Original Exception: ------ com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'hive'
原因:
mysql和hive是在同一臺主機所以將ip地址改為本機
在hive-site.xml配置檔案中
<value>jdbc:mysql://192.168.24.26:3306/hive_13?characterEncoding=UTF-8</value>
修改為
<value>jdbc:mysql://master:3306/hive_13?characterEncoding=UTF-8</value>
分析:
有192.168.24.26改為master後 MySQL使用者名稱也隨之發生成APP,此時需要在其中對其重新授權;
解決:
方案一:許可權問題
可能由於root的許可權不夠,可以進行如下操作
-
以root進入mysql
-
賦予root許可權:
mysql> GRANTALL PRIVILEGES ON . TO ‘APP’@‘master’
-> IDENTIFIEDBY ‘some_pass’ WITH GRANT OPTION;
//本地操作的許可權
mysql> GRANTALL PRIVILEGES ON . TO ’ root ‘@’%’
-> IDENTIFIEDBY ‘some_pass’ WITH GRANT OPTION;
//遠端操作的許可權
重新整理:
flush privileges;
注意:因為你的配置有改動,都要重新啟動hdfs和mysql
方案二:mysql驅動問題
mysql-connector-java-5.1.21-bin.jar換成較高版本的驅動如mysql-connector-java-6.0.3-bin.jar
下載路徑http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/