2017-07-10 97 views
0

我們正在使用一個Mysql數據庫設置,通過SSL/TLS進行遠程訪問並嘗試將其連接到Zapier。 教程如何設置數據庫Here。我已驗證數據庫可從多個IP地址訪問,並且權限設置儘可能鬆散。Zapier Mysql連接錯誤

mysql> SHOW GRANTS;

GRANT USAGE ON *.* TO '[User]'@'%' IDENTIFIED BY PASSWORD < secret > REQUIRE SSL

GRANT ALL PRIVILEGES ON `[User]`.* TO '[Database]'@'%'

我們可以連接數據庫,Zapier,並將它傳遞的初始連接測試,但在嘗試當以下設置引發此錯誤的選項,選擇下拉選項和下拉列表是空的。

We're having trouble loading 'Table' data...

internal returned (401) Unauthorized and said "Traceback (most recent call last): File "/srv/app/sql_zero/frontend.py", line 151, in get_tables response_obj = database_service.get_tables(params, auth=auth) File "/srv/app/sql_zero/database_service.py", line 125, in get_tables with connection(self.connect(auth, params['engine'])) as engine: File "/srv/app/sql_zero/database_service.py", line 282, in connect return available_enginesdatabase.connect(auth) File "/srv/app/sql_zero/engines.py", line 60, in connect engine.execute('SET NAMES utf8;') File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1990, in execute connection = self.contextual_connect(close_with_result=True) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2039, in contextual_connect self._wrap_pool_connect(self.pool.connect, None), File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2078, in _wrap_pool_connect e, dialect, self) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1405, in _handle_dbapi_exception_noconnection exc_info File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 202, in raise_from_cause reraise(type(exception), exception, tb=exc_tb, cause=cause) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2074, in _wrap_pool_connect return fn() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 376, in connect return _ConnectionFairy._checkout(self) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 713, in _checkout fairy = _ConnectionRecord.checkout(pool) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 480, in checkout rec = pool._do_get() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 1060, in _do_get self._dec_overflow() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in exit compat.reraise(exc_type, exc_value, exc_tb) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 1057, in _do_get return self._create_connection() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 323, in _create_connection return _ConnectionRecord(self) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 449, in init self.connection = self.connect() File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py", line 607, in __connect connection = self.__pool._invoke_creator(self) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/strategies.py", line 97, in connect return dialect.connect(*cargs, **cparams) File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 385, in connect return self.dbapi.connect(*cargs, **cparams) File "/usr/local/lib/python2.7/dist-packages/pymysql/__init.py", line 90, in Connect return Connection(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 699, in init self.connect() File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 928, in connect self._request_authentication() File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1148, in _request_authentication auth_packet = self._read_packet() File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 1010, in _read_packet packet.check_error() File "/usr/local/lib/python2.7/dist-packages/pymysql/connections.py", line 393, in check_error err.raise_mysql_exception(self._data) File "/usr/local/lib/python2.7/dist-packages/pymysql/err.py", line 107, in raise_mysql_exception raise errorclass(errno, errval) OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user '[user]'@'ec2-54-86-9-50.compute-1.amazonaws.com' (using password: YES)") "

我檢查了指導here on empty dropdown lists但沒有任何工作。如果我們忽略消息並手動輸入一個表格和一個簡單的查詢

SELECT * FROM learner

它會在'測試此步驟'時拋出以下錯誤。

Bargle. We hit an error fetching a row. :-(Error: internal returned (401) Unauthorized and said "Traceback (most recent call last).

任何幫助搞清楚這裏發生了什麼將不勝感激!

+0

也許嘗試通過測試來自另一個MySQL客戶端的連接(如[Sequel Pro](https://www.sequelpro.com/))來排除它是一個Zapier問題。 – Matt

回答

0

如果以後可以幫助其他人,解決方案是爲Zapier設置一個客戶端證書,以便與MySQL服務器進行身份驗證。 Zapier支持確認在啓用REQUIRE SSL時,使用用戶名和密碼進行身份驗證是不可能的,儘管在文檔中沒有說明。