MySql 数据库分区及应用

Linux 安装MySql

MySql 下载地址
在这里插入图片描述
上传文件并解压缩

tar -xvf mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm --force --nodeps

在安装过程中遇到一个坑,报错信息如下:

[root@localhost src]# rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm
警告:mysql-community-libs-5.7.35-1.el7.x86_64.rpm: 头V3 DSA/SHA256 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
	mysql-community-common(x86-64) >= 5.7.9 被 mysql-community-libs-5.7.35-1.el7.x86_64 需要
	mariadb-libs 被 mysql-community-libs-5.7.35-1.el7.x86_64 取代

根据一个网友提供的解决方案进行处理:
检测出和mariadb有冲突,我们找出系统自带的mariadb,然后强制卸载。之后便可以继续正常安装。

# 首先查询一下mariadb是哪一个包
rpm -qa |grep mariadb

# 卸载冲突的包,加一个--nodeps系统就会强转卸载
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64

确实找到了:
在这里插入图片描述
卸载完成后,重新执行下面命令:

rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.35-1.el7.x86_64.rpm --force --nodeps

安装的其余细节,参考我之前写的 MySql-5.7安装

MySql 基础部分

where条件解析顺序

  • MySQL:自左向右
  • Oralce:自右向左

SQL 执行顺序:

写了注解的重点了解

  • FROM:需要从哪个表检索数据
  • ON
  • JOIN
  • WHERE:过滤表中数据的条件
  • GROUP BY:将上面过滤出的数据分组
  • HAVING:对上面已经分组的数据进行条件过滤
  • SELECT:查询结果集中的哪个列,或列的计算结果
  • DISTINCT
  • ORDER BY:按照什么样的顺序查看返回数据
  • LIMIT

MySql 常见的存储引擎(了解)

属性 InnoDB MyISAM
事务 支持 不支持
锁粒度 表、页和行 表级锁
存储 表空间 拆分文件
隔离等级 所有
适合场景 适合频繁修改以及涉及安全性比较高的应用 适合查询以及插入为主的应用

MySql 日志类型及作用

错误日志

show variables like '%log_error%';

日志地址
/var/log/mysqld.log
在这里插入图片描述
log_warnings 为0, 表示不记录告警信息。
log_warnings 为1, 表示告警信息写入错误日志。
log_warnings 大于1, 表示各类告警信息。

查询日志

查询日志会将所有数据库的操作都会记录(general log 通用日志),消耗I/O,默认不开

show variables like '%general_log%';

在这里插入图片描述

show variables like '%slow%';

在这里插入图片描述

索引

索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。

分类

  1. 普通索引:加快数据的查询速度
  2. 唯一索引:保证数据记录的唯一性
  3. 主键:一张表只能定义一个主键索引,用来标识唯一 一条记录
  4. 联合索引

索引的优缺点:
提高查询速度,降低插入,删除,更新表的速度(执行写的同时,还要操作索引文件)

适合建立的列

  • 频繁查询的列
  • 有外键关联的列

不适合建立的列

  • 值变化少的列
  • 频繁更新的

MySQL数据库分区表应用

HASH分区

  • 根据MOD将分区键计算后分到制定表区域
  • 可以基本平均的分布
  • HASH分区键值必须是INT类型,或者通过函数转成INT
CREATE TABLE `customer_login_log` (
  `customer_id` int(10) unsigned NOT NULL COMMENT '登录用户ID',
  `login_time` datetime NOT NULL COMMENT '用户登录时间',
  `login_ip` int(10) unsigned NOT NULL COMMENT '登录IP',
  `login_type
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值