![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 62
wang_xingg
这个作者很懒,什么都没留下…
展开
-
Select…For Update
select for update 是为了在查询时,避免其他用户以该表进行插入,修改或删除等操作,造成表的不一致性. 举几个例子:select * from t for update 会等待行锁释放之后,返回查询结果。select * from t for update nowait 不等待行锁释放,提示锁冲突,不返回结果select * from t for update w原创 2016-11-10 11:02:44 · 1085 阅读 · 0 评论 -
mysql event
让MYSQL定期执行指定的一条命令。功能类似于crontab。1、 检查你的MYSQL是否开了这个功能SHOW VARIABLES LIKE 'event_scheduler';我执行了一遍发现记录为空说明我的MYSQL没有开呢。OK解决办法2、 打开你的MYSQL的计划任务功能使用这个功能之前必须确保event_scheduler已开启,可执行SET GLOBAL ev转载 2017-01-22 13:23:05 · 213 阅读 · 0 评论 -
mysqlreport使用详解
进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOW STATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。一、安装:下载mysqlreport工具,直接解压即可,下载地址: ht转载 2017-01-16 15:30:53 · 1815 阅读 · 0 评论 -
mysqlreport ----Perl-安装DBI,Mysql DBD模块
perl -MCPAN -e shellcpan1>intall DBI1>usr/lib/perl5/5.10.0/x86_64-linux-thread-multi/CORE/perl.h:587:24: 错误:sys/types.h:没有那个文件或目录解决办法:安装软件包:libc6-devcpan2>intall DBD::mysql2>原创 2017-01-16 15:28:24 · 609 阅读 · 0 评论 -
mysql性能优化标准
按照从大到小,从主要到次要的形式,分析 MySQL 性能优化点,达到最终优化的效果。利用 mindmanger 整理了思路,形成如下图,每个点在网上都能找到说明,并记录下。形成了优化的思路:1 连接 Connections经常会遇见”mysql: error 1040: too many connections”的情况,一种是转载 2017-01-09 17:56:31 · 255 阅读 · 0 评论 -
推荐在线设置 innodb_buffer_pool_size
set global innodb_buffer_pool_size=1572864000,原来缓冲的数据文件不会丢失原创 2016-12-30 16:41:58 · 354 阅读 · 0 评论 -
MySQL的Innodb缓存相关优化
假设是一台单独给 MySQL 使用的主机,物理内存总大小为 8G,MySQL 最大连接数为 500,同时还使用 了 MyISAM 存储引擎,这时候我们的整体内存该如何分配呢?内存分配为如下几大部分:a) 系统使用,假设预留 800M;b) 线程独享,约 2GB = 500 * (1MB + 1MB + 1MB + 512KB + 512KB),组成大概如下:转载 2016-12-30 15:02:35 · 403 阅读 · 0 评论 -
innodb_flush_method
innodb_flush_method这个参数控制着innodb数据文件及redo log的打开、刷写模式,对于这个参数,文档上是这样描述的:有三个值:fdatasync(默认),O_DSYNC,O_DIRECT默认是fdatasync,调用fsync()去刷数据文件与redo log的buffer为O_DSYNC时,innodb会使用O_SYNC方式打开和刷写redo log,使用f转载 2017-01-05 09:58:44 · 278 阅读 · 0 评论 -
redo undo log
InnoDB的Redo Undo Log 本文是介绍MySQL数据库InnoDB存储引擎重做日志漫游 – Undo Log Undo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。 - 事务的原子性(Atomicity) 事务中的所有操作,要么全部完成,要么不做任何操作,不能只做转载 2017-01-06 14:26:10 · 219 阅读 · 0 评论 -
show engine innodb status
Header1 =====================================2 07091310:31:48 INNODB MONITOR OUTPUT3 =====================================这部分简单的打印,输出的时间,以及自从上次输出的间隔时间。4 Persecond averages ca转载 2017-01-06 11:31:51 · 1252 阅读 · 0 评论 -
mysql regexp反转义\\
教材上写的是,mysql用\转义时,要使用两个\\,因为mysql要解释一个,然后正则要解释一个。我有张表:create table `test` ( `id` int(11) not null auto_increment, `name` varchar(50) collate utf8_bin not null, `sex` varchar(50) collate原创 2016-12-28 11:32:41 · 4124 阅读 · 1 评论 -
mysql服务性能优化—my.cnf配置说明详解(16G内存)
硬件:内存16G[client]port = 3306socket = /data/3306/mysql.sock[mysql]no-auto-rehash[mysqld]user = mysqlport = 3306socket = /data/3306/mysql.sockbasedir = /usr/local/mysqldatadir转载 2017-01-04 13:28:13 · 599 阅读 · 0 评论 -
binlog,redo log,undo log
1. binlog是MySQL Server层记录的日志, redo log是InnoDB存储引擎层的日志。 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。2. 选择binlog日志作为replication我想主要原因是MySQL的特点就是支持多存储引擎,为了兼容绝大部分引擎来支持复制这个特性,那么自然要采用MySQL Server自己记录的日志而不是仅仅针对转载 2016-12-17 16:51:24 · 188 阅读 · 0 评论 -
mysql truncate,drop,delete的区别
不同点:1. truncate和 delete只删除数据不删除表的结构(定义)drop语句将删除表的结构2.delete语句是dml,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl, 操作立即生效,原数据不放到rollback segment中,不能回滚. 操作不原创 2016-11-14 18:31:00 · 293 阅读 · 0 评论 -
Xtrabackup安装
Xtrabackup安装1、确认服务器上已经安装MySQL[root@PC ~]# rpm -qa mysqlmysql-5.1.73-5.el6_6.x86_64mysql Ver 14.14 Distrib 5.6.20, for Linux (i686)using EditLine wrapper 2:下载进网站:https://www.perco原创 2016-11-10 17:05:10 · 1508 阅读 · 0 评论 -
mysql InnoDB锁等待
在information_schema下面有三张表:INNODB_TRX、INNODB_LOCKS、INNODB_LOCK_WAITSINNODB_TRX表及结构比较常用的列:trx_id:InnoDB存储引擎内部唯一的事物IDtrx_status:当前事务的状态, RUNNING, LOCK WAIT, ROLLING BACK or COMMITTING.t转载 2016-11-10 11:14:36 · 1040 阅读 · 0 评论 -
mycat小测试
#测试环境:# 有3张表 users,item,item_detail (item 的子表) 和 3 个数据库 db01,db02,db03# 表 users 存储在数据库 db01, 表 item 和 item_detail 分布存储在数据 db01 和 db02 # 现在在3个数据库都创建相同的表create database db01; create databas转载 2017-01-23 14:40:54 · 590 阅读 · 0 评论