MySQL
阿玮d博客
佛系博主 随缘更新
展开
-
MySQL之分布式中间件Mycat
1 介绍Mycat基于阿里开源的Cobar产品而研发,是一个彻底开源的、面向企业应用开发的大数据库集群的分库分表中间件,在分布式架构中表现出色。使用Mycat可以搭建读写分离、高可用、垂直切分和水平切分架构,使用分布式的架构,有效解决大数据库中面对海量数据的性能瓶颈2 环境准备主机实例server_iddb01330773308833099331010db02330717330818330919331020原创 2020-07-17 22:35:07 · 375 阅读 · 0 评论 -
MySQL之读写分离Atlas
1 介绍Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。Atlas基于MySQL-Proxy,主要功能有:读写分离从库负载均衡IP过滤自动分表DBA平滑上下线DB node自动摘除宕机的DB2 环境搭建2.1 架构规划主机MySQL角色MHA角色server_idIPdb01Masternode51192.168.159.51db02Slavenode52192.168.1原创 2020-07-17 22:30:08 · 196 阅读 · 0 评论 -
MySQL之高可用MHA
1 MHA介绍MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,该工具仅适用于MySQL Replication 环境,目的在于维持master主库的高可用性。MHA 是自动的 master 故障转移和 slave 提升的软件包,基于标准的MySQL复制(异步/半同步)。MHA由两部分组成:MHA Manager(管理节点)和 MHA Node(数据节点)。MHA Manager可以单独部署在一台独立的机器上管理多个master-slave原创 2020-07-06 17:21:17 · 603 阅读 · 0 评论 -
MySQL之主从进阶
1 延时从库1.1 介绍普通的主从复制,在处理物理故障损坏时比较擅长。但对于逻辑损坏,如主库意外出现了删库操作,从库若立即同步,则主从的数据都会受损延时从库:是我们人为配置的一种特殊从库,主库做了某项操作之后,从库会延时N小时回放(SQL线程的延时),可以处理逻辑损坏1.2 配置方法一般企业建议3-6小时,具体看公司运维人员对于故障的反应时间mysql> stop slave;mysql> change master to master_delay=300;mysql> s原创 2020-07-06 17:19:22 · 186 阅读 · 0 评论 -
MySQL之主从复制
1. 介绍两台或以上数据库实例通过binlog二进制日志,实现数据的“同步”关系前提:两台以上的mysql实例,server_id、server_uuid不同主库开启binlog需要专用的复制用户保证主从开启之前的某个时间点,从库数据和主库数据一致(补课)从库需知道复制的user、password、port、复制起点从库开启专用的复制线程2. 架构搭建2.1 实例准备实例属性server_idserver_uuidmysqld3307主库7原创 2020-07-06 17:18:36 · 189 阅读 · 0 评论 -
MySQL之备份恢复
1. 数据损坏种类1.1 物理损坏磁盘损坏:硬件、坏道、dd、格式化文件损坏:数据文件损坏、redo log损坏1.2 逻辑损坏dropdeletetruncateupdate2. 运维人员在备份、恢复的职责2.1 设计备份、容灾策略备份策略:备份工具选择备份周期设计备份监控方法容灾策略:备份架构:高可用、延迟从库、灾备库(两地三中心)2.2 定期的备份、容灾检查2.3 定期的故障恢复演练2.4 数据损坏时的快速准确恢复2.5 数据迁原创 2020-07-06 17:15:08 · 213 阅读 · 0 评论 -
MySQL之工具日志
1. errorlog1.1 作用记录MySQL启动、关闭、日常运行过程中,状态信息,警告,错误1.2 配置方法默认为开启状态 位置:datadir/hostname.errmysql> select @@datadir;+-------------+| @@datadir |+-------------+| /data/3306/ |+-------------+1 row in set (0.00 sec)mysql> select @@log_error;原创 2020-06-24 17:39:46 · 281 阅读 · 0 评论 -
MySQL之事务
什么是事务事务是伴随着交易类的业务场景出现的工作机制事务的ACID特性A:atomicity,原子性,指事务是一个不可分割的工作单位,事务中的操作要么都发生(commit,提交),要么都不发生(undo,回滚)C:consistency,一致性,如果数据库在事务开始时处于一致状态,则在执行该事务期间将保留一致状态;一致性表示事务完成后,符合逻辑运算I:isolation,隔离性,多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离D原创 2020-06-24 17:38:02 · 476 阅读 · 0 评论 -
MySQL之存储引擎
1. 存储引擎种类mysql> show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+| Engine | Support | Comment原创 2020-06-24 17:29:26 · 276 阅读 · 0 评论 -
MySQL之执行计划
0. 执行计划(1) select * from t1 where xx='xxx'获取到的是优化器选择的,它认为cost(代价)最小的执行计划.对于计算机来说,代价: IO、CPU、MEM作用: 语句执行前,先看执行计划信息,可以有效的防止性能较差的语句带来的性能问题.如果业务中出现了慢语句,我们也需要借助此命令进行语句的评估,分析优化方案。(2) select 获取数据的方法1. 全表扫描(应当尽量避免,因为性能低)2. 索引扫描3. 获取不到数据1. 查看执行计划mysql&g原创 2020-06-24 17:19:20 · 432 阅读 · 0 评论 -
MySQL之索引
0. B+ Tree1 聚簇索引作用:有了聚簇索引后,将来插入的数据行,在同一个区内,都会按ID值的顺序,有序地在磁盘存储数据(1) 若表中设置了主键,则主键列就会被自动作为聚簇索引(2) 如果没有主键,则会选择做了唯一索引的列作为聚簇索引(3) 以上都没有,则会自动生成隐藏主键作为聚簇索引,这个字段长度为6个字节,类型为长整型(*) 聚簇索引必须在建表时指定才有意义,一般是表的无关列(ID)------------------------------------------------原创 2020-06-24 17:17:18 · 200 阅读 · 0 评论 -
MySQL之I_S.tables
0. 介绍数据库每次启动时,会自动在内存中生成 I_S :用于查询 MySQL 部分元数据信息的视图视图:相当于 select 语句的别名,不保存数据本身I_S 视图保存的就是查询元数据的方法1. I_S.tables作用:保存了所有表的数据字典信息use information_schemadesc tables;-- 常用列介绍:-- 各个表所在的库TABLES_SCHEMA-- 表名TABLES_NAME-- 表的引擎ENGINE-- 表的数据行(不是特别实时)TA.原创 2020-06-14 22:12:51 · 453 阅读 · 0 评论 -
MySQL之DQL
Data Query Language1. select1.1 功能获取表中的数据1.2 select单独使用(MySQL独家功能)1.2.1 select配合内置函数使用-- 查看当前时间mysql> select now();+---------------------+| now() |+---------------------+| 2020-06-13 19:16:47 |+---------------------+1 row in s原创 2020-06-14 22:11:06 · 1603 阅读 · 0 评论 -
MySQL之DDL&DCL&DML
Data Definition Language1. 库定义1.1 创建库语法:CREATE DATABASE awei CHARSET utf8mb4;规范库名:小写,业务有关,非数字开头,库名不能太长,不能使用保留字符串必须指定字符集1.2 查库mysql> show databases;+--------------------+| Database |+--------------------+| information_schema |原创 2020-06-14 22:06:45 · 243 阅读 · 0 评论 -
MySQL之SQL基础
1. SQL介绍结构化查询语言,关系型数据库中通用的一类语言2. SQL常用类型DDL:Data Definition Language,数据定义语言DCL:Data Control Language,数据控制语言DML:Data Manage Language,数据操作语言DQL:Data Query Language,数据查询语言3. SQL中的各种名字3.1 sql_mode作用:规范SQL语句书写方式mysql> select @@sql_mode;+------原创 2020-06-14 22:02:37 · 357 阅读 · 0 评论 -
MySQL之初始化配置
0. 作用控制MySQL的启动影响客户端的连接1. 初始化配置的方式源码安装:编译过程中设置初始化参数配置文件:数据库启动前,设定配置文件参数 /etc/my.cnf启动脚本命令行:mysqld_safe –skip-grant-tables –skip-networking &2. 配置文件的应用2.1 配置文件读取顺序[root@db01 ~]# mysqld --help --verbose | grep my.cnf/etc/my.cnf /etc/mysql/m原创 2020-06-14 22:00:24 · 2754 阅读 · 0 评论 -
MySQL之基础管理
1. 用户管理1.1 用户的作用登录MySQL数据管理MySQL对象:表1.2 用户的定义用户名@‘白名单’-- 白名单支持的方式?wordpress@'10.0.0.%' wordpress@'%'wordpress@'10.0.0.200'wordpress@'localhost'wordpress@'db02'wordpress@'10.0.0.5%'wordpress@'10.0.0.0/255.255.254.0'1.3 用户管理查mysql&g原创 2020-06-14 21:59:06 · 467 阅读 · 0 评论 -
MySQL之体系结构
1 MySQL 客户端/服务端工作模型(C/S)(1) 本地socket连接方式:socket=/tmp/mysql.sockmysql -S /tmp/mysql.sock(2) 远程TCP连接方式mysql -uroot -p123 -h 192.168.159.51 -P 33062 服务器端:实例实例:mysqld+工作线程+预分配的内存结构功能:管理数据3 mysqld程序运行原理3.1 mysqld程序结构3.2 一条SQL语句的执行过程连接层(1)提供连原创 2020-06-14 21:57:35 · 238 阅读 · 0 评论 -
MySQL之环境准备
1 环境准备(1)准备虚拟机 IP:192.168.159.51/24 hostname:db01(2)清理历史环境 [root@db01 ~]# yum remove mariadb-libs -y(3)创建用户和组 [root@db01 ~]# useradd mysql -s /sbin/nologin -M [root@db01 ~]# id mysql uid=1000(mysql) gid=1000(mysql) 组=1000(mysql)(4)创建相关目录 # 创建软件目录原创 2020-06-14 21:52:28 · 253 阅读 · 0 评论