Tại sao trình kết nối mysql không hoạt động?
Các luồng công việc vẫn ổn khi được thực thi trong Knime Platform (localhost). Tuy nhiên, khi tôi thử xem qua chúng trong Máy chủ Knime, có vẻ như chúng không thể kết nối với MySQL Đây là thông báo lỗi LỖI Trình kết nối MySQL 0. 939. Thực thi không thành công. Lỗi liên kết truyền thông Gói cuối cùng được gửi thành công đến máy chủ là 0 mili giây trước. Trình điều khiển chưa nhận được bất kỳ gói tin nào từ máy chủ Qua tìm hiểu lỗi này với đội IT (đội chịu trách nhiệm quản lý DB trên MySQL), chúng tôi nghĩ rằng lỗi này là do IP của Knime Server chưa được cấp quyền truy cập vào MySQL. Do đó, họ đã thay đổi cấu hình để Knime Server có thể truy cập DB từ MySQL. Tuy nhiên, lỗi vẫn còn Anh em nào biết cách xử lý lỗi này không? Đây là bản in quy trình làm việc và lỗi trên máy chủ dao
Cảm ơn trước, Xin chào @ bruno29a. Xin lỗi, tôi nghĩ rằng tôi đã nhầm lẫn Thông qua bàn làm việc từ máy chủ Knime, nó sẽ là
Nếu có, tôi có thể kết nối khi tôi chạy quy trình công việc này trong máy tính để bàn Knime (như trong bản in bên dưới), nhưng khi tôi chạy quy trình công việc tương tự trong Máy chủ Knime, nút MySQL không thể kết nối quan sát. thông tin đăng nhập được định cấu hình trong nút MySQL không phải là thông tin đăng nhập giống như người dùng Máy chủ Knime của tôi. Tôi không thể kết nối với nút MySQL bằng thông tin xác thực của Máy chủ Knime mặc dù đang chạy nút từ máy tính để bàn Knime
Nếu có, tôi cũng đã thử kết nối với máy chủ mysql thông qua bàn làm việc mysql bằng thông tin xác thực của Máy chủ Knime, nhưng không thể. Tuy nhiên, tôi có thể kết nối với máy chủ MySQL bằng thông tin xác thực người dùng TI trên máy chủ aws. Nếu không phải là một trong hai lựa chọn thay thế này, bạn có thể hướng dẫn tôi cách thực hiện kiểm tra này để kết nối với máy chủ mysql của tôi từ máy chủ Knime không? Cả hai biểu mẫu (hoặc sử dụng hàm tạo from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 5 hoặc trực tiếp lớp) đều hợp lệ và có chức năng như nhau, nhưng sử dụng from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 5 được ưa thích hơn và được sử dụng bởi hầu hết các ví dụ trong sách hướng dẫn nàyĐể xử lý các lỗi kết nối, hãy sử dụng câu lệnh from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 7 và bắt tất cả các lỗi bằng cách sử dụng các lỗi. Ngoại lệ lỗiimport mysql.connector from mysql.connector import errorcode try: cnx = mysql.connector.connect(user='scott', database='employ') except mysql.connector.Error as err: if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: print("Something is wrong with your user name or password") elif err.errno == errorcode.ER_BAD_DB_ERROR: print("Database does not exist") else: print(err) else: cnx.close() Xác định đối số kết nối trong từ điển và sử dụng toán tử from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 0 là một tùy chọn khácimport mysql.connector
config = {
'user': 'scott',
'password': ' Sử dụng Trình kết nối/Python Phần mở rộng Python hoặc CTrình kết nối/Python cung cấp hai cách triển khai. giao diện Python thuần túy và tiện ích mở rộng C sử dụng thư viện máy khách MySQL C (xem Chương 8, Trình kết nối/Tiện ích mở rộng Python C). Điều này có thể được cấu hình trong thời gian chạy bằng cách sử dụng đối số kết nối from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 1. Nó mặc định là from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 2 kể từ MySQL 8, nghĩa là phần mở rộng C được sử dụng. Nếu phần mở rộng C không có sẵn trên hệ thống thì from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 1 mặc định là from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 4. Cài đặt from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 5 khiến kết nối sử dụng Tiện ích mở rộng C nếu bản cài đặt Trình kết nối/Python của bạn bao gồm nó, trong khi đó, từ from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 6 đến from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 2 có nghĩa là triển khai Python được sử dụng nếu cóTùy chọn from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 1 và tiện ích mở rộng C đã được thêm vào Trình kết nối/Python 2. 1. 1Ví dụ sau đây cho thấy cách đặt from mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 1 thành Saifrom mysql.connector import (connection)
cnx = connection.MySQLConnection(user='scott', password=' 2Cũng có thể sử dụng trực tiếp Tiện ích mở rộng C bằng cách nhập mô-đun import mysql.connector from mysql.connector import errorcode try: cnx = mysql.connector.connect(user='scott', database='employ') except mysql.connector.Error as err: if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: print("Something is wrong with your user name or password") elif err.errno == errorcode.ER_BAD_DB_ERROR: print("Database does not exist") else: print(err) else: cnx.close()0 thay vì mô-đun import mysql.connector from mysql.connector import errorcode try: cnx = mysql.connector.connect(user='scott', database='employ') except mysql.connector.Error as err: if err.errno == errorcode.ER_ACCESS_DENIED_ERROR: print("Something is wrong with your user name or password") elif err.errno == errorcode.ER_BAD_DB_ERROR: print("Database does not exist") else: print(err) else: cnx.close()1. Để biết thêm thông tin, hãy xem Phần 8. 2, “Mô-đun mở rộng _mysql_connector C” |