React学习记录-搭建后台服务

本文记录了使用Docker搭建React项目后端服务的过程,包括启动Docker服务,拉取并运行MySQL镜像,创建数据库并导入数据。在遇到MySQL8.0的认证问题后,通过修改用户加密方式解决了问题,成功运行了后端服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习React框架,其中案例是利用React、antd-mobile库实现一个在线租赁平台。

项目后端使用 node + axios + mysql  搭建。其中的准备工作就是需要搭建起这套后端服务。后端代码都有,只需要能跑起来就行,毕竟学习的重点不在这里。

然而,在我的电脑上没有安装mysql...

但是,我的电脑上安装有 docker,哈哈哈,可以利用docker 跑个 mysql 容器,还是可以的。

ok, 说干就干。

1. 启动 docker服务

由于本地安装了一个docker可视化界面(docker, 官网下载的),所以就直接打开软件就行了,如果是通过其他方式安装,可以查询相关启动命令

2. 拉取 mysql 镜像

可以在 Docker Hub 上搜索 mysql 关键词获取 镜像进行下载安装,也可以在命令行通过

docker pull mysql

来拉取镜像。

3. 运行镜像

通过命令:

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

来运行mysql服务, 其中

some-mysql         为容器名称

-e                            为设置环境变量

my-secret-pw         替换为你需要设置登录mysql 的密码

-d                            设置为后台运行

mysql:tag                 这个为镜像名称

如果需要映射端口,需要添加

-p  本地端口:容器端口

我使用了如下的命令运行mysql镜像

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

4. 尝试在容器中运行,查看启动是否成功

4.1 通过`docker ps`命令查看 docker 运行情况

4.2 进入容器内部

docker exec -it 容器id bash

-i 交互式命令

-t  已伪终端的方式运行

 4.3 使用mysql命令连接mysql服务

mysql -u root -p 

至此,在 docker 上启动mysql 就算告一段落!!

5. 创建数据库,导入数据

5.1 拷贝本地sql文件到容器内部

docker cp 源文件 容器id:容器中的路径

5.2 创建数据库

5.3 导入数据库文件

在源文件当前路径下, 连接 mysql , 切换到刚刚新创建好的数据库 利用如下命令,执行sql脚本

source sql脚本

6. 宿主机(非容器)连接

由于我本地电脑没有安装任何关系性数据库客户端,只有在pycharm中安装了一个数据库插件,所以就使用此进行连接

主机地址: localhost/127.0.0.1

端口号: 3306(你的映射到本机的端口号)

用户名: root

密码:123456

通过以上配置,我成功连接上了数据库。查看了一下数据,还不上,居然有好几万套房屋数据!!!

卧槽,居然可以运行!!!

OK,那就运行,把后端代码跑起来吧!

拷贝下载代码、打开编辑器、安装依赖、 查看npm 脚本命令、执行

居然出现了这个错误

Client does not support authentication protocol requested by server; consider upgrading MySQL client

WTF???

查阅了几篇文章才发现,原来是 mysql 8.0之后对密码进行了加密(caching_sha2_password),之前为 mysql_native_password

ok,那就只好修改用户加密方式了

// 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

// 修改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';

// 刷新
FLUSH PRIVILEGES;

然后再试, 果然能够正常运行,

贴张后端运行的图

至此,后台搭建终于结束,可以继续学习了!!!
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值