mysql xdevapi with node.js:“服务器连接未使用x协议”

fkaflof6  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(395)

我在linux上安装了mysql 8

~$ mysql --version
mysql  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)

我执行了所有的基本配置(创建了一个模式,一个用户拥有该模式和一些表的授权)。我尝试在node.js中使用xdevapi来执行连接,这只是一个简单的测试。

const mysqlx = require('@mysql/xdevapi');

const dbCfg = {
    "host": "127.0.0.1",
    "port": 3306,
    "password": "xxxxxxxxx",
    "user": "someuser",
    "schema": "someschema"
};

mysqlx.getSession(dbCfg).then(session => {
    console.log("this is the session! ", session);
});

我得到以下错误:
“错误:服务器连接未使用x协议。确保连接到正确的端口并使用MySQL5.7.12(或更高版本)服务器“
如果我搜索“服务器连接不使用x协议”,我只得到一个结果!到连接器的源代码(https://dev.mysql.com/doc/dev/connector-nodejs/8.0/lib_protocol_client.js.html).
如果我尝试用相同的参数通过mysqlsh连接,一切正常。
如果我运行查询“show plugins”,mysqlx插件就在那里:

| ngram                      | ACTIVE   | FTPARSER           | NULL    | GPL     |
| mysqlx                     | ACTIVE   | DAEMON             | NULL    | GPL     |
| mysqlx_cache_cleaner       | ACTIVE   | AUDIT              | NULL    | GPL     |

所以一切似乎都很好
有什么建议/帮助吗?
提前谢谢!

zbq4xfa0

zbq4xfa01#

您连接到错误的端口。x devapi通过x协议和服务器上的x插件得到支持,默认情况下,该插件在端口33060上可用。

相关问题