如何为我的nodejs项目创建mysql数据库?

如何为我的nodejs项目创建mysql数据库?,mysql,node.js,Mysql,Node.js,这应该是非常基本和简单的,但我真的找不到任何关于如何为我的nodejs typescript项目创建简单数据库的可理解信息 我已使用npm安装了以下软件包: mysql2 续集 续集cli 续写打字脚本 我已尝试在终端执行以下命令 C:\repos\NodeNew>mysql2 -u root -p 'mysql2' is not recognized as an internal or external command, operable program or batch file.

这应该是非常基本和简单的,但我真的找不到任何关于如何为我的nodejs typescript项目创建简单数据库的可理解信息

我已使用npm安装了以下软件包:

  • mysql2
  • 续集
  • 续集cli
  • 续写打字脚本
我已尝试在终端执行以下命令

C:\repos\NodeNew>mysql2 -u root -p
'mysql2' is not recognized as an internal or external command,
operable program or batch file.

C:\repos\NodeNew>mysql -u root -p
'mysql' is not recognized as an internal or external command,
operable program or batch file.

C:\repos\NodeNew>node mysql2 -u root -p
module.js:538
    throw err;
    ^

Error: Cannot find module 'C:\repos\NodeNew\mysql2'
    at Function.Module._resolveFilename (module.js:536:15)
    at Function.Module._load (module.js:466:25)
    at Function.Module.runMain (module.js:676:10)
    at startup (bootstrap_node.js:187:16)
    at bootstrap_node.js:608:3

C:\repos\NodeNew>

那么,如何创建数据库,以便使用sequelize等连接到数据库?

您安装的工具仅用于将Node.js应用程序连接到MySQL,不包括用于管理MySQL服务器的命令行工具

我假设您已经安装了MySQL并且它正在运行–然后您应该能够在服务器安装目录的
bin/
目录中找到它的
MySQL.exe
命令行客户端。如果您没有处理身份验证,只运行它可能会起作用

当您看到MySQL提示符时,您可以按照任何旧的说明创建数据库<代码>创建数据库foo是它的要点(身份验证和权限是另一回事)

因为您使用的是Windows,所以您可能想研究一下—我已经有一段时间没有使用它了,但它是一个不错的图形化MySQL管理工具

const mysql = require('mysql2');
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  database: 'mysql',
});
connection.query('CREATE DATABASE foo');
您还可以使用
mysql2
创建数据库(如下所示),但我建议您使用一个管理工具

const mysql = require('mysql2');
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  database: 'mysql',
});
connection.query('CREATE DATABASE foo');

您应该在计算机上安装MySQL,要在Windows上安装MySQL,请参阅以下页面: 一旦你的计算机上安装并运行了MySQL。打开命令终端并执行以下操作:

npm install mysql
现在您已经下载并安装了mysql数据库驱动程序。Node.js可以使用此模块操作MySQL数据库:

var mysql = require('mysql');
要创建连接,请创建文件connection.js:

 var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword"
});

con.connect(function(err) {
 if (err) throw err;
  console.log("Connected!");
});
要测试它,请保存文件并运行:

 node connection.js
这将为您提供以下结果:

 Connected!

非常感谢你的回答!我以为我以前安装过它,因为mysql相关的东西在我的电脑上不断更新。但显然我没有。我有一个叫做mysql工作台之类的东西。无论如何,现在我已经安装了Mysql服务器。您知道如何告诉它将数据库文件放在与我的nodejs项目相同的文件夹中吗?我假设将来我必须在我的网站的托管空间安装mysql服务器?mysql自己负责数据库文件及其位置,你不能真正移动它们。如果您需要一个包含在单个文件中的SQL数据库,请查看SQLite。是的,您的web主机需要支持MySQL;如果它是一个共享服务器,通常你不能自己安装。如果是VPS,那当然。嗯,很有趣。因此,如果我在本地开发数据库(我输入了所有信息等),如果我无法获取文件并将其复制/上载到适当的位置,如何将其移动到服务器上?我是否必须再次手动将所有数据输入服务器?否–您可以使用
mysqldump
实用程序获取文本副本,然后将其应用到生产服务器上。IDK我之前安装了mysql Workbench,但显然它不起作用?现在我也安装了MySQL服务器。但是当我尝试使用
从“mysql2”导入mysql2时我得到错误
找不到模块“mysql2”的声明文件c:/repos/NodeNew/node_modules/mysql2/index.js'隐式具有“any”类型。尝试
npm install@types/mysql2`如果存在,或者添加一个新的声明(.d.ts)文件,其中包含
declare模块'mysql2'
ts(7016)`@coding\u pianist您不必进行导入,将其声明为如下变量:const mysql=require('mysql2');好的,亲爱的,谢谢你!现在我只得到了这个错误
参数'err'在您提供的函数
con.connect(函数(err){if(err)throw err;console.log(“Connected!”);})中的err上隐式有一个'any'类型
@coding_pianist尝试如下更改函数:connection.connect((err)=>{if(err)throw err;console.log('Connected!');});