MYSQL之 GroupCommit
组提交(group commit)是MYSQL处理日志的一种优化方式,主要为了解决写日志时频繁刷磁盘的问题。组提交伴随着MYSQL的发展不断优化,从最初只支持redo log 组提交,到目前5.6官方版本同时支持redo log 和binlog组提交。组提交的实现大大提高了mysql的事务处理性能,下文将以innodb 存储引擎为例,详细介绍组提交在各个阶段的实现原理。redo log的组提交&n
叶问【转自知数堂微信公众号】
转自《叶问》是知数堂新设计的互动栏目,不定期给大家提供技术知识小贴士,形式不限,或提问、或讨论均可,并在当天发布答案,让大家轻轻松松利用碎片时间就可以学到最实用的知识点。知数堂 - 最靠谱、最有品质的培训品牌 http://www.3wedu.net/ 叶问专辑 https://mp.weixin.qq.com/mp/homepage?__biz=MzI1OTU2MDA4NQ%3D%3D
Percona XtraDB Cluster 的一些使用限制(PXC 5.7)
Percona XtraDB Cluster有众多的优秀特性,使得mysql集群得以轻松实现。但是不要忽略了它的一些限制。如果你无法接受,或者你的应用程序或数据库(比如使用了memory引擎)对限制无法做出调整,那PXC对你而言是不合适。限制有哪些呢,下文是其描述。1、存储引擎: 基于PXC的复制仅适用于InnoDB存储引擎。 对其他存储引擎的表,包括mysql.*表之类的系统表,
Percona XtraDB Cluster高可用与状态快照传输(PXC 5.7 )
Percona XtraDB Cluster(下称PXC)高可用集群支持任意节点在运行期间的重启,升级或者意外宕机,即它解决了单点故障问题。那在这个意外宕机或者重启期间,该节点丢失的数据如何再次进行同步呢?本文介绍了在节点故障和重启PXC如何实现高可用以及状态快照传输的几种方法优缺点。一、高可用在具有3个节点的基本设置中,如果您关闭任何节点,Percona XtraDB集群将继续运行。在任何时候,
mysql之 Percona XtraDB Cluster集群线程模型
Percona XtraDB集群创建一组线程来为其操作提供服务,这些线程与现有的MySQL线程无关。有三个主要线程组:一、Applier线程Applier线程应用从其他节点接收的写入集。写消息直接通过gcv_recv_thread。使用wsrep_slave_threads变量控制线程的数量。默认值是1,这意味着至少有一个wsrep applier线程存在来处理请求。Applier线程等待一个事件
mysql之 表数据存放路径非datadir目录
假如,新建一张表,并让该表的存储路径 不是默认的/path/to/datadir/dbname 。而是 指定存储的位置 应该如何处理?方法一shell> mkdir /Generalt1shell> chown mysql.mysql /Generalt1mysql> create table test_ger1 (a int) data directory='/Gene
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&n
mysql之 mysql_config_editor/login-path 登录密码保护
login-path是MySQL5.6开始支持的新特性。通过借助mysql_config_editor工具将登陆MySQL服务的认证信息加密保存在.mylogin.cnf文件(默认位于用户主目录) 。之后,MySQL客户端工具可通过读取该加密文件连接MySQL,避免重复输入登录信息,避免敏感信息暴露。mysql_config_editor使用帮助:配置:mysql_config_editor se
mysql之 redo log
重做日志(redo log)前言:之前一直弄不清楚 mysql 里面 bin log 和 innodb log 文件的区别,在脑子里面一直有个疑问 binlog 日志文件已经可以用来进行数据库的日志备份恢复了,怎么又多了一个 redo log 文件了。相信也有很多人有这个疑惑,现在把整个过程文档整理出来,希望对大家有所帮忙。如果对 Oracle 很了解,那么在整个学习 innoDB log 的时候
mysql之 日志体系(错误日志、查询日志、二进制日志、事务日志、中继日志)
一、 mysql错误日志:错误日志记录的事件:a)、服务器启动关闭过程中的信息b)、服务器运行过程中的错误信息c)、事件调试器运行一个事件时间生的信息d)、在从服务器上启动从服务器进程时产生的信息log_error参数指定错误日志存放路径以及文件名。如果不指定文件,默认文件名是[host_name].err,保存路径为%datadir%。...
mysql之 binlog维护详细解析(开启、binlog参数作用、mysqlbinlog解读、binlog删除)
binary log 作用:主要实现三个重要的功能:用于复制,用于恢复,用于审计。binary log 相关参数:log_bin设置此参数表示启用binlog功能,并指定路径名称log_bin_index设置此参数是指定二进制索引文件的路径与名称binlog_do_db此参数表示只记录指定数据库的二进制日志binlog_ignore_db此参数表示不记录指定的数据...
mysql之 共享表空间与独立表空间、frm,MYD,MYI.idb,par文件说明
一、共享表空间与独立表空间MySQL5.5默认是共享表空间 ,5.6中,默认是独立表空间。共享表空间:ibdata1是InnoDB的共享表空间,默认配置是把全部表空间存放到ibdata1中,因此而造成ibdata1文件无限增长需释放之说。优点:可以放表空间分成多个文件存放到各个磁盘上(表空间文件大小不受表大小的限制,如一个表可以分...
MySQL整体架构与内存结构
一 mysql 整体框架:MySQL是由SQL接口,解析器,优化器,缓存,存储引擎等组成的。 1. Connectors指的是不同语言中与SQL的交互。2. Management Serveices & Utilities: 系统管理和控制工具。3. Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求。4.&...
MySQL 用户管理与权限管理
...
MySQL 5.7新特性
新增特性Security improvements. MySQL.user表新增plugin列,且若某账户该字段值为空则账户不能使用。从低版本MySQL升级至MySQL5.7时要注意该问题,且建议DBA将使用mysql_old_password插件的账户替换为使用 mysql_native_password插件。数据库管理员可以制定账户密码自动过期策略,密码过期后必须强制进行...
MySQL5.6中新增特性、不推荐使用的功能以及废弃的功能
虽然已经使用MySQL5.6版本有一段时间了,但由于没有和之前的版本作过详细比较,所以对于哪些重要的或者不太重要的特性是在新版本中引入的,还有哪些特性已经或者将要从旧版本中移除的并没有一个十分全面的了解。最近有一个将某数据库实例由5.5升级为5.6的需求,所以对于MySQL5.6和5.5版本之间的差异做了一个简单梳理。...
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,/etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf二、MySQL启动方式...
MySQL 数据类型
MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数。许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 MySQL 允许我们指定数值字段中的值是否有正负之分或者用零填补。 表列出了各种数值类型以及它们的允许范围和占用的内存空间。类型 大小...
安装初始化mysql后,默认几个库介绍
背景介绍: 当我们安装初始化mysql后,默认建了几个数据库,那么这些数据库有什么作用呢?mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || mysql || performa...
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.1时,使用tcp/ip协议。如...