Mysql8.0安装以及递归表达式使用

2024-09-05 08:36

本文主要是介绍Mysql8.0安装以及递归表达式使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

mysql安装

以centos7为例安装!

安装wget

yum install wget -y

给CentOS添加rpm源,并且选择较新的源

官网地址

wget dev.mysql.com/get/mysql84-community-release-el7-1.noarch.rpm
e67b28ebdbb9b107b477e83601c3070e.png

下载安装的rpm源文件

yum install mysql84-community-release-el7-1.noarch.rpm -y

使用yum安装mysql

yum install mysql-community-server -y

mysql相关的设置

启动服务以及开机自启

#启动mysql服务
service mysqld start
#设置mysql开机启动
chkconfig mysqld on

修改密码

变量名
validate_password.changed_characters_percentage0
validate_password.check_user_nameon
validate_password.length8
validate_password.mixed_case_count1
validate_password.number_count1
validate_password.policyMEDIUM
validate_password.special_char_count1
##查看临时密码
grep "password" /var/log/mysqld.log
## 临时密码登录
mysql -uroot -p
##修改密码策略和密码
set global validate_password.policy=LOW;
set global validate_password.length=1;
set global validate_password.special_char_count=0;
set global validate_password.mixed_case_count=0 ;
set global validate_password.number_count =0;ALTER USER 'root'@'localhost' IDENTIFIED BY 'rootA@123456';

授权 8.0有区别

#创建用户
create user 'echo'@'%' identified by '123456';
# 授权
grant all privileges on *.* to 'echo'@'%' with grant option;
# 刷新权限
FLUSH PRIVILEGES;

递归表达式ETC

递归表达式是一种特殊的子查询,它能够引用其本身的查询结果。它包含两部分

SELECT ...      -- return initial row set
UNION ALL
SELECT ...      -- return additional row sets

例如:

WITH RECURSIVE cte (n) AS
(SELECT 1UNION ALLSELECT n + 1 FROM cte WHERE n < 5
)
SELECT * FROM cte;
e10c8802604f3357121402e6adef8eae.png

典型应用

斐波那契数列

WITH RECURSIVE fibonacci (n, fib_n, next_fib_n) AS
(SELECT 1, 0, 1UNION ALLSELECT n + 1, next_fib_n, fib_n + next_fib_nFROM fibonacci WHERE n < 10
)
SELECT * FROM fibonacci;
4b38d671fc1a1f1e8cd9ed967c0c4110.png

时间序列生成

WITH RECURSIVE dates (date) AS
(SELECT MIN(date) FROM salesUNION ALLSELECT date + INTERVAL 1 DAY FROM datesWHERE date + INTERVAL 1 DAY <= (SELECT MAX(date) FROM sales)
)
SELECT * FROM dates;

层次结构遍历

以评论回复为例

WITH RECURSIVE CommentHierarchy AS (SELECT c.comment_id,c.post_id,c.user_id,c.parent_id,c.content,c.created_at,c.updated_at,0 AS levelsFROM Comments cWHERE c.parent_id IS NULLUNION ALLSELECT c.comment_id,c.post_id,c.user_id,c.parent_id,CONCAT(ch.content,'->',c.content) content,c.created_at,c.updated_at,ch.levels + 1 AS levelsFROM Comments cINNER JOIN CommentHierarchy ch ON c.parent_id = ch.comment_id
)
SELECT * FROM CommentHierarchy ORDER BY post_id, levels, created_at;
ca3619e0e45071daec89d1cfa6aef6e4.png

往期推荐

一文带你springai+ollama实现chat

大型语言模型(Large Language Model, LLM)了解一下?

常用的JVM参数与命令你知道吗?

推荐两款程序员高效工作神器

Git命令基操必须要会!

非常nice! IDEA远程Debug调试程序

DataX二次开发之达梦数据库插件


这篇关于Mysql8.0安装以及递归表达式使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138461

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

SQL中的外键约束

外键约束用于表示两张表中的指标连接关系。外键约束的作用主要有以下三点: 1.确保子表中的某个字段(外键)只能引用父表中的有效记录2.主表中的列被删除时,子表中的关联列也会被删除3.主表中的列更新时,子表中的关联元素也会被更新 子表中的元素指向主表 以下是一个外键约束的实例展示

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

如何去写一手好SQL

MySQL性能 最大数据量 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。 《阿里巴巴Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐分库分表。性能由综合因素决定,抛开业务复杂度,影响程度依次是硬件配置、MySQL配置、数据表设计、索引优化。500万这个值仅供参考,并非铁律。 博主曾经操作过超过4亿行数据

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数