egg.js + mysql + windows 踩坑全纪录

news2024/9/24 7:17:50

资料: egg.js文档(https://www.eggjs.org/zh-CN/intro/quickstart)
背景:前面的都很简单,按照官方文档配置即可,全部调通以后,开始接触数据库mysql
因为米有后台开发背景,所以需要从头开始。
步骤:

一、安装mysql

1、下载mysql,选择mysql的原因也很简单,文档说的(https://www.eggjs.org/zh-CN/tutorials/mysql)。

下载地址:https://dev.mysql.com/downloads/mysql/
mysql下载
tips:不想登录或者注册的话,点击如下
下载按钮

2、下载后配置

解压缩文件
文件夹放到你想要放置的位置
mysql文件放置位置
新增my.ini文件,内容如下:
tips:basedir=D:\apps\mysql-8.0.33-winx64 这个需要配置成自己的路径

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\apps\\mysql-8.0.33-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\MySQL\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

3、设置用户名密码

cmd + 管理员运行,进入到刚刚bin文件所在的文件夹
tips:切记要记住初始密码,找个地方保存起来

D:\apps\mysql-8.0.33-winx64\bin
// 运行,获得默认密码
mysqld --initialize --console
// 安装mysql服务并启动   
mysqld --install mysql
// 登录
mysql -h localhost -P 3306 -u root -p
// 会显示密码的界面,输入刚刚保存的密码,就登录成功了
******
// 修改密码,旧密码太难记了,修改一下比较好
ALTER USER 'root'@'localhost' IDENTIFIED BY '123mysql';

至此,安装成功,退出后重新登录,显示ok的

二、安装图形界面

因为人太菜,sql语言写的不行,又想快点搞,所以下载了一个程序(HeidiSQL)。
在这里插入图片描述
这个没啥说的,新建数据库,输入账号密码,密码就是刚刚改的那个
在这里插入图片描述
然后点击上图的 打开 按钮,就是数据库的列表了,建你需要的表和字段
tips:新增字段和给字段赋值是俩tab,不要混了,字段赋值是在 数据 tab里面
在这里插入图片描述
然后数据库、表、字段就搞完了,后面就是把egg.js和这个数据库连起来

三、egg.js连接数据库

安装插件,开启插件,配置插件,这些文档都有,照着来就可以,配置完以后,运行报错(这个报错是这篇文章存在的意义,不然一路顺,就懒得记录下来了):

node.js连接mysql出现错误: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

搜索原因,说是mysql的登录和egg-sql插件的登录方式不一致,需要改成一致
参照了很多文章,进行了多次密码修改,但是一直报错,类似文章(node.js连接mysql出现错误ER_NOT_SUPPORTED_AUTH_MODE Client does not support authentication protocol…)
最后,直接登录不上去了,哪个密码都登录不上去了
分析可能是粘贴别人的代码,密码设置的时候有空格或者啥了,反正是登录不了了。

忘记密码的时候怎么重置数据库密码?

一篇救大命的文章(MySQL修改、忘记root密码(8.0版本))
1、首先终止MySQL服务

1、右键此电脑-管理-服务-MySQL
或者
2、以管理员身份打开cmd,执行:
net stop mysql

2、以管理员身份新开cmd,进入mysql安装的bin目录后执行:

mysqld --console --skip-grant-tables --shared-memory

此时,命令行框会处于持续运行状态:
3、保持上述的窗口(切记),再以管理员身份新开cmd,执行:

mysql -uroot -p

这时就已经绕过密码登录进入mysql了。
4、接下来修改root的密码为空

UPDATE mysql.user SET authentication_string='' WHERE user='root';

5、此时关闭所有命令行界面,正常开启MySQL服务后进行登录,无需密码即可进入成功。
此时进行修改密码操作:

use mysql 
ALTER user root@'localhost' identified by '123456';

密码修改成功,退出mysql,即可通过密码:123456登录.

神奇的事情是,当我重新修改完密码以后,我的egg.js项目可以运行了,不报权限的错误了,一切解决了

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

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

相关文章

从IDC数据库安全报告,看OceanBase安全能力

欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 作为数据的承载工具,数据库自身安全能力对于数据安全至关重要。数据库软件诞生至今,经过了几十年的发展和演进,已经成为 IT 系统中不可或缺的关键技术。但是随着…

MySQL原理(三):索引

前言 上一篇介绍了 MySQL 的逻辑架构和执行过程,这一篇将介绍索引相关的内容。 索引是用额外的数据结构,来实现快速检索目标数据的。就像字典当中的目录一样,用额外的空间来存储部分内容,从而加快检索速度。 MySQL 的逻辑架构分…

Python——PyQt5在PyCharm的配置与应用(保姆级教程)

目录 一、安装pycharm与python版本 二、升级pip与换源,安装PyQt5、PyQt5-tool 三、添加环境变量 四、在pycharm的外部工具里添加3个工具 4.1、添加三个插件(重点) 五、如何使用QtDesigner 六、如何使用pyuic5 一、安装pycharm与python版…

C语言——扫雷小游戏(递归展开版)

哈喽,大家好,上次我们已经学习了三子棋小游戏,今天我们来学习扫雷小游戏了。 目录 1.游戏介绍 2.函数部分 2.1菜单 2.2game()函数 2.3mian()函数 2.4初始化棋盘 2.5打印棋盘 2.6布置雷 2.7排查雷 2.8统计雷 2.9递归,展开一片区域 …

眼球追踪、HDR、VST,从代码挖掘Valve下一代VR头显

擅长爆料、挖掘线索的Brad Lynch,此前发布了Quest Pro等设备的线索文章引发关注。​近期,又公布一系列与“Valve Deckard”VR头显相关消息,比如支持眼球追踪、HDR、VST透视、Wi-Fi网络等等。在SteamVR 1.26.1测试版更新、Steam用户端、Gamesc…

lazada、shopee转化率低怎么办?做好这几点,让你的店铺转化率提升

如若lazada, shopee如果转化率低,商家需要做好以下几个方面,通过以下几点来提高。毕竟只有流量没有转化率,店铺管理不好。 1、产品类别的选择 一个好的类别本身就是一个很好的排水渠道,可以给我们带来大量的流量,高流…

数据结构与算法基础(王卓)(38):排序、全部PPT、笔记整理

首先,庆祝本系列完结撒花! 对了,后续应该会把王卓老师所有的PPT附带笔记全部打包上传百度云 回头我把链接贴出来,感兴趣的朋友可以Mark一下,希望可以帮助到大家 如果有什么写的不对的地方,先给大家说声抱…

23年的软件测试前景?我卷自动化测试卷出头了,拿下22K*15薪...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试工程师主要干…

Linux一学就会——管道通信

管道通信 进程间通信目的 数据传输:一个进程需要将它的数据发送给另一个进程 资源共享:多个进程之间共享同样的资源。 通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&…

通过计算系统稳定性比较迭代次数

有一类差值结构可能有一行中的数字比其他行的都多,因此有天然的底部,很容易确定平均列的顺序。但是可能有的差值结构相同的底部不止一个,这次比较双底部差值结构迭代次数的顺序。 ( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入有3个节…

2023年US News最佳MBA排名出炉,申请需要哪些条件?

在出国留学的大环境下,MBA文凭一直都非常受欢迎,美国商学院是中国学生热衷的留学方向,而针对管理者的MBA项目也受到追捧。 US News 统计了美国130个全日制MBA的毕业生起薪,2023年毕业生的平均工资为 $105,684,Top 10 …

纽扣电池/含纽扣电池商品亚马逊美国澳洲站点合规认证要求!

纽扣电池/含纽扣电池商品亚马逊美澳站点合规认证 亚马逊美国站纽扣电池(含纽扣电池产品)合规要求标准: 16CFR1700.15部分(防毒包装标准) 16CFR1700.20部分(特殊包装的检测程序) ANSI C18.3M(便携式锂原电池的安全标准) 警示标签声明要求(…

对于零基础小白来说,转行学云计算和java哪个更好一些?求推荐

对于零基础小白来说,转行学云计算和java哪个更好一些? 云计算和Java是两个不同的技术领域,虽然它们都与计算机网络、分布式系统和互联网应用程序等相关,但它们的学习重点和应用场景也不同。虽然他们都是非常有前途的IT领域&#x…

Web3中文|比特币 BRC-20 让“闪电网络”再受热议

一位幸运的矿工在上周日晚上赚取了 6.701 枚BTC(约 200,000 美元)的交易费用,超过了当前的 6.25 BTC 的区块奖励。这一极为罕见的事件说明了与 Ordinals 协议相关的区块链活动导致了用户成本的飙升。 高昂的比特币交易费用 2022年底&#xff…

RT-DETR原理与简介(干翻YOLO的最新目标检测项目)

概述与简介 RT-DETR是一种实时目标检测模型,它结合了两种经典的目标检测方法:Transformer和DETR(Detection Transformer)。Transformer是一种用于序列建模的神经网络架构,最初是用于自然语言处理,但已经被证…

反射机制【Java】

文章目录 定义获得Class对象的方式反射的具体使用几个重要的类及方法反射的优缺点 在一些特定的场景中,我们可能会需要获取一些私有的成员变量或方法的信息,但直接在类外调用是无法成功获取到的,因此我们就需要一种机制来获取一些需要的变量或…

多媒体通信有些SCI期刊推荐? - 易智编译EaseEditing

以下是一些多媒体通信领域的SCI期刊推荐: IEEE Transactions on Multimedia: 这是IEEE计算机学会旗下的一个期刊,涵盖了多媒体信号的处理、编码、压缩、传输和交互等方面的研究。 ACM Transactions on Multimedia Computing, Communication…

操作系统原理 —— 七种常见的调度算法(十三)

大家都知道,学习这种类型的算法,在很多时候,我们只是学习它的一种思想,那有没有好的学习调度算法的思路呢? 我们可以基于一下路线,来学习调度算法: 1、算法思想2、算法规则3、这种调度算法是用…

Excel 冻结指定行 / 列

目录 假设你的表格是这样的: 1. 确定你要冻结的行列数 2. 计算下一个单元格的位置 3. 选中红框的单元格,视图 > 冻结窗格 > 冻结拆分窗格 4. 出现下面红框中的线即代表功能已经实现。 在使用 Excel 的过程中,经常会需要保持某一行 / 某…

【目标检测】入门教程之yolo v1理论与实战

every blog every motto: There’s only one corner of the universe you can be sure of improving, and that’s your own self. https://blog.csdn.net/weixin_39190382?spm1010.2135.3001.5343 0. 前言 目标检测入门实战教程 1. 正文 1.1 感性认识 我们想做的事&…