环境搭建及源码运行_java环境搭建_mysql安装

书到用时方恨少、觉知此时要躬行;拥有技术,成就未来,抖音视频教学地址:​​​​​​​​​​​​​​

1、介绍

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一

举例:用户商品订单mysql表uml图

​​​​​​​

用户如何获取订单?

1)用户登录:用户手机号 + 密码登录,后端校验用户名和密码在数据库是否注册过,如果注册过,返回token 给app,并将token 和 用户信息存储到redis


2)token获取用户订单:app登录成功,进入首页,通过token 获取用户订单数据,后端获得到app传过来的token,从redis 查询出用户信息,通过用户信息的userId 找到订单--- 找到订单关联的商品参数数据及商品数据,然后返回给app

2、下载 MySQL

前往 MySQL 的官方网站 (https://dev.mysql.com/downloads/mysql/) 并下载最新的 mysql 版本。选择 “MySQL Community Server” 并选择您的操作系统。在“Select Operating System” 下拉框中,选择Mac OS X,然后在“Select OS Version” 下拉框中选择您的系统版本。接下来,您会在页面上看到“Download”按钮。点击下载最新版本的 mysql,建议和我安装一样的版本

3、安装

点击下载好的安装包,注意,安装最后的时候,记得将临时密码复制出来

4、设置环境变量

在 Mac 上,您需要将 mysql 的 bin 目录添加到 PATH 环境变量中,这样您才能在终端窗口中直接访问 mysql 命令。
在终端窗口输入以下命令,将 mysql 的 bin 目录添加到 PATH 环境变量中:
export PATH=$PATH:/usr/local/mysql/bin
export PATH=$PATH:/usr/local/mysql/support-files

vim  ~/.bash_profile 文件
输入i进入编辑模式,将文本复制粘贴,然后esc 退出编辑模式 然后输入shift + :   输入wq保存

在执行source .bash_profile  生效
 

5、启动 MySQL

在终端中输入以下命令启动 mysql 服务,有时候如果遇到报错

sudo -s  输入密码,用root用户启动,启动前杀死自动启动的mysql,重新启动一下就ok
 

重新启动
 

// 如果还是报错
ERROR! The server quit without updating PID file (/usr/local/mysql/data/jiadeMBP.lan.pid)
//执行一下两个命令
touch /usr/local/mysql/data/jiadeMBP.lan.pid
chmod -R 777 /usr/local/mysql/
 

6、重新设置root账户密码

重新设置root账户密码,方便后续java代码链接
优先关闭mysql


cd /usr/local/mysql/bin   cd到mysql  bin目录,然后启动mysql,跳过验证
sudo ./mysqld_safe --skip-grant-tables

鼠标移动到终端,然后 command+n ,打开另外一个终端,连接mysql,密码随便输入即可
 

然后执行更改密码UPDATE mysql.user SET authentication_string=PASSWORD("123456") WHERE User='root';

设置密码永不过期,alter user 'root'@'localhost'password expire never;
 

记得执行,FLUSH PRIVILEGES;
 

在原来的终端,control+z 结束当前命令行, 在输入mysql.server restart 重新启动mysql

在新的终端输入root 连接,密码111 报错,输入刚才我们改的密码123456,成功连接,代表我们修改密码成功了
 

7、创建数据库及表

表及数据,有源码的同学,本地启动后,后序会用到

mysql> CREATE DATABASE app_management;


选择app_management数据库  

mysql> use app_management;

然后执行以下下面的创建语句


CREATE TABLE `product` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_name` varchar(50) NOT NULL DEFAULT '',
  `product_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '1、小米手环 2、鞋子  3、 衣服 4、家装 5、家电',
  `recommend` smallint(6) NOT NULL DEFAULT '1' COMMENT '是否推荐 0不推荐 1推荐',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `total_sales` int(11) NOT NULL DEFAULT '0',
  `shop_id` int(11) NOT NULL DEFAULT '0' COMMENT '店铺id',
  `product_desc` varchar(100) NOT NULL DEFAULT '',
  `brand` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `product_car` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `number` int(11) NOT NULL DEFAULT '0' COMMENT '商品数量',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `product_parama_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品参数id',
  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `product_comment` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `head_Image` varchar(200) NOT NULL DEFAULT '' COMMENT '头像',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `nick_name` varchar(10) NOT NULL DEFAULT '' COMMENT '昵称',
  `comment` varchar(30) NOT NULL DEFAULT '' COMMENT '评论',
  `comment_stars` int(11) NOT NULL DEFAULT '0' COMMENT '评价几颗星',
  `product_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `product_order` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
  `product_user_receive_information_id` int(11) NOT NULL DEFAULT '0',
  `order_status` int(11) NOT NULL DEFAULT '0' COMMENT '0 待支付 1 已支付 未发货 2 发货中 3  已发货  待收货 4  已收货 待评价  5 已评价  ',
  `total_price` double(10,3) NOT NULL DEFAULT '0.000',
  `reduce_price` double(5,3) NOT NULL DEFAULT '0.000' COMMENT '减免价格',
  `expire_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `price` double(10,3) NOT NULL DEFAULT '0.000' COMMENT '价格',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uq_user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `product_order_parama` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `number` int(11) NOT NULL DEFAULT '0' COMMENT '商品数量',
  `product_order_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品id',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `product_parama_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品参数id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `product_parama` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL DEFAULT '0' COMMENT '商品id',
  `product_color` varchar(10) NOT NULL DEFAULT '' COMMENT '商品颜色',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `product_type` varchar(10) NOT NULL DEFAULT '',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `in_stock` int(11) NOT NULL DEFAULT '0' COMMENT '库存',
  `price` int(11) NOT NULL DEFAULT '0',
  `url` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `product_user_receive_information` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `user_name` varchar(10) NOT NULL DEFAULT '' COMMENT '收货人姓名',
  `user_mobile` varchar(11) NOT NULL DEFAULT '' COMMENT '收货人手机号',
  `user_address` varchar(50) NOT NULL DEFAULT '' COMMENT '收货人地址',
  `user_id` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `shop` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `shop_name` varchar(10) NOT NULL DEFAULT '' COMMENT '店铺名称',
  `create_user_id` int(11) NOT NULL DEFAULT '0' COMMENT '店铺创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `delivery_address` varchar(30) NOT NULL DEFAULT '' COMMENT '发货地址',
  `delivery_method` varchar(30) NOT NULL DEFAULT '' COMMENT '配送方式',
  `shop_phone` varchar(11) NOT NULL DEFAULT '' COMMENT '店铺电话',
  `remark` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uniq_create_user_id` (`create_user_id`) USING BTREE COMMENT '店主'
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4;

CREATE TABLE `suggestion` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(500) NOT NULL DEFAULT '',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `mobile` char(11) NOT NULL DEFAULT '' COMMENT '手机号',
  `nick_name` varchar(20) NOT NULL DEFAULT '' COMMENT '昵称',
  `password` char(32) NOT NULL DEFAULT '',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `gender` varchar(11) NOT NULL DEFAULT '保密' COMMENT '性别',
  `birthday` date DEFAULT NULL,
  `area` varchar(100) NOT NULL DEFAULT '',
  `signature` varchar(250) NOT NULL DEFAULT '',
  `head_image` varchar(500) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx_mobile_app_id` (`mobile`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4;

8、安装mysql工具

我这里安装的DBeaver,后面比较简单的 我就不在介绍了,安装软件,大家应该都会
下载mysql:https://www.bear20.com/pcmac/131/725963631.html
安装成功后,打开软件,并创建一个链接

能看到刚才创建的数据库及表,代表成功

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go原生http开发简易blog(一)项目简介与搭建

文章目录 一、项目简介二、项目搭建前置知识三、首页- - -前端文件与后端结构体定义四、配置文件加载五、构造假数据- - -显示首页内容 代码地址:https://gitee.com/lymgoforIT/goblog 一、项目简介 使用Go原生http开发一个简易的博客系统,包含一下功能…

UE5:Lumen 框架

1.Lumen渲染流程框架 2.Lumen基本概念 2.1 LumenCard & LumenMeshCards LumenMeshCards:一组带有方向性的模型简化代理,视模型复杂度不同可能包含6个及以上数量的LumenCard;用来提供光照采样的位置和方向。 2.2 LumenCardPage & Lu…

Pycharm 如何更改成中文版| Python循环语句| for 和 else 的搭配使用

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…

【Linux】在vim中批量注释与批量取消注释

在vim编辑器中,批量注释和取消注释的操作可以通过进入V-BLOCK模式、选择要注释或取消注释的内容、输入注释符号或选中已有的注释符号和按键完成。这些操作可以大大提高代码或文本的编写和修改效率,是vim编辑器中常用的操作之一。 1.在vim中批量注释的步…

常用网安渗透工具及命令(扫目录、解密爆破、漏洞信息搜索)

目录 dirsearch: dirmap: 输入目标 文件读取 ciphey(很强的一个自动解密工具): john(破解密码): whatweb指纹识别: searchsploit: 例1: 例2: 例3&…

<JavaEE> 网络编程 -- 网络通信基础(协议和协议分层、数据封装和分用)

目录 一、IP地址 1)IP地址的概念 2)IP地址的格式 二、端口号 1)端口号的概念 2)端口号的格式 3)什么是知名端口号? 三、协议 1)协议的概念 2)协议的作用 3)TC…

【idea】解决sprintboot项目创建遇到的问题

目录 一、报错Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 二、报错java: 错误: 无效的源发行版:17 三、java: 无法访问org.springframework.web.bind.annotation.CrossOrigin 四、整合mybatis的时候,报java.lang.Ill…

人工智能中的核心概念

1 概述 人工智能英文缩写为AI,是一种由人制造出来的机器,该机器可以模仿人的思想和行为,从而体现出一种智能的反应。 人工智能的产业链分为基础层、技术层、应用层三个层次。 基础层包括:芯片、大数据、算法系统、网络等多项基础…

基于Tkinter和OpenCV的目标检测程序源码+权重文件,实现摄像头和视频文件的实时目标检测采用YOLOv8模型进行目标检测

基于Tkinter和OpenCV的目标检测程序源码权重文件,实现摄像头和视频文件的实时目标检测采用YOLOv8模型进行目标检测 项目描述 本项目是一个基于Tkinter和OpenCV的目标检测应用程序,实现了摄像头和视频文件的实时目标检测。通过YOLOv8模型进行目标检测&a…

ShuffleNet V1+V2(pytorch)

V1 V1根本思想: 1.GConv替换resnet的普通1*1Conv 2.GConv后加channel shuffle模块 对GConv的不同组进行重新组合。channel_shuffle a是resnet模块,b,c是ShuffleNetV1的block,在V1版中,两模块branch2的第一个1*1卷积…

JavaScript 事件冒泡与捕获机制 --- 带动态图理解

&#xff08;1&#xff09;.事件捕获 从根元素往上传递 --- ---&#xff08;由外到内&#xff09; &#xff08;2&#xff09;.事件冒泡 从元素传递到它的根源素 --- --- &#xff08;由内到外&#xff09; 代码&#xff1a; <!DOCTYPE html> <html lang"en&q…

在 Windows 11/10 上恢复已删除文本文件的 4 种方法

您是否不小心从桌面上删除了文本文件&#xff1f;不用担心。您可以在 Windows 上恢复已删除的文本文件&#xff01; 对于那些有大量工作要做的人来说&#xff0c;便利贴无疑是一种福音。便利贴能够立即记下任何内容并使其可见&#xff0c;而不会占用太多屏幕空间&#xff0c;因…

vue写了这么久了您是否知道:为什么data属性是一个函数而不是一个对象?

一、实例和组件定义data的区别 vue实例的时候定义data属性既可以是一个对象&#xff0c;也可以是一个函数 const app new Vue({el:"#app",// 对象格式data:{foo:"foo"},// 函数格式data(){return {foo:"foo"}} })组件中定义data属性&#xff…

Vue 项目关于在生产环境下调试

前言 开发项目时&#xff0c;在本地调试没问题&#xff0c;但是部署到生产会遇到一些很奇怪的问题&#xff0c;本地又没法调&#xff0c;就需要在生产环境/域名下进行调试。 在这里介绍一个插件Vue force dev ,浏览器扩展里下载 即便是设置了Vue.config.devtoolsfalse 只要安…

【Spark面试】Spark面试题答案

目录 1、spark的有几种部署模式&#xff0c;每种模式特点&#xff1f;&#xff08;☆☆☆☆☆&#xff09; 2、Spark为什么比MapReduce块&#xff1f;&#xff08;☆☆☆☆☆&#xff09; 3、简单说一下hadoop和spark的shuffle相同和差异&#xff1f;&#xff08;☆☆☆☆☆…

音视频技术开发周刊 | 324

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 467亿参数MoE追平GPT-3.5&#xff01;爆火开源Mixtral模型细节首公开&#xff0c;中杯逼近GPT-4 今天&#xff0c;Mistral AI公布了Mixtral 8x7B的技术细节&#xff0c;不…

为开发者设计的幻灯片演示工具Slidev

什么是 Slidev &#xff1f; Slidev 是专为程序员打造的演示文稿工具。该项目是基于 Web 的幻灯片制作和演示工具&#xff0c;让用户可以使用 纯文本 Markdown 语法制作幻灯片&#xff0c;支持导出为 PDF 或 PNG 格式的文件&#xff0c;或以单页面展示幻灯片。对于大多数不擅长…

如何使用ArcGIS Pro裁剪影像

对影像进行裁剪是一项比较常规的操作&#xff0c;因为到手的影像可能是多种范围&#xff0c;需要根据自己需求进行裁剪&#xff0c;这里为大家介绍一下ArcGIS Pro中裁剪的方法&#xff0c;希望能对你有所帮助。 数据来源 本教程所使用的数据是从水经微图中下载的影像和行政区…

C语言—小小圣诞树

这个代码会询问用户输入圣诞树的高度&#xff0c;然后根据输入的高度在控制台上显示相应高度的圣诞树。 #include <stdio.h>int main() {int height, spaces, stars;printf("请输入圣诞树的高度: ");scanf("%d", &height);spaces height - 1;st…

Postman介绍和快速使用

Postman 是什么&#xff1f; Postman 是一个流行的API&#xff08;Application Programming Interface&#xff09;开发工具&#xff0c;它使得开发者可以很容易地创建、测试、共享和文档化API。Postman 提供了一个友好的用户界面&#xff0c;来发送HTTP请求&#xff0c;接收响…