资料: 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/
tips:不想登录或者注册的话,点击如下
2、下载后配置
解压缩文件
文件夹放到你想要放置的位置
新增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项目可以运行了,不报权限的错误了,一切解决了