mysql - 从nodejs连接Mysql时出错
问题描述
我最近启动了 node-js,我试图将我的 nodejs 服务器与 mysql 连接起来。问题是我收到一个错误,我真的不知道为什么,我正在使用 phpmyadmin。
phpmyadmin 详细信息
用户:根
主机:本地主机
未设置密码
index.js
var express = require("express");
var app = express();
var mysql = require('mysql');
var port = process.env.PORT || 3000;
var connection = mysql.createConnection({
host: "localhost",
user: "root",
database: "learning",
});
connection.connect(function(err){
if(err) {
console.log('Error connecting to Db');
return;
}
console.log('Connection established');
console.log('3');
connection.end(function(err) {
console.log('Connection closed');
console.log('4');
process.exit();
});
});
app.listen(port,function(err1){
console.log("Listening on the port 3000");
});
解决方案
从节点 js 连接到 mysql,您用于从节点 js 连接到 mysql
/config
/database.js
/server.js
/.env
const http = require('http');
const app = require('express')();
require('./config/database.js');
const bodyParser = require('body-parser');
const server = http.createServer(app);
server.listen(process.env.ServerPort, '0.0.0.0', () => {
logger.info(`Express server listening on port ${process.env.ServerPort}`);
});
当你运行这个:
node server.js
数据库.js 文件
const My = require('jm-ez-mysql');
// Init DB Connection
const connection = My.init({
host: process.env.DBHOST,
user: process.env.DBUSER,
password: process.env.DBPASSWORD,
database: process.env.DATABASE,
dateStrings: true,
charset: 'utf8mb4',
timezone: 'utc',
multipleStatements: true,
connectTimeout: 100 * 60 * 1000,
acquireTimeout: 100 * 60 * 1000,
timeout: 100 * 60 * 1000,
});
module.exports = {
connection,
};
推荐阅读
- facebook - 在 Facebook 应用验证上提交新的审批范围
- php - PHP-为什么不通过(../)为我工作相对路径但使用(./)?
- c - C中float和double数据类型的不同值
- python - pelican 文档中的 pelican 函数部分在哪里?
- docker - what is the correct way to update a docker image
- swiftui - 使用 SwiftUI+Combine 的数据库延迟加载
- python - 如何使用合并单元格中的熊猫将excel列数据提取到python列表中
- reactjs - ReactJS 中的函数式组件和 useState()
- javascript - 画布旋转图像大于原始图像
- ios - FirebaseMessaging 回调(onMessage、onResume、onLaunch)不会仅针对物理 iOS 设备调用