NodeJS xdevapi - 创建与 MySQL 数据库的连接
NodeJS xdevapi - Creating Connection to MySQL Database
我一直在使用在这里找到的官方 MySQL NPM 包: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.x.x 所以我认为这不是问题所在。我使用应用程序 Dbngin 创建了一个数据库,并验证了我可以通过 运行 在我的终端中使用以下命令连接到数据库:mysql -u root -h 127.0.0.1 --port=33060 -p
有效。我也在 运行 我的 Mac.
更新:
我也试过传递配置对象但运气不佳:
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.html。 所以如果你原来的端口是33060我猜应该是330600.
你可以试试这个命令SHOW VARIABLES LIKE 'mysqlx_port';
我一直在使用在这里找到的官方 MySQL NPM 包: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.x.x 所以我认为这不是问题所在。我使用应用程序 Dbngin 创建了一个数据库,并验证了我可以通过 运行 在我的终端中使用以下命令连接到数据库:mysql -u root -h 127.0.0.1 --port=33060 -p
有效。我也在 运行 我的 Mac.
更新: 我也试过传递配置对象但运气不佳:
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.html。 所以如果你原来的端口是33060我猜应该是330600.
你可以试试这个命令SHOW VARIABLES LIKE 'mysqlx_port';