MySQL03

openEuler 22.03 部署 MySQL 5.7:从 RPM 安装到生产环境安全加固 本文详细介绍了在openEuler 22.03系统上通过RPM安装MySQL 5.7的完整流程,包括环境准备、Mariadb清理、Yum源配置、服务启动及生产环境安全加固。重点讲解了安全向导运行、关键参数优化、性能调优和备份策略实施,帮助用户快速部署并确保数据库安全稳定运行。 阅读详情

存储引擎

1.mysql存储引擎
1.InnoDB
2.myIsam
3.Memory
4.Merge
2.查看当前默认的存储引擎
show variables like ‘default_storage_engine’
3.查看支持的存储引擎
show engines

索引

什么是索引:为了加快数据库查询速度而创建的一种存储结构,需要存储空间

创建索引

 1.创建表时创建索引:
        create table 表名(
        列名 数据类型 约束,
        index(列名) #创建表时创建索引)
    2.创建表以后创建索引
        create index 索引名称 on 表名(列名,列名)
    alter table 表名 add index 索引名(列名)
alter table 表名 add index 索引名(列名);

删除索引:drop index 索引名 on 表名

显示查看索引:show index from 表名

索引的设计原则

  1. 选择where条件列作为索引列
  2. 使用唯一索引
  3. 使用短索引
  4. 利用最左前缀。在创建一个n列的索引时,实际是创建了MySQL可利用的n个索引。多列索引可起几个索引的作用,因为可利用索引中最左边的列集来匹配行。这样的行集称为最左前缀。
  5. 尽量手工指定主键,主键本身就是唯一索引

索引的使用误区

  1. 不是所有的表都必须创建索引
  2. 不要过度索引
  3. 谨慎创建低选择度的索引

索引的使用步骤

1、整理表上的所有SQL,重点包括select、update、delete操作的where条件所用到的列的组合、关联查询的关联条件等;
2、整理所有查询SQL的预期执行频率;
3、整理所有涉及的列的选择度,列的不同值相比总非空行数的比例较大,选择度越好,比如全部都是唯一值的主键列选择度最高;
4、遵照之前提到的设计原则,给表选择合适的主键;
5、优先给那些执行频率最高的SQL创建索引,执行频率很高的SQL,使用到的索引的效率对整体性能影响也会很大,选择其中选择度最高的列创建索引,如果选择度都不够好,那么应该考虑是否可以使用其他选择度更好的条件,或者选择创建联合索引;
6、按执行频率排序,依次检查是否需要为每个SQL创建索引;
7、索引合并,利用复合索引来降低索引的总数,充分利用最左前缀的原则;
8、上线之后,通过慢查询分析、执行计划分析、索引使用统计,来确定索引的实际使用情况。

Btree和Hash

  1. Btree索引对于范围查询有效,Hash索引对于范围失效,走的是全表扫描
  2. 对于精确查询where id = 10 Hash索引有效 Btree有效 Hash效率高

不可见索引

索引对于查询分析器不可见,但是存在
对于分析移除该索引的查询分析有用

创建不可见索引

create table t1(
i int,
j int,
index i_idx(i) invisible #创建不可见索引
);
alter table t1 add column k int;
#创建不可见索引
create index j_idx on t1(j) invisible;
#创建不可见索引
alter table t1 add index k_idx(k) invisible;
show index from t1;
show index from t1;

切换可见性

#修改已经存在的索引的可见性
alter table t1 alter index i_idx visible;

倒序索引

Descending index 倒序索引,正序索引的反向
1.创建表

		create table t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc))

2.查看建表语句

		show create table t1;

案例

1.创建表person:id,name,age,birthday
2.写一个存储过程p_person
(1)接收v_name,v_age,v_birthday
(2)使用insert插入数据库中
3.创建存储过程person_count
(1)接收v_name
(2)使用模糊查询like查询v_name的个数,放到输出参数显示

答案

创建表
create table person(
id int primary key auto_increment,
name varchar(20),
age int,
birthday date
)

在这里插入图片描述

在这里插入图片描述

CREATE DEFINER=`root`@`localhost` PROCEDURE `p_person`(IN `v_name` varchar(20),IN `v_age` int,IN `v_birthday` date)
BEGIN
	insert into person (name,age,birthday) values(v_name,v_age,v_birthday);
END

在这里插入图片描述

CREATE DEFINER=`root`@`localhost` PROCEDURE `p_count`(IN `v_name` varchar(20),out v_count int)
BEGIN
	select count(*) from person where name like concat('%',v_name,'%');
END

视图

  1. 视图存储的是sql语句
  2. 创建视图的语法:create view 视图名 as select * from 表名
  3. 修改视图的语法是:alter view 视图名 as select * from 表名
  4. 删除视图的语法是:drop view 视图名;

存储过程

实现编译存储在数据库的sql组合

  1. 创建语法:create procedure 名称(参数)
    Begin
    语句
    End
  2. 查看存储过程
    语法
    show create PROCEDURE 名称
    例子
    show create PROCEDURE p_users
    删除存储过程
    语法
    Drop Procedure 存储过程名
    例子
    drop PROCEDURE p_users

游标

声明游标
Declare cursor_name cursor for select语句
打开游标
Open 游标名
抓取数据
Fetch 游标名 into 变量名
关闭游标
Close 游标名

函数

#创建函数之前需要设置为1,否则会报错
show variables  like  'log_bin_trust_function_creators';
set  global log_bin_trust_function_creators = 1 ;
CREATE DEFINER=`root`@`localhost` FUNCTION `f_person_count`(`v_name` varchar(30)) RETURNS int(11)
		BEGIN
			DECLARE n int;
			SELECT count(*) into n from person where name like CONCAT('%',v_name,'%');
			RETURN n;
		END

触发器

	CREATE TRIGGER `trg_users_insert` AFTER INSERT ON `users` FOR EACH ROW begin
		update number set num=(select count(*) from users);
	end;
欧拉22.03系统下MySQL5.7.44的二进制安装与systemd服务配置教程 本文详细介绍了在欧拉(openEuler)22.03 LTS系统上,通过官方二进制包部署MySQL 5.7.44数据库的完整流程。内容涵盖从环境准备、软件包获取与验证、系统用户权限配置、生产级my.cnf文件定制,到数据目录初始化、安全加固,并重点讲解了如何创建和配置systemd服务单元文件以实现服务的可靠管理与开机自启。本教程旨在为国产化环境迁移及追求标准化部署的运维人员提供一套经过验证的实践方案。 阅读详情

相关推荐

03 mysql 连接

详细介绍了如何通过命令行和图形化工具连接MySQL数据库。命令行方式包括使用root用户和其他用户连接本地及远程数据库,具体步骤包括修改快捷方式属性、输入命令格式等。图形化工具部分介绍了MySQL Workbench和Navicat的使用方法,包括创建新连接、测试连接、输入SQL命令等操作。无论是命令行还是图形化工具,都提供了详细的步骤和截图,帮助用户轻松连接和管理MySQL数据库。

水滴爬呀爬 1696

一课一得:SQL 视图与索引的学习总结

封装复杂查询、简化复用、统一数据逻辑;加速查询,但需权衡写入性能(避免过度创建);实践技巧:创建视图前先测试基础SELECT语句,确保结果正确;创建索引后用EXPLAIN验证生效情况。

2401_89624382的博客 360

欧拉(Euler 22.03)安装安装MySQL5.7.44

【代码】欧拉(Euler22.03)安装安装MySQL5.7.44。

xiao_yan_的博客 1185

plsql oracle加索引,Oracle_索引_plsql基础

索引:它可以提高数据的访问效率,增加对数据读取的速度。类似于查字典时用的目录。如果字段被加入了主键或唯一约束,那么该字段会自动加入索引。创建索引:create index 索引名 on 表名(列名)删除索引:drop index 索引名SQL语句优化的一些基本原则:要根据实际情况考虑是否加入索引在查询和使用统计函数时,不使用*,而是使用查询的字段或统计的字段。尽量不使用 in is null ...

weixin_35843812的博客 855

62 openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库

openEuler 22.03-LTS 搭建MySQL数据库服务器-管理数据库;包含创建数据库及示例、查看数据库及示例、 选择数据库及示例、删除数据库及示例、备份数据库及示例、恢复数据库及示例。

超哥的博客 1215

【随机过程】 3 - 随机过程的频域分析1 - 功率谱

随机过程的频域分析 文章目录随机过程的频域分析1. 什么是谱2. 确定信号的频谱2.1 周期信号的频谱2.2 非周期信号的频谱3. 随机信号的谱3.1 随机信号做傅里叶分析的困难3.2 功率谱密度的物理和数学表示形式3.2.1 功率谱密度的物理表示3.2.2 功率谱密度的数学表示3.3 功率谱密度的解读3.3.1 量纲分析3.3.2 谱3.3.3 密度3.3.4 wiener和khinchin3.4 功率谱密度的性质3.4.1 非线性3.4.2 偶函数3.5 wiener-khinchin关系的应用3.6

qq_41741344的博客 3133

openEuler24.03 LTS下安装MySQL8

openEuler24.03 LTS下安装MySQL8

大头皮鞋的博客 1998

FPGA笔试题知识点汇总(21~40)

FPGA笔试题知识点汇总(21~40)

weixin_52487896的博客 5884

MySQL基础03

MySQL基础03

qq_34574883的博客 232

全国各省份影像下载地址(11级别)

cesium中使用urltemplate加载,leaflet中使用tile加载,具体加载有问题可以给我留言。

资深三维GIS开发 5153

Neurocomputing 投稿指南

Generation Information:选择论文所属领域。上传附件(利益声明,手稿,摘要)审稿人偏好:可以选择期待的审稿人。

qq_41174671的博客 2万+

欧拉22.03编译安装mysql-5.7.44版本

DMYSQL_UNIX_ADDR=/tmp/mysql.sock:设置 Unix socket 文件的路径为 /tmp/mysql.sock。-DCMAKE_INSTALL_PREFIX=/usr/local/mysql:设置安装目录为 /usr/local/mysql。-DMYSQL_DATADIR=/data/mysql:设置 MySQL 数据库文件的存储目录为 /data/mysql。vi /etc/my.cnf ----这个配置文件主要看前面编译的时候,指定的目录是哪个。

chenxingrong的博客 1628

生信入门第七课:使用FastQC软件进行测序原始fastq数据质控

从实验到数据:RNA定量、文库片段长度、fastqc质控和fastp去接头

微生信 492

Mysql整理笔记03

Mysql整理笔记03

xlshi1996的博客 121

DeepSeek提示词实战:从零到百的AI角色扮演指南(附100+场景模板)

本文提供了一份详尽的DeepSeek提示词实战指南,重点讲解AI角色扮演的核心技巧。通过“角色扮演四要素法”和五大核心场景模板,帮助用户从零开始掌握如何设计高质量提示词,有效提升AI输出的深度与精度,并附赠100+实用场景模板供参考。

weixin_29305337的博客 583

Jenkins测试详细使用教程(二):jenkins两种主要构建方法

Jenkins有两种定义构建作业的主要方法:(自由风格项目)和Pipeline(流水线项目)。

m0_62825058的博客 2435

OpenEuler 24.03 安装MySQL8.0 记录

z系统安装 | openEuler文档 | openEuler社区 | v24.03_LTS_SP1系统安装 发布件 openEuler发布件包括ISO发布包、虚拟机镜像、容器镜像、嵌入式镜像和repo源。

枯岭觉的博客 1885

微信对话开放平台智能对话模块的几个亮点

微信AI首席科学家牛成公布了最新开放方案,并重磅宣布全面开放各层次 NLP 能力。具体说来,微信 AI 迈出了“三大步”: 以硬件合作为核心的智言小微硬件开放平台 2.0 正式亮相; 公开以对话开放能力为核心的微信对话开放平台; 全面开放以自然语言处理能力为核心的 NLP 基础技术平台。 参考:微信9年:张小龙指明方向,微信AI全面开放NLP能力 今天公开课上隆重介绍了...

素质云笔记 1万+

openEuler-22.03安装 mysql8.0.32

缺少 libcrypto.so.10库文件,安装openssl可以解决。mysql启动成功,但是查看版本提示异常。还是按之前的安装方法。接下来进行下一步操作。

lanren312的博客 2958

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

OpenEuler24.03安装MySQL8.4

OpenEuler24.03安装MySQL8.4

shisjin的博客 1526

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

openEuler20.03 dnf 安装 MySQL 5.7 4个核心包

mysql5.7

hxsln11的博客 902

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

华为欧拉openEuler24.03环境下MySQL8.4高效部署指南

本文提供在华为欧拉openEuler24.03系统上高效部署MySQL8.4的完整指南。通过系统更新、依赖安装、配置官方Yum仓库进行在线安装,并详细说明了服务初始化、安全设置、防火墙配置及基础优化步骤,帮助用户快速搭建稳定可靠的数据库环境。

yog99的博客 465

openEuler 22.03 安装 Mysql 5.7,TAR离线安装

openEuler 22.03 安装 Mysql 5.7,TAR离线安装

m0_37048012的博客 2513

华为欧拉openEuler24.03在线安装MySQL8.4

超级用户的密码已设置并存储在错误日志文件中。–add-port=1935/tcp #添加端口,格式为:端口/通讯协议。–permanent #永久生效,没有此参数重启后失效。SSL 证书和密钥文件在数据目录中生成。创建了一个超级用户帐户。–zone #作用域。

桃李不言下自成蹊 1万+

使用ETL工具Sqoop,将MySQL数据库db03中的10张表的表结构和数据导入(同步)到大数据平台的Hive中

创建用户sqoop03:grant all on *.* to sqoop03@'%' identified by '123456';使用ETL工具Sqoop,将MySQL数据库db03中的10张表的表结构和数据导入(同步)到大数据平台的Hive中。在数据库db03中创建10张表,表名和字段可以自定义,每张表的数据不少于5行。在MySQL中,创建一个用户,用户名为sqoop03,密码为:123456。登陆MySQL的sqoop03用户,创建一张数据库,数据库的名称为db03。

qq_58476985的博客 1108

openEuler24.03 LTS下安装MySQL8.0.42

openEuler24.03 LTS下安装MySQL8.0.42,使用yum命令方式安装简单直接。

大头皮鞋的博客 4643
上一篇: MySQL02
下一篇: 前端01
香鱼嫩虾
博客等级 码龄7年 1671粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香鱼嫩虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值