我在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 |
所以一切似乎都很好
有什么建议/帮助吗?
提前谢谢!
1条答案
按热度按时间zbq4xfa01#
您连接到错误的端口。x devapi通过x协议和服务器上的x插件得到支持,默认情况下,该插件在端口33060上可用。