分类目录归档:数据库

MySQL管理


MySQL 管理

1 系统数据库

Mysql 数据库安装完成后,自带了一下四个数据库,具体作用如下:

数据库 含义
mysql 存储 MySQL 服务器正常运行所需要的各种信息 (时区、主从、用 户、权限等)
information_schema 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类 型及访问权限等
performance_schema 为 MySQL 服务器运行时状态提供了一个底层监控功能,主要用于收集 数据库服务器性能参数
sys 包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和...

Read more

MySQL优化


SQL 优化

1.插入数据

  • 批量插入数据
insert into table values(col1,col2),(col1,col2);
  • 手动控制事务
start transaction;
...
commit
  • 主键顺序插入
1,2,3,4,5,78,99
  • 大批量插入
-- 客户端连接服务端时,加上参数 -–local-infile
mysql –-local-infile -u root -p

-- 设置全局参数local_infile为1,开启从本地加载文件导入数据的开关
set global local_infile = 1;

-- 执行load指...

Read more

MongoDB安全与权限管理


四、MongoDB安全与权限管理

通常为了保证数据安全性,Redis、MySQL、MQ、ES……,通常都会配置账号/密码,一来可以提高安全等级,二来还可以针对不同库、操作设置权限,极大程度上降低了数据的安全风险。同样,在MongoDB中也支持创建账号、密码,以及分配权限,并且还支持角色的概念,可以先为角色分配权限,再为用户绑定角色,从而节省大量重复的权限分配工作。

同时,MongoDB中还内置了大量常用角色,方便于咱们快速分配权限,不过并没有默认的账号,所以想要启用MongoDB的访问控制,还需要先创建一个账号:

// 切换到admin数据库
use admin;
// 创建一个用户,并...

Read more

MongoDB索引机制


三、MongoDB索引机制

任何数据库都有索引这一核心功能,MongoDB自然不例外,而且MongoDB在索引方面特别完善,毕竟作为数据库领域的后起之秀,它集百家之长,将“借鉴”这一思想发挥到了极致,先来看看MongoDB索引的概念词:

单列索引、组合索引、唯一索引、全文索引、哈希索引、空间(地理位置)索引、稀疏索引、TTL索引……

怎么样?相信看过MySQL索引这篇文章的小伙伴一定眼熟,其中的索引名词和MySQL十分相似,接下来咱们挨个接触一下,当然,这里也先给出官方文档地址:MongoDB索引机制。

PS:早版本的MongoDB中,索引底层默认使用B-Tree结构,而4.x版本...

Read more

MongoDB数据操作


二、MongoDB渐悉

下次再次从CRUD操作开始,对MongoDB的命令建立全面认知,先来看看新增/插入操作。

2.1、新增操作

MongoDB中提供了三个显式向集合插入数据的方法:

// 向集合插入单条或多条数据(需要用[]来包裹多个文档)
db.xiong_mao.insert([
{_id:4,name:"黑熊",age:3,food:{name:"黄金竹",grade:"S"}},
{_id:5,name:"白熊",age:4,food:{name:"翠绿竹",grade:&qu...

Read more

MongoDB简介与安装


MongoDB

引言

在早期的程序开发过程中,单体+MySQL足以应对业务需求,可随着业务不断发展,系统架构演变成分布式,而数据存储的需求亦是多样化,单纯依赖于MySQL或其他某一款关系型数据库,再也难以支撑系统的存储需求,于是,现如今一个复杂系统中,可能会牵扯到MySQL、Redis、ES、MongoDB、FastDFS、CDH……多种数据存储产品,根据不同的业务特性、响应要求,会将数据存储在不同组件中以满足系统需要。

MongoDB是数据库家族中的一员,是一款专为扩展性、高性能和高可用而设计的数据库,它可以从单节点部署扩展到大型、复杂的多数据中心架构,也能提供高性能的数据读写操作;而...

Read more

MySQL存储引擎


MySQL存储引擎

1.存储引擎

存储引擎就是存储数据、建立索引、更新、查询数据等技术的实现方式。

1.1 MySQL 体系结构

MySQL体系结构

image-20240829092301203

连接层

主要完成一些类似于连接处理、授权认证、及相关的安全方案。

服务层

主要完成大多数的核心服务功能,如 SQL 接口,并完成缓存的查询,SQL 的分析和优化,是否使用索引,部分内置函数的执行。

引擎层

存储引擎真正的负责了 MySQL 中数据的存储和提取,服务器通过 API 和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需要,来选取合适的存储引擎。数据库中的索引是在存储引擎层实现的

存储层

主要是将数据 (如...

Read more

MySQL事务


MySQL事务

事务简介

事务是一组操作集合,他是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

图片

图片

图片

图片

注意:

MySQL的事务默认自动提交的,也就是说,当执行完一条DML语句时,MySQL会立即隐式提交事务。

事务操作

数据准备

drop table if exists account;
create table account(
    id int primary key AUTO_INCREMENT comment 'ID',
    name varchar(10) comment &...

Read more

MySQL高可用架构


MySQL高可用架构

图片

前言

对于 MySQL 数据库作为各个业务系统的存储介质,在系统中承担着非常重要的职责,如果数据库崩了,那么对于读和写数据库的操作都会受到影响。如果不能迅速恢复,对业务的影响是非常大的。这次我们来学习MySQL 双主 + Keepalived 的高可用落地和踩坑之路。

一、方案选择

对于 MySQL 的高可用,主要分为两步,配置 MySQL 主主模式和 keepalived 软件。拓扑图如下所示:

图片

MySQL 数据库的主主模式

两个数据库分别部署在两台服务器上,相互同步数据,但是只有一个提供给外部访问,当一个宕机后,另外一个可以继续提供服务,在没有 keepal...

Read more

使用ProxySql实现MySQL的读写分离


ProxySQL简介

1、ProxySQL是一款开源的使用C++编写的MySQL集群代理中间件;

2、用于在MySQL数据库和客户端之间进行负载均衡、查询缓存、故障转移和查询分发;

3、它可以作为中间层插入到应用程序和数据库之间;

4、特点是高效灵活,使用简单,并且性能是所有中间件中比较优秀的。

5、在搭建好mysql的主从复制后,可以利用ProxySQL实现mysql数据库的读写分离;

主要功能

ProxySQL主要支持MySQL的主从集群和组复制集群,其主要功能有以下几个:

1、代理服务:代理后端MySQL服务,进行相关指标的监控

2、负载均衡:后端多节点的访问进行负载均衡

3、高可...

Read more