![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql体系结构
文章平均质量分 74
张冲andy
熟悉各种数据库,包括不限于 mysql,postgresql,oracle,redis,mongodb,clickhouse等
展开
-
MySQL告警“Connection attributes of length 570 were truncated“
performance_schema库中两个表记录了这些属性的详细信息:1.performance_schema.session_account_connect_attrs:当前会话的连接属性,会该账号关联的其它会话2.performance_schema.session_connect_attrs:所有会话的连接属性。如果客户端发送的连接属性数据的聚合大小大于此数量,性能模式将截断属性数据,状态变量Performance_schema_session_connect_attrs_lost 递增。原创 2023-09-01 09:18:01 · 402 阅读 · 0 评论 -
MySQL 磁盘爆了,是 optimize table 的锅
2023-06-26 22:17左右,收到某系统的主库磁盘使用率告警。2023-06-26 23:02左右收到该系统的从库磁盘使用率告警。收到告警后,登录数据库查看各表的磁盘使用。经分析发现DB存在一个当日的备份表t_eap_sys_navigation_log_bak_20230626 ,且在OS层面存在的表文件(),按照经验推断#开头为中间表,磁盘使用率告警恢复后,该中间表也了。原创 2023-06-27 11:05:28 · 713 阅读 · 0 评论 -
MySql 官方存储引擎
存储引擎是为不同的表类型处理 SQL 操作的 MySql 组件。InnoDB 是默认的、最通用的存储引擎,也是官方推荐使用的存储引擎,除非一些特定案例。MySql 5.6 中的 CREATE TABLE 语句创建的表的存储引擎默认就是 InnoDB。MySql 服务器使用的是一个可插拔存储引擎架构,它能够在运行的时候动态加载或者卸载这些存储引擎。可以使用 SHOW ENGINES 语句来查看你的 ...转载 2018-02-25 11:27:24 · 196 阅读 · 0 评论 -
mysql之 mysql_config_editor/login-path 登录密码保护
login-path是MySQL5.6开始支持的新特性。通过借助mysql_config_editor工具将登陆MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认位于用户主目录) 。之后,MySQL客户端工具可通过读取该加密文件连接MySQL,避免重复输入登录信息,避免敏感信息暴露。mysql_config_editor使用帮助:配置:mysql_config_editor...原创 2018-08-26 18:01:34 · 1074 阅读 · 0 评论 -
mysql之 slow log 慢查询日志
一、 相关参数:• slow_query_log ◦ 是否开启慢查询日志• slow_query_log_file ◦ 慢查询日志文件名, 在 my.cnf 我们已经定义为slow.log,默认是 机器名 -slow.log• long_query_time ◦ 制定慢查询阈值, 单位是秒,且当版本 >=5.5.X ,支持毫秒。例如 0.5 即为 500ms ◦ 大于 ...原创 2018-08-30 17:45:46 · 12537 阅读 · 0 评论 -
mysql之 表数据存放路径非datadir目录
假如,新建一张表,并让该表的存储路径 不是默认的/path/to/datadir/dbname 。而是 指定存储的位置 应该如何处理?方法一shell> mkdir /Generalt1shell> chown mysql.mysql /Generalt1mysql> create table test_ger1 (a int) data directory='/Ge...原创 2018-09-04 09:41:17 · 350 阅读 · 0 评论 -
mysql之 redo log
重做日志(redo log)前言:之前一直弄不清楚 mysql 里面 bin log 和 innodb log 文件的区别,在脑子里面一直有个疑问 binlog 日志文件已经可以用来进行数据库的日志备份恢复了,怎么又多了一个 redo log 文件了。相信也有很多人有这个疑惑,现在把整个过程文档整理出来,希望对大家有所帮忙。如果对 Oracle 很了解,那么在整个学习 innoDB lo...原创 2018-08-25 22:14:56 · 1649 阅读 · 0 评论 -
mysql之 Percona XtraDB Cluster集群线程模型
Percona XtraDB集群创建一组线程来为其操作提供服务,这些线程与现有的MySQL线程无关。有三个主要线程组:一、Applier线程Applier线程应用从其他节点接收的写入集。写消息直接通过gcv_recv_thread。使用wsrep_slave_threads变量控制线程的数量。默认值是1,这意味着至少有一个wsrep applier线程存在来处理请求。Applier...转载 2018-10-09 15:10:37 · 141 阅读 · 0 评论 -
Percona XtraDB Cluster高可用与状态快照传输(PXC 5.7 )
Percona XtraDB Cluster(下称PXC)高可用集群支持任意节点在运行期间的重启,升级或者意外宕机,即它解决了单点故障问题。那在这个意外宕机或者重启期间,该节点丢失的数据如何再次进行同步呢?本文介绍了在节点故障和重启PXC如何实现高可用以及状态快照传输的几种方法优缺点。一、高可用在具有3个节点的基本设置中,如果您关闭任何节点,Percona XtraDB集群将继续运行。在任...转载 2018-10-09 15:40:21 · 174 阅读 · 0 评论 -
Percona XtraDB Cluster 的一些使用限制(PXC 5.7)
Percona XtraDB Cluster有众多的优秀特性,使得mysql集群得以轻松实现。但是不要忽略了它的一些限制。如果你无法接受,或者你的应用程序或数据库(比如使用了memory引擎)对限制无法做出调整,那PXC对你而言是不合适。限制有哪些呢,下文是其描述。1、存储引擎: 基于PXC的复制仅适用于InnoDB存储引擎。 对其他存储引擎的表,包括mysql.*表之类的系统表,...原创 2018-10-09 15:44:52 · 176 阅读 · 0 评论 -
叶问【转自知数堂微信公众号】
转自《叶问》是知数堂新设计的互动栏目,不定期给大家提供技术知识小贴士,形式不限,或提问、或讨论均可,并在当天发布答案,让大家轻轻松松利用碎片时间就可以学到最实用的知识点。知数堂 - 最靠谱、最有品质的培训品牌 http://www.3wedu.net/ 叶问专辑 https://mp.weixin.qq.com/mp/homepage?__biz=MzI1OTU2MDA4NQ%3D%3...转载 2018-10-27 20:05:45 · 406 阅读 · 0 评论 -
MYSQL之 GroupCommit
组提交(group commit)是MYSQL处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题。组提交伴随着MYSQL的发展不断优化,从最初只支持redo log 组提交,到目前5.6官方版本同时支持redo log 和binlog组提交。组提交的实现大大提高了mysql的事务处理性能,下文将以innodb 存储引擎为例,详细介绍组提交在各个阶段的实现原理。redo log的组提交...原创 2018-11-08 10:31:21 · 377 阅读 · 0 评论 -
应用端连接MySQL数据库报Communications link failure
事情的起因:某项目的开发同学突然Q我们组的某同学,要求我们调整MySQL的连接等待超时参数wait_timeout。要求我们从28800s调整到31536000s(也就是一年)应用端测试环境的tomcat报错日志如下图: 恩。报错很明显。这个问题百度后的解决方案大部分都是要求数据库端更改连接等待超时时间。那么这种解决方法是否可行呢?遗憾的是,这是不可行的。主要原因还是性能考...原创 2018-11-15 19:32:01 · 2360 阅读 · 0 评论 -
MySQL架构与业务总结图
MySQL架构与业务总结图如下:原创 2019-05-05 18:58:11 · 208 阅读 · 0 评论 -
mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)
binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计。binary log 相关参数:log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_index设置此参数是指定二进制索引文件的路径与名称binlog_do_db此参数表示只记录指定数据库的二进制日志binlog_ignore_db此参数表示不记录指定的数原创 2017-05-30 20:10:30 · 1889 阅读 · 0 评论 -
mysql学习之-密码管理(默认密码,修改密码,解决忘记密码)
1. mysql安装后默认没有密码,初始化安装后默认密码登录,需要马上修改root密码。[root@mysql ~]# cat /root/.mysql_secret --查看root账号密码# The random password set for the root user at Tue Dec 13 18:59:06 2016 (local time): 7MhtyX3aZEl原创 2016-12-14 22:35:33 · 504 阅读 · 0 评论 -
mysql学习之-show table status(获取表的信息)参数说明
--获取表的信息mysql> show table status like 'columns_priv'\G;*************************** 1. row *************************** Name: columns_priv Engine: MyISAM Version: 10原创 2016-12-15 10:52:05 · 500 阅读 · 0 评论 -
MySQL 数据类型
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。 表列出了各种数值类型以及它们的允许范围和占用的内存空间。类型 大小 范围(有符号) 范围(无符号) 用途 TINYINT 1 字节 (-128转载 2016-12-21 11:30:07 · 334 阅读 · 0 评论 -
Mysql通信协议
Mysql四种通信协议(linux下本地连接的都是socket 其他都是tcp) 当连接mysql时,使用-h127.0.0.1时,linux与unix下的连接协议为socket协议,windows下为memory协议。如: [root@mysql ~]# mysql -uandy -pandy -h127.0.0.1当连接mysql时,使用非-h127.0.0原创 2016-12-20 22:23:03 · 478 阅读 · 0 评论 -
MySQL整体架构与内存结构
一 mysql 整体框架:MySQL是由SQL接口,解析器,优化器,缓存,存储引擎等组成的。 1. Connectors指的是不同语言中与SQL的交互。2. Management Serveices & Utilities: 系统管理和控制工具。3. Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求。4.原创 2017-03-27 15:16:20 · 731 阅读 · 0 评论 -
MySQL读取配置文件的顺序、启动方式、启动原理
一、MySQL读取配置文件的顺序读取顺序:/etc/my.cnf > /etc/mysql/my.cnf > /usr/etc/my.cnf > ~/.my.cnf命令验证:[root@mysql ~]# mysql --verbose --help | grep my.cnf order of preference, my.cnf, $MYSQL_TCP_PORT,/原创 2017-03-23 00:05:54 · 614 阅读 · 0 评论 -
MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能
虽然已经使用MySQL5.6版本有一段时间了,但由于没有和之前的版本作过详细比较,所以对于哪些重要的或者不太重要的特性是在新版本中引入的,还有哪些特性已经或者将要从旧版本中移除的并没有一个十分全面的了解。最近有一个将某数据库实例由5.5升级为5.6的需求,所以对于MySQL5.6和5.5版本之间的差异做了一个简单梳理。新增 Security improvements.转载 2017-03-24 15:38:05 · 517 阅读 · 0 评论 -
MySQL 5.7新特性
新增特性Security improvements. MySQL.user表新增plugin列,且若某账户该字段值为空则账户不能使用。从低版本MySQL升级至MySQL5.7时要注意该问题,且建议DBA将使用mysql_old_password插件的账户替换为使用 mysql_native_password插件。数据库管理员可以制定账户密码自动过期策略,密码过期后必须强制进转载 2017-03-24 15:42:13 · 348 阅读 · 0 评论 -
MySQL 用户管理与权限管理
MySQL 用户管理与权限管理-- 操作环境mysql> show variables like 'version'; +---------------+--------+| Variable_name | Value |+---------------+--------+| version | 5.6.25 |+------------原创 2017-03-25 18:44:02 · 301 阅读 · 0 评论 -
mysql启动与关闭(手动与自动)
手动管理mysql的启动与关闭[root@mysql ~]# service mysql start --手动启动mysqlStarting MySQL. SUCCESS![root@mysql ~]# service mysql stop --手动关闭mysql Shutting down MySQL.. SUCCESS![root@mysql ~]# mysqld原创 2016-12-13 22:46:07 · 2812 阅读 · 0 评论 -
mysql学习之-小技巧
1. 查看历史操作记录1.1 linux操作系统查看历史操作记录 [root@mysql etc]# history 1 cat ~/.bash.history 2 top 3 cat ~/.bash.history 。。。。1.2 mysql数据库历史操作记录[root@mysql etc]# cat /root/原创 2016-12-14 19:49:28 · 333 阅读 · 0 评论 -
安装初始化mysql后,默认几个库介绍
背景介绍: 当我们安装初始化mysql后,默认建了几个数据库,那么这些数据库有什么作用呢?mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || perf转载 2016-12-20 22:57:22 · 19775 阅读 · 0 评论 -
mysql之 共享表空间与独立表空间、frm,MYD,MYI.idb,par文件说明
一、共享表空间与独立表空间MySQL5.5默认是共享表空间 ,5.6中,默认是独立表空间。共享表空间:ibdata1是InnoDB的共享表空间,默认配置是把全部表空间存放到ibdata1中,因此而造成ibdata1文件无限增长需释放之说。优点:可以放表空间分成多个文件存放到各个磁盘上(表空间文件大小不受表大小的限制,如一个表可以分布在不同步的文件上)。数据和文件放在一起方便原创 2017-05-29 14:30:15 · 839 阅读 · 0 评论 -
mysql之 日志体系(错误日志、查询日志、二进制日志、事务日志、中继日志)
一、 mysql错误日志:错误日志记录的事件:a)、服务器启动关闭过程中的信息b)、服务器运行过程中的错误信息c)、事件调试器运行一个事件时间生的信息d)、在从服务器上启动从服务器进程时产生的信息log_error参数指定错误日志存放路径以及文件名。如果不指定文件,默认文件名是[host_name].err,保存路径为%datadir%。mysql> system ho原创 2017-05-30 21:24:25 · 3110 阅读 · 0 评论 -
mysql学习之-字符集选定,修改。
基础概念:字符(Character)是指人类语言中最小的表义符号。例如’A'、’B'等;编码(Encoding)是指给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符.例如,我们给字符’A'赋予数值0,给字符’B'赋予数值1,则0就是字符’A'的编码;字符集(Character Set)是指字符和编码对组成的集合。字符序(Collation)是指在同一字符集内字原创 2016-12-15 23:18:37 · 447 阅读 · 0 评论 -
mysql学习之-逻辑架构
mysql逻辑架构图: 第一层,服务层(为客户端服务):为请求做连接处理,授权认证,安全等。1. 每个连接的查询都在一个进程中的线程完成。2. 服务器负责缓存线程,所以服务层不需要为每个连接新建线程。注:mysql5.5或者更新的版本提供了一个API,支持线程池(thread-pooling)插件,可以使用池中少量线程来服务大量的连接。 (类似原创 2016-12-14 13:46:08 · 630 阅读 · 0 评论