随笔分类 - 数据库(mysql、pg)
摘要:一、使用场景 1、水平分库分表 特点:将数据按行进行拆分,不同的行存储在不同的库或表中 使用场景: 1.1、 大数据量读写: - 单个表的数据量过大,导致查询、插入、更新等操作变慢。 1.2、 高并发: - 增加系统的并发处理能力,通过多库多表分担负载,减少锁竞争。 1.3、 扩展性: - 系统需要
阅读全文
摘要:一、背景 1、xtrabackup+ systemd管理 cat /etc/systemd/system/mysql_slave.service [Unit] Description=MySQL Slave Container After=docker.service Requires=docker
阅读全文
摘要:一、介绍和安装 1、 redis 什么 -数据库就是个存数据的地方:只是不同数据库数据组织,存放形式不一样 -mysql 关系型数据库(oracle,sqlserver,postgrasql) -非关系型数据(no sql):redis,mongodb,clickhouse,infludb,elas
阅读全文
摘要:一、索引 1、什么是索引 在关系数据库中,索引是一种数据结构,他将数据提前按照一定的规则进行排序和组织, 能够帮助快速定位到数据记录的数据, 加快数据库表中数据的查找和访问速度。像书籍的目录、文件夹、标签 、房号.... 都可以帮助我们快速定位,都可以视为索引。 能实现快速定位数据的一种存储结构,其
阅读全文
摘要:一、下载安装包 1、下载 地址:https://downloads.mysql.com/archives/community/ 二、解压并创建配置文件,创建数据目录 1、步骤 # 1 将下载的压缩包解压 # 2 在bin目录同级下创建一个文件,命名为my.ini # 3 在bin目录同级下创建一个文
阅读全文
摘要:一、主键与外键存在的意义 定义主键和外键主要是为了维护关系数据库的完整性,总结一下: 1、主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。 身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。不能有重复的,不允许为空 2、外键用于与另一张表的关联。是能确定
阅读全文
摘要:PostgreSQL是一种关系型数据库管理系统 (RDBMS)。这意味着它是一种用于管理存储在关系中的数据的系统。 一、准备一个测试数据库 1、docker 安装 pg docker run -d --name postgres --restart always \ -e POSTGRES_USER
阅读全文
摘要:一、高可用stolon基础概念 https://github.com/sorintlab/stolon 项目地址 Stolon是一个cloud native的PostgreSQL高可用管理工具 stolon is a cloud native PostgreSQL manager for Postg
阅读全文
摘要:一、yum安装方式 1、首先删除系统默认或之前可能安装的其他版本的mysql # for i in $(rpm -qa|grep mysql);do rpm -e $i --nodeps;done # rm -rf /var/lib/mysql && rm -rf /etc/my.cnf 2、安装M
阅读全文
摘要:一、性能分析 关系型数据库是做数据存储最重要的工具。无论是Oracale还是Mysql,都是需要通过SQL语句来和数据库进行交互的,这种交互我们通常称之为CRUD(增删改查)。 执行计划 执行计划,就是显示数据库引擎对于SQL语句的执行的详细情况,其中包含了是否使用索引,使用什么索引,使用的索引的相
阅读全文
摘要:一、字符集 一、utf8mb4和UTF-8 1、主要区别 字符范围: utf8:是 MySQL 早期实现的 UTF-8 编码,支持 3 个字节的字符编码,这意味着它不能表示 UTF-8 的完整字符集,例如某些罕见的汉字和一些 emoji 表情。 utf8mb4:是 MySQL 完整实现的 UTF-8
阅读全文
摘要:几个实例的错误分析与解决方案。 1.ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/data/mysql/mysql.sock' 问题分析:可能是数据库没有启动或者是端口被防火墙禁止。 解决方法:启动数
阅读全文
摘要:GTID全局事务标识符(Global Transaction Identifier,GTID)是MySQL5.6版本开始在主从复制方面推出的重要特性,它是一个已提交事务的编号,并且是全局唯一编号,不仅是在主库上,在给定的复制设置中的所有数据库上,它都是唯一的。 GTID是由server_uuid和事
阅读全文
摘要:一、mysql主从复制的三种复制方式 1、主从复制之异步复制 MySQL主从异步复制是最常见的复制场景。数据的完整性依赖于主库BINLOG的不丢失,只要主库的BINLOG不丢失,那么就算主库宕机了,我们还可以通过BINLOG把丢失的部分数据通过手工同步到从库上去。 传统的MySQL复制采用主从的方式
阅读全文
摘要:一、计算mysql所需的内存 mysql used mem = key_buffer_size + query_cache_size + tmp_table_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + inno
阅读全文
摘要:一、介绍两种日志 1、redo log是InnoDB存储引擎层的日志,又称重做日志文件,用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来。在实例和介质失败(media failure)时,redo log文件就能派上用场,如数据库掉电,InnoDB存储引擎会使用redo
阅读全文
摘要:一、备份方式 1、备份:逻辑备份(mysqldump,mydumper) 2、物理备份(xtrabackup、tar、cp、rsync) 3、冗余模式:主备模式、数据库集群 二、备份对象 1、数据(库、表) 2、日志文件 三、物理备份(适合大型数据库,不受引擎的限制)实验用的是mariadb,步骤按
阅读全文
摘要:一、sql语言 1、DDL (Data Definition Language) 数据库定义语言 查看帮助 ?|help + 类别名称 如 help create table mysql> ? data types #查看数据有哪些类型,如: AUTO_INCREMENT BIGINT BINARY
阅读全文