Mysql优化
@ 叱月 | 2021-04-27T19:20:57+08:00 | 3 分钟阅读 | 更新于 2021-04-27T19:20:57+08:00

Mysql索引优化

Mysql的学习

1、什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2、Mysql5.7.32安装

搜狐下载地址

  1. 解压:
tar xvf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar -C ../software/Mysql

安装之前使用以下命令检查系统之前是否存在Mysql或者Maridb-lib的软件包。

rpm -qa | grep maridb

如果有使用yum remove或者rpm -e [软件包名称]--nodes后加软件包名称

解压之后有十个RPM软件包,使用以下命令进行安装。

rpm -ivh mysql-*

  1. 报错的解决方法:(CSDN安装步骤
  • 2.1提示:perl(JSON) is needed by mysql-community-test-5.7.32-1.el7.x86_64:
yum install -y perl-JSON.noarch
yum install -y perl.x86_64 perl-devel.x86_64
  • 2.2 libnuma.so.1()(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64 libnuma.so.1(libnuma_1.1)(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64 libnuma.so.1(libnuma_1.2)(64bit) is needed by mysql-community-server-8.0.13-1.el7.x86_64
yum install numactl -y
  • 2.3

pkgconfig(openssl) is needed by mysql-community-devel-8.0.13-1.el7.x86_64

yum install openssl-devel.x86_64 openssl.x86_64 -y
  • 2.4 perl(Data::Dumper) is needed by mysql-community-test-8.0.13-1.el7.x86_64
yum -y install autoconf

解决报错的问题之后再使用rpm -ivh mysql-*进行安装。

  • 2.5

mysql-community-client-5.7.32-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

rpm -ivh mysql-community-client-5.7.32-1.el7.x86_64.rpm --force --nodeps
  1. 安装完成之后的配置:
  • 初始化数据库:
mysqld --initialize --console  
  • 启动mysql的服务:
systemctl start mysqld
  • 查看mysql服务的运行状态:
systemctl status mysqld
  • 获取mysql的初始密码(复制一下,待会登陆要用):
cat /var/log/mysqld.log | grep password
  • 测试是否正常登陆mysql数据库
mysql -u root -p

​ 粘贴刚才复制的初始Mysql密码。

  • 更改初始Mysql密码
ALTER USER 用户名@主机名 identified by "密码"
alter user root@localhost identified by "Xyt19981120.+";
  • 授权远程登陆之后记得刷新权限,并且确定防火墙开启3306端口。
grant all privileges on *.* to 'root'@'%' identified by 'Xyt19981120.+' with grant option;
flush privileges;
  • 关闭远程登陆的权限将%改为本地(localhost)

补充

​ 由于Mysql本身有密码策略,在学习时可改变其策略防止因简单密码而报错。

set global validate_password_policy=0;//满足密码长度即可

set global validate_password_length=6;//最低密码长度为6

set global validate_password_policy=0;
set global validate_password_length=4;

3. 索引

3.1

索引的概述

MYSQL官方对索引的定义为:索引(index)是帮助Mysql高级获取数据的数据结构(有序)。在数据之外,数据库系统还维护着,满足特定查找算法的数据结构,这些结构以某种当时引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。

索引的意图如下:

索引图

show databases;

查看


–持续更新中……

© 2021 叱月的小冰窖

avatar
关于我

叱月❤️的 ❤️ 博客

记录一些技术上的事

一名大四学生🕯️

马上毕业于青岛理工大学琴岛学院

– 2021 年 07 月 2 日更新

社交链接