2、博客数据库编写 [木字楠博客]

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: ## 1、系统部分数据库### 1.1、登陆日志表```sql/******************************************//* DatabaseName = blog *//* TableName = login_log *//******************************************/CREATE TABLE `login_log` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id', `username` varchar(64)

@[toc]

1、系统部分数据库

1.1、登陆日志表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = login_log   */
/******************************************/
CREATE TABLE `login_log` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `username` varchar(64) NOT NULL DEFAULT '' COMMENT '用户名',
  `ip_address` varchar(64) NOT NULL DEFAULT '' COMMENT 'ip地址',
  `ip_source` varchar(64) NOT NULL DEFAULT '' COMMENT 'ip来源地址',
  `brower` varchar(32) NOT NULL DEFAULT '' COMMENT '浏览器',
  `os` varchar(32) NOT NULL DEFAULT '' COMMENT '操作系统',
  `login_status` tinyint NOT NULL DEFAULT '0' COMMENT '登陆状态(0->失败 1->成功)',
  `response_message` varchar(32) NOT NULL DEFAULT '' COMMENT '响应数据',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='登陆日志表'
;

1.2、操作日志表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = operate_log   */
/******************************************/
CREATE TABLE `operate_log` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `operate_url` varchar(128) NOT NULL DEFAULT '' COMMENT '操作url',
  `operate_moudle` varchar(30) NOT NULL DEFAULT '' COMMENT '操作模块',
  `operate_type` tinyint NOT NULL DEFAULT '-1' COMMENT '操作类型',
  `operate_method` varchar(256) NOT NULL DEFAULT '' COMMENT '操作方法全路径',
  `operate_description` varchar(256) NOT NULL COMMENT '操作方法描述',
  `request_type` varchar(30) NOT NULL DEFAULT '' COMMENT '请求类型',
  `request_params` longtext COMMENT '请求参数',
  `response_data` longtext COMMENT '响应数据',
  `user_id` varchar(64) NOT NULL DEFAULT '' COMMENT '用户id',
  `username` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户昵称',
  `operate_ip_address` varchar(64) NOT NULL DEFAULT '' COMMENT '操作ip地址',
  `operate_ip_source` varchar(64) NOT NULL DEFAULT '' COMMENT '操作ip来源位置',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='操作日志表';

1.3、网站配制表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = website_config   */
/******************************************/
CREATE TABLE `website_config` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `website_config` text NOT NULL COMMENT '网站配制信息',
  `website_moudle` varchar(50) NOT NULL COMMENT '网站配制模块',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '网站配制创建时间',
  `gmt_update` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '网站配制更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='网站配制表'
;

2、权限安全部分数据库

2.1、角色表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = role   */
/******************************************/
CREATE TABLE `role` (
  `id` varchar(64) NOT NULL COMMENT '角色主键id',
  `role_name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '角色名称',
  `role_label` varchar(32) NOT NULL COMMENT '角色标识',
  `role_secret` varchar(32) DEFAULT NULL COMMENT '角色秘钥',
  `order_num` int DEFAULT '1',
  `is_disabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否禁用 (0 正常  1禁用)',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色表信息'
;

2.2、菜单表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = menu   */
/******************************************/
CREATE TABLE `menu` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单主键id',
  `name` varchar(32) DEFAULT NULL COMMENT '菜单名称',
  `path` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '#' COMMENT '菜单路由',
  `component` varchar(64) NOT NULL DEFAULT '#' COMMENT '菜单组件',
  `icon` varchar(32) NOT NULL DEFAULT '#' COMMENT '菜单图标',
  `menu_type` varchar(1) DEFAULT NULL COMMENT '菜单类型(菜单 M   目录 C  按钮 B)',
  `perm` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '#',
  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父菜单id',
  `order_num` int DEFAULT NULL COMMENT '菜单排序',
  `is_hidden` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否隐藏(0 不隐藏   1 隐藏)',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除 (0 正常  1 删除)',
  `gmt_create` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '菜单更新时间',
  `remark` varchar(100) DEFAULT NULL COMMENT '注释信息',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='菜单表'
;

2.3、菜单角色关联表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = role_menu   */
/******************************************/
CREATE TABLE `role_menu` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '关联主键id',
  `role_id` varchar(64) NOT NULL COMMENT '角色id',
  `menu_id` bigint NOT NULL COMMENT '菜单id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=262 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='角色菜单关联表'
;

2.4、用户权限表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = user_auth   */
/******************************************/
CREATE TABLE `user_auth` (
  `id` varchar(64) NOT NULL COMMENT '用户主键',
  `username` varchar(128) NOT NULL COMMENT '用户名/OpenId',
  `password` varchar(64) DEFAULT NULL COMMENT '用户密码',
  `user_info_id` bigint NOT NULL COMMENT '用户信息id',
  `user_role_id` varchar(64) NOT NULL COMMENT '用户角色id',
  `login_type` tinyint(1) DEFAULT NULL COMMENT '用户登录方式(1 用户名  2 邮箱  3 QQ  4 微信)',
  `email_login` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否开启邮箱登录(0 否  1是)',
  `is_disabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否禁用(0 正常  1禁用)',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除(0 正常  1 禁用)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户权限表'
;

2.5、用户信息表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = user_info   */
/******************************************/
CREATE TABLE `user_info` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户信息主键',
  `nickname` varchar(32) NOT NULL COMMENT '用户名',
  `avatar` varchar(1024) DEFAULT NULL COMMENT '用户头像',
  `gender` tinyint(1) NOT NULL DEFAULT '-1' COMMENT '用户性别(-1 未知  0 仙女  1帅哥)',
  `email` varchar(64) DEFAULT NULL COMMENT '用户邮箱',
  `person_intro` varchar(500) DEFAULT NULL COMMENT '用户个人简介',
  `ip_address` varchar(64) DEFAULT NULL COMMENT 'ip地址',
  `ip_source` varchar(64) DEFAULT NULL COMMENT 'ip来源地',
  `gmt_create` datetime DEFAULT NULL COMMENT '用户创建时间',
  `gmt_update` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '用户信息更新时间',
  `last_login_time` datetime DEFAULT NULL COMMENT '用户最近一次登录时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户信息表'
;

3、博客部分数据库

3.1、 文章表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = article   */
/******************************************/
CREATE TABLE `article` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '文章主键',
  `article_title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文章标题',
  `article_cover` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '文章首图',
  `article_intro` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章简介',
  `article_content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '文章内容',
  `category_id` bigint NOT NULL DEFAULT '-1' COMMENT '文章分类',
  `article_status` tinyint NOT NULL DEFAULT '1' COMMENT '文章状态(1 草稿  2 发布  3 私密 4 评论可见  5付费文章)',
  `article_type` tinyint NOT NULL DEFAULT '1' COMMENT '文章类型(1 原创  2 转载  3 翻译)',
  `original_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '原文链接',
  `is_pass` tinyint NOT NULL DEFAULT '0' COMMENT '是否通过审核(-1 未通过 0 待审核 1已通过)',
  `is_top` tinyint NOT NULL COMMENT '文章是否置顶(0 否    1 是)',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除(0 正常 1删除)',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='文章表'
;

3.2、标签表


/******************************************/
/*   DatabaseName = blog   */
/*   TableName = tag   */
/******************************************/
CREATE TABLE `tag` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '标签主键',
  `tag_name` varchar(32) NOT NULL DEFAULT '' COMMENT '标签名称',
  `tag_intro` varchar(128) NOT NULL DEFAULT '' COMMENT '标签简介',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='标签表'
;

3.3、文章标签关联表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = article_tag   */
/******************************************/
CREATE TABLE `article_tag` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '关联表id',
  `article_id` bigint NOT NULL COMMENT '文章id',
  `tag_id` bigint NOT NULL COMMENT '标签id',
  `is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb3 COMMENT='文章标签关联表'
;

3.4、分类表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = category   */
/******************************************/
CREATE TABLE `category` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '分类主键',
  `category_name` varchar(32) NOT NULL DEFAULT '' COMMENT '分类名称',
  `category_intro` varchar(128) NOT NULL DEFAULT '' COMMENT '分类简介',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='分类表'
;

3.5、文章浏览关联表

/******************************************/
/*   DatabaseName = blog   */
/*   TableName = article_view   */
/******************************************/
CREATE TABLE `article_view` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `article_id` bigint NOT NULL DEFAULT '-1' COMMENT '文章id',
  `view_count` bigint NOT NULL DEFAULT '0' COMMENT '浏览量',
  `rank_count` bigint NOT NULL DEFAULT '0' COMMENT '点赞量',
  `comment_count` bigint NOT NULL DEFAULT '0' COMMENT '评论数量',
  `collect_count` bigint NOT NULL DEFAULT '0' COMMENT '收藏量',
  `is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_update` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb3 COMMENT='文章浏览数据表'
;
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
MySQL数据库基础练习系列14、博客后台管理系统
MySQL数据库基础练习系列14、博客后台管理系统
35 1
|
5月前
|
JavaScript Java 关系型数据库
博客|基于Springboot的个人博客系统设计与实现(源码+数据库+文档)
博客|基于Springboot的个人博客系统设计与实现(源码+数据库+文档)
185 0
|
弹性计算 安全 关系型数据库
基于阿里云ECS和云数据库RDS搭建博客
对搭建博客整个心路历程进行总结
190 7
|
数据库
gin博客项目复盘--02数据库的搭建
gorm 原来的版本已经废弃,新版本进行了迁移,地址:gorm.io/。本节主要讲解新版本。
120 0
gin博客项目复盘--02数据库的搭建
|
存储 消息中间件 NoSQL
博客数据库要连接Elasticsearch,使用MySQL还是MongoDB更合理
博客数据库要连接Elasticsearch,使用MySQL还是MongoDB更合理
博客数据库要连接Elasticsearch,使用MySQL还是MongoDB更合理
|
关系型数据库 MySQL Java
3、后台数据库连接以及工具类编写 [木字楠博客]
Springboot项目引入Mysql以及MyBatisPlus等服务。
104 0
|
SQL 弹性计算 关系型数据库
【云起实验室】MySQL数据库进阶实战-基于RDS与ECS部署博客
我们的wordpress博客系统基于lnmp或lamp环境,即linux、网页服务、数据库服务、php服务组成。使用ECS和RDS我们将业务完成云上的部署,将原本all in one的架构,将数据库服务独立,部署在云数据库RDS上,其余的服务,部署在ECS云服务器上。 常规的mysql部署及sql基础是每一个运维必掌握的东西,简单的整理一下。 至于阿里云的RDS,多数以网页点击为主,个人认为网页点击配置的都不需要好好学,重要的还是掌握基础的mysql部署流程
329 0
【云起实验室】MySQL数据库进阶实战-基于RDS与ECS部署博客
|
SQL 数据库
38-博客网站数据库-博文分类信息数据操作(二)
38-博客网站数据库-博文分类信息数据操作(二)
118 0
|
SQL 数据库
37-博客网站数据库-博文分类信息数据操作(一)
37-博客网站数据库-博文分类信息数据操作(一)
232 0
|
SQL 数据库
36-博客网站数据库-博文评论信息数据操作
36-博客网站数据库-博文评论信息数据操作
158 0
下一篇
无影云桌面