簡體   English   中英

NodeJS xdevapi - 創建與 MySQL 數據庫的連接

[英]NodeJS xdevapi - Creating Connection to MySQL Database

I've been using the official MySQL NPM package found here: https://www.npmjs.com/package/@mysql/xdevapi .

但是,我似乎無法連接到服務器。 這是我收到的當前錯誤消息:

Error: The server connection is not using the X Protocol.
Make sure you are connecting to the correct port and using a MySQL 5.7.12 (or higher) server intance.

這是生成該問題的代碼:

const db = mysqlx.getSession('root@localhost:33060/schemaname').then(session => {
    console.log('SESSION STARTED!!');
});

這只是一個沒有密碼的測試數據庫,所以我認為密碼不是問題。 另外,我確定我使用的是正確的端口,並且 MySQL 版本是 8.xx,所以我認為這不是問題。 我使用應用程序 Dbngin 創建了一個數據庫,並驗證我可以通過在終端中運行以下命令來連接到數據庫: mysql -u root -h 127.0.0.1 --port=33060 -p有效。 我也在我的 Mac 上運行它。

更新:我也嘗試通過配置 object 沒有太多運氣:

const config = {
    user: 'root',
    password: '',
    host: 'localhost',
    port: 33060,
    schema: 'schemaname'
};

const db = mysqlx.getSession(config).then(session => {
    console.log('SESSION STARTED!!');
});

不幸的是,這段代碼產生了與上面相同的錯誤。

我自己嘗試了一下,得到了同樣的錯誤,因為你使用了錯誤的端口。 可能是您更改了默認端口,但默認端口是:3306 而不是 33060,盡管我必須使用端口 33060 而我的端口是 3306。

X-protocal 要求您將端口乘以 10我在這里看到: https://dev.mysql.com/doc/mysql-port-reference/en/mysql-ports-reference-tables.ZFC35FDC70D52269D236988A 因此,如果您的原始端口是 33060,我猜它應該是 330600。

你可以試試這個命令SHOW VARIABLES LIKE 'mysqlx_port';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM