nodejs连接mysql

news2024/11/27 2:39:49
npm i express #node后端框架
npm i cors
npm i mysql
const app = require('express')();
const cors = require('cors');
const port = 5000;
const mysql = require('mysql')     //引入mysql 模块

app.use(cors({}))

const conn = mysql.createConnection({
    user: 'root',
    password: 'qwertyuiop1',
    //password: '123456',
    host: 'localhost',
    database: 'learn_test'
})

app.get('/',(req,res)=>{
// 测试连接
    conn.connect(err=>{
        console.log(err,'如果为null 就是连接成功');
    })
    res.send("")
})

app.listen(port,()=>{
    console.log(`${port}端口已监听`)
})

访问http://localhost:5000
在这里插入图片描述

error: er_not_supported_auth_mode: client does not support authentication protocol requested by server; consider upgrading mysql client

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你想要的密码';
FLUSH PRIVILEGES;

创建一张表

create table users(
uid int(20)not null unique auto_increment, #unique唯一约束,auto_increment:自增
name varchar(255) not null,
pwd varchar(255)not null);
const app = require('express')();
const cors = require('cors');
const port = 5000;
const mysql = require('mysql')     //引入mysql 模块

app.use(cors({}))

const conn = mysql.createConnection({
    user: 'root',
    password: 'qwertyuiop1',
    //password: '123456',
    host: 'localhost',
    database: 'learn_test'
})

// 测试连接
conn.connect(err=>{
    console.log(err,'如果为null 就是连接成功');
})

app.get('/',(req,res)=>{
    let sqlStr = `insert into users(name,pwd) values('${req.query.name}','${req.query.pwd}')`
    conn.query(sqlStr,(err)=>{
        if(err != null){
            console.log(err)
        }else {
            console.log("")
        }
    })
    res.send("插入成功")
})

app.listen(port,()=>{
    console.log(`${port}端口已监听`)
})

需要的情况下

#查询表结构
desc 表名;
#删除表
drop table 表名;

node查询mysql

app.get('/selectUsers',(req,res)=>{
    let sqlStr = `select * from users`;
    conn.query(sqlStr,(err,results)=>{
        if(err != null){
            res.send(err)
        }else {
            res.send(results)
        }
    })
})

nodejs+rsa加密

npm i node-rsa

创建实例

var  NodeRSA  = require (' node-rsa '); 

var  key  = new NodeRSA[ keyData ,[ format ] ],[ options ] );

keyData - {string|buffer|object}用于生成密钥或以支持的格式之一生成密钥的参数。
format - {string}导入密钥的格式。查看有关导出/导入部分格式的更多详细信息。
options - {object}- 其他设置。

创建“空”键

var key = new NodeRSA();

生成新的512位长度密钥

var key = new NodeRSA({ b :512 });

导入/导出密钥

   /*实例*/
    var publicDer = key.exportKey('public');
    var privateDer = key.exportKey('private');
    console.log('公钥:',publicDer);
    console.log('私钥:',privateDer);

    key.importKey(result[1], 'private');

    /*语法*/
    key.importKey(keyData, [format]);
    key.exportKey([format]);

keyData - {string|buffer}- 可能是:
键入PEM字符串
包含PEM字符串的缓冲区
包含DER编码数据的缓冲区
对象包含关键组件
format - {string}- 用于导出/导入的格式ID。

加密/解密

/*加密*/
key.encrypt(buffer, [encoding], [source_encoding]);
key.encryptPrivate(buffer, [encoding], [source_encoding]); // 使用私钥进行加密 
/*解密*/
key.decrypt(buffer, [encoding]);
key.decryptPublic(buffer, [encoding]); // 使用公钥解密 

/*实例*/
var encryData = key.encryptPrivate(req.body.user_pwd, 'base64','utf8');
    console.log('加密后的数据',encryData);
var decryptData = key.decryptPublic(result[0],'utf8');
    console.log('解密后的数据',decryptData);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/573452.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

普通人想自学软件测试?我还是劝你算了吧。。。

本人7年测试经验,在学测试之前对电脑的认知也就只限于上个网,玩个办公软件。这里不能跑题,我为啥说:自学软件测试,一般人我还是劝你算了吧?因为我就是那个一般人! 软件测试基础真的很简单&…

gtest单元测试

gtest单元测试 1. gtest是什么?简答:做测试用的2. gtest的优点3. 搭建测试框架4. gtest_范例演示 1. gtest是什么?简答:做测试用的 gtest是Google的一套用于编写C测试的框架,可以运行在很多平台上(包括Lin…

【JavaSE】Java基础语法(十四):Static

文章目录 概述特点与应用注意事项为什么一个静态方法中只能访问用static修饰的成员? 概述 Java中的static是一个修饰符(也可称关键字),可以用于修饰变量、方法和代码块。 特点与应用 static修饰的成员具有以下特点: 被类的所有对…

如何在Mac上抓取安卓设备的日志

要在 Mac 上抓取 Android 设备的日志,您可以使用 Android SDK 中的 adb 工具。以下是一个简单的步骤: 1.您需要在 Mac 上安装 Android SDK。您可以从 Android 开发者网站上下载最新版本的 Android SDK,并按照说明进行安装。 2.将您的 Andro…

重学 Symbol

重学 Symbol 之前在写基础类型的笔记时暂时性的先跳过了 symbol,现在也有了一些项目的使用经验后,觉得还是需要重新回滚并且学习一下,温故而知新。 首先依旧回顾一下 symbol 的特点: 是原始值 唯一 不可变 可以提供私有属性&…

javaWeb ssh沙发销售系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh沙发销售系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Mye…

【SUMO】SUMO运行自带的OSM入门教程

文章目录 一、运行CMD命令行二、进入OSM选择地图位置 首先给出官网教程: https://sumo.dlr.de/docs/Tutorials/OSMWebWizard.html 一、运行CMD命令行 代码: 先进入osmWebWizard.py文件地址 cd /d D:\SUMO\sumo-1.17.0\tools(替换成自己的…

智慧PG(pgting),一款拖拽式智能页面搭建系统

目录 前言 一、介绍 二、设计理念 1,资源整合,开箱即用 2,降低系统颗粒度 3,组件共享 4,简化配置 三、系统功能 1,可视化大屏搭建: 四、技术架构 1,技术栈 2,整体架构 五…

LeetCode 1091. Shortest Path in Binary Matrix【BFS,A星】中等

本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…

C++ 代码整洁之道

NOTICE: 这篇文章的框架条目来自《C代码整洁之道:C17可持续软件开发模式实践》,作者: [德] 斯提芬罗特。书籍原名"Clean C: Sustainable Software Development Patterns and Best Practices with C 17"。 文章目录 编码基本原则保持简单和直接…

Unity | HDRP高清渲染管线学习笔记:示例场景解析

目录 一、HDRP入门 1.HDRP设置 1.1 HDRP配置文件中的全部设置项 1.1.1 Rendering下的Lit Shader Mode 1.1.2 Lighting 下的Volumetrics(体积光)和Screen Space Reflection(屏幕空间反射) 2.离线渲染VS实时渲染 3.Volume组件 …

文字gif闪图怎么做?高效的gif闪图制作方法

相信不少新媒体行业的小伙伴,一定都见过那种闪动文字效果的gif动图吧。效果非常的炫酷还很吸引人们的眼球,但是作为设计小白这种闪烁gif图要怎么制作呢?有没有那种小白也能轻松上手的工具呢? 一、什么样的工具能够在线生成gif动态…

《Spring Guides系列学习》guide35 - guide40

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…

项目管理自动化 工作效率顶呱呱

项目管理,是职场人进阶发展的必备高阶能力,需要在复杂的环境中有效整合资源、高效助力团队实现整体的项目目标。 一个好的项目管理者,需要合理规划项目进展,实时同步需求、及时沟通进展,合理判断项目风险&预警&am…

记一次用户反馈app在后台收不到push问题跟踪

我们的应该大范围推广后,今日用户群好多用户反馈安卓手机app在后台时收不到app的push消息,只有app处于前台时才能收到push消息。但是ios手机可以正常接收push消息。 拿到问题,首先想到从下面几个方便尝试定位: 1.用户手机app通知权…

财报解读:毛利持续改善,金山云正在“弯道超车”?

一季度,云巨头们的表现持续稳健,依旧稳坐前排,而作为中小云代表的金山云也在5月23日发布了2023年一季度财报,盈利能力持续改善成为通篇最亮眼的一笔。 随着AI大模型打开了新的“潘多拉魔盒”,云市场也在发生着巨变。 …

picoctf_2018_rop chain

小白垃圾笔记,不建议阅读。 这道题目其实我是瞎做的. 本地调试需要写一个文件名为flag.txt的文件。 先检查下保护:(我把文件名改成pwn了),32位仅仅开启了nx 然后放到32位ida里: main函数如下&#xff1a…

〖Web全栈开发⑤〗— CSS基础

〖Web全栈开发⑤〗— CSS基础 (一)CSS基础1.1CSS介绍1.2CSS样式1.3CSS 格式 (二)CSS 选择器2.1标签选择器2.2类选择器2.3层级选择器2.4id选择器2.5组选择器2.6伪类选择器2.7通配符选择器 (三)样式表引入3.1外部样式表3.2内部样式表…

WPF入门实例 WPF完整例子 WPF DEMO WPF学习完整例子 WPF实战例子 WPF sql实例应用

WPF 和 WinForms 都是用于创建 Windows 桌面应用程序的开发框架,它们有一些相似之处,但也有很多不同之处。 在开发速度方面,这取决于具体情况。如果您熟悉 WinForms 开发并且正在开发简单的界面应用程序,则可能会比使用 WPF 更快…

《Spring Guides系列学习》guide41 - guide45

要想全面快速学习Spring的内容,最好的方法肯定是先去Spring官网去查阅文档,在Spring官网中找到了适合新手了解的官网Guides,一共68篇,打算全部过一遍,能尽量全面的了解Spring框架的每个特性和功能。 接着上篇看过的gu…