MySQL
文章平均质量分 62
q0126a
这个作者很懒,什么都没留下…
展开
-
MySQL查询问题排查-索引应用
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/2410145 最近开发中需查询系统id,随手写了两条sql,发现查询结构不同。select * from apps limit 1;idcity_codeshort_namecompany_code141010...原创 2018-02-03 16:25:19 · 364 阅读 · 0 评论 -
Mysql选择主键
对于一个表来说主键选用的好坏直接关系到对于该表的操作性能,因此主键选用的好坏很大程度上决定了表的相关性能。一般来说选用主键需要遵循以下规则: 数据类型用 INT(bigint)类型Int类型在做比较运算时会获取更好的性能(cpu比较周期缩短)。Int类型是顺序排列的这样在索引中逻辑上相邻的数据就分布在磁盘相邻的地方(大大减少IO次数)要尽可能...2015-02-27 10:21:02 · 417 阅读 · 0 评论 -
MySQL自动增长间隔设置
MySQL设置表字段属性AUTO_INCREMENT时,默认增长间隔为1,利用以下语句设置增长幅度。##设置增长幅度为2SET @@auto_increment_increment = 2; ##设置增长初始值为1SET @@auto_increment_offset = 1; 注:以上作为sql语句执行即可生效。...2015-02-27 09:26:55 · 1591 阅读 · 0 评论 -
MySQL 文件导入时“server has gone away” 问题解决
MySQL 大文件数据导入时,一般会出现 “server has gone away” 问题,导致导入数据失败。这是由于MySQL会根据配置信息来限制server接受的数据包大小,过大的插入和更新操作,会被max_allowed_packet 参数所限制。 查看参数信息: show VARIABLES like '%max_allowed_packet%...原创 2013-09-10 09:39:25 · 155 阅读 · 0 评论 -
【转】Mysql分表和分区的区别
参考文章:http://blog.csdn.net/heirenheiren/article/details/7896546 一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,具体请参考mysql分区功能详细介绍,...原创 2015-01-08 17:14:08 · 79 阅读 · 0 评论 -
MySQL ERROR 1030 (HY000): Got error 28 from storage engine
早上打开discuz论坛,发现挂掉了。出现MySQL “ERROR 1030 (HY000): Got error 28 from storage engine”经查找,解决如下:1. 问题原因:磁盘临时空间不足,无法执行此sql。2. 解决方法:删除/tmp目录部分文件,或修改my.cnf中tmpdir参数,使其指向具有足够空间的目录。 ...2014-07-14 10:18:45 · 495 阅读 · 0 评论 -
MySQL V5.5 主从配置
最近线上服务器做了迁移,要做mysql主从,特意学习并记录下。注:如果刚开始不是主从架构,主库单独跑了一段时间后要改为主从,那需要保证数据库data一致。1. 主库编辑my.cnf[mysqld]log-bin=mysql-binserver-id=1 #配一个唯一的ID编号,(2-2的32次幂)-1。#设置要进行或不要进行主从复制的数据库名,同时也要在 Sla...原创 2014-07-07 16:28:25 · 88 阅读 · 0 评论 -
mysqldump : Error: Binlogging on server not active
记录一下: mysqldump : Error: Binlogging on server not active的解决方法: vi /etc/my.cnf 在【mysqld】 最下方 加入: log-bin=mysql-bin 重启mysqld生效。...原创 2014-02-08 14:18:18 · 117 阅读 · 0 评论 -
MySQL error code: 1175 during UPDATE in MySQL Workbench
SET SQL_SAFE_UPDATES=0;2013-08-19 17:14:15 · 84 阅读 · 0 评论 -
【转】HandlerSocket的原理
HandlerSocket的应用场景:MySQL自身的局限性,很多站点都采用了MySQL+Memcached的经典架构,甚至一些网站放弃MySQL而采用NoSQL产品,比如Redis/MongoDB等。不可否认,在做一些简单查询(尤其是PK查询)的时候,很多NoSQL产品比MySQL要快很多,而且前台网站上的80%以上查询都是简洁的查询业务。MySQL通过HandlerSocket插件...原创 2013-06-07 18:32:31 · 112 阅读 · 0 评论 -
Ubuntu 下Mysql Server不能被远程连接问题解决
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/2112323 仅为个人记录。 今天有同事想访问我本地数据库,添加好用户并设置好访问操作权限后,发现总是连接失败。(他Windows系统,我Ubuntu系统)。将访问来源设置为‘%’,检查防火墙等等都无济于事,觉得不是用户本身问题...2014-09-03 10:54:16 · 142 阅读 · 0 评论 -
[转]MySQL show processlist分析
mysql> show processlist;+—–+————-+——————–+| Id | User | Host | db | Command | Time| State | Info+—–+————-+——————–+|207|root |192.168.0.2:51621 |mytest | Sleep | 5 | | NULL|208|root |1...原创 2014-04-17 10:50:43 · 68 阅读 · 0 评论 -
【转】MySQL innodb表自增主键问题
背景: 自增长是一个很常见的数据属性,在MySQL中大家都很愿意让自增长属性的字段当一个主键。特别是InnoDB,因为InnoDB的聚集索引的特性,使用自增长属性的字段当主键性能更好,这里要说明下自增主键需要注意的几个事项。问题一:表锁 在MySQL5.1.22之前,InnoDB自增值是通过其本身的自增长计数器来获取值,该实现方式是通过表锁机制来完成的(AUTO...原创 2016-03-18 09:51:44 · 272 阅读 · 0 评论 -
【转】MySQL索引工作原理
转载文章,原文地址:http://blog.csdn.net/iefreer/article/details/15815455 为什么需要索引(Why is it needed)?当数据保存在磁盘类存储介质上时,它是作为数据块存放。这些数据块是被当作一个整体来访问的,这样可以保证操作的原子性。硬盘数据块存储结构类似于链表,都包含数据部分,以及一个指向下一个节点(或数据块)的指针,...原创 2017-05-16 11:23:33 · 88 阅读 · 0 评论 -
MySQL连接超时关闭问题解决
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/2346265 1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。 SHOW VARIABLES LIKE '%timeout%’ 解决方案:在my.ini文件中添加或者修改以下两个变量:wait...原创 2016-12-20 14:19:43 · 331 阅读 · 0 评论 -
Mysql分库分表方案
转载文章,原文地址:http://blog.csdn.net/zengfuqing/article/details/14466745 Mysql分库分表方案1.为什么要分表:当一张表的数据达到几千万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。mysql中有一种机制是表锁定和行锁定,是为了保证...原创 2015-12-02 18:03:58 · 88 阅读 · 0 评论 -
MySQL更改数据库文件的目录
本人使用的Ubuntu系统,当初划分/根目录下15G空间,目前mysql数据文件已达近3G,决定将其从原目录(/var/lib/mysql)转移到空间较大的home目录下,起初遇到一些问题,参考网上文章后操作成功,在此做下流程记录。 1. 创建目标数据文件夹(如:/home/flyer0126/data/mysqldb),并复制数据文件cd ~mkdi...2014-10-21 11:18:43 · 86 阅读 · 0 评论 -
MySQL死锁解决
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/2252472 今天在维护CRM系统时,发现数据同步存在问题,接口执行慢且过段时间后报500错误,细探究发现是sql执行时,MySQL Server报错,具体如下:Error: Lock wait timeout exceeded; try r...2015-10-27 15:26:01 · 373 阅读 · 0 评论 -
[转]MySQL中的隔离级别和悲观锁及乐观锁
一、事务支持 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关。 1. MyISAM 不支持事务,用于只读程序提高性能; 2. InnoDB 支持ACID事务,行级锁、并发; 3. Berkeley DB 支持事务。 二、隔离级别 隔离级别决定了一个session中的事务可能对另一个session的影响、并发s...原创 2015-10-21 10:05:57 · 120 阅读 · 0 评论 -
【转】myisam和innodb索引的实现
MyISAM引擎使用B+Tree作为索引结构,叶节点的data域存放的是数据记录的地址。下图是MyISAM索引的原理图: 这里设表一共有三列,假设我们以Col1为主键,则上图是一个MyISAM表的主索引(Primary key)示意。可以看出MyISAM的索引文件仅仅保存数据记录的地址。在MyISAM中,主索引和辅助索引(Secondary key)在结构...原创 2014-09-25 11:34:46 · 253 阅读 · 0 评论 -
利用mysqlbinlog恢复数据
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/2210993 前几天,由于同事误操作delete掉线上数据一个表的数据,由于操作库为数据主库,开启了binlog,于是开始了利用mysqlbinlog恢复表数据的折腾过程。在此仅记录一下。 1. 确认恢复库的binlog已打开。...原创 2015-05-14 10:08:12 · 365 阅读 · 0 评论 -
MySQL插件 HandlerSocket应用
前段时间偶然的机会了解到Handlersocket,并在自己的一个demo中得以应用,在此做下总结。 一、HandlerSocket是什么? HandlerSocket是akira higuchi 写的一个MySql的插件。以MySQL Daemon Plugin的形式提供类似NoSQL的网络服务,通过这个插件,你可以直接跟MySQL后端的存储引擎做k...原创 2013-06-07 18:17:19 · 189 阅读 · 0 评论 -
MySQL使用EXPLAIN的key_len列
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/1889627 几天前跟一个同事讨论SQL执行计划时说到key_len的问题,概念有些模糊,于是今天来理解一下。 key_len列,显示了MySQL在索引里使用的字节数。 如users表的主键是int类型...原创 2013-06-20 10:25:20 · 116 阅读 · 0 评论 -
【转】MySQL Error Number 1005 Can’t create table'...'(errno: 150)
MySQL Error Number 1005 Can’t create table'(...)(errno: 150)This is a very common error when create a mysql table , even some people has take it as a mysql bug and commit it to the...原创 2011-08-02 10:32:10 · 125 阅读 · 0 评论 -
MYSQL::SUBSTRING() Function
SUBSTR()是 SUBSTRING()的同义词。 应用:SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FOR len) str为字符串;pos为起始位置;len为长度。注意:mysql中的pos是从1开始的,而p...2011-08-29 15:16:47 · 144 阅读 · 0 评论 -
ORACLE TRIM 详解【转】
In Oracle/PLSQL, the trim function removes all specified characters either from the beginning or the ending of a string.The syntax for the trim function is:trim( [ leading | trailing | bot...原创 2010-10-20 12:43:59 · 174 阅读 · 0 评论 -
Mysql重新安装问题解决
今天在执行sql文件创建表时总是提示出错,“KEY `user_id` (`user_id`) USING BTREE,” 遇到 USING BTREE 总是会报错,最终发现是mysql版本低了,于是卸掉原来的来重新安装新版本,但是遇到了无法启动服务(could not start the service MYSQL.)、Apply security settings 出错 种种问题,...2011-01-12 10:51:35 · 224 阅读 · 0 评论 -
MySQL 5.5 已经使用ENGINE替代了TYPE
今天建表使用Navicat for MySQL version8 在选项中设置表类型为MyISAM后,保存时报错,如下图所示: 而在SQLyog企业版 v8.14中,同样操作则可以正常设置表类型。 了解MySQL 5.5的新特性可知,已经使用ENGINE替代了TYPE,默认的...2011-04-19 13:36:42 · 172 阅读 · 0 评论 -
MYSQL UUID
1. 简介通用唯一识别码 (Universally Unique Identifier, UUID) 是一个软件建构的标准,亦为自由软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。2. 作用是让分布式系统中的所有元素,都能有唯一的辨识信息,...2011-04-18 15:13:11 · 271 阅读 · 0 评论 -
replace 修改数据库表记录信息
由于图片存储路径的变更,需要修改相关数据库表字段中存储的记录信息(把表table中的name字段中的aa替换为bb),具体如下:update tablename set fieldname=replace(fieldname,'aa','bb'); 其他应用:1.replace intoreplace into table (id,name) values('1',...原创 2010-08-25 10:11:26 · 382 阅读 · 0 评论 -
Fatal error: Call to undefined function mysql_connect()
是PHP5没有配置好, PHP5不再默认支持MYSQL了.你需要修改PHP.INI, 把EXTENSION中的关于MYSQL的DLL文件前的 ; 去掉, 同时把PHP5安装包里的一个叫libmysql.dll的DLL文件复制到C:\windows或C:\windows\system32目录中, 然后重启系统, 那MYSQL应该可以启动了...原创 2010-08-24 09:31:32 · 128 阅读 · 0 评论 -
一个字段匹配的sql语句书写
新的一年开始了,首先向大家拜个年,祝大家过年好! 这几天负责一个家教门户网站的开发,基于cakephp框架。在培训机构表(schools)中存在一个字段subject用来存储另一个数据表(subjects)中记录的id值,且存储形式为:'1,2,3,4,5'。但是在应用高级搜索过滤时页面select选项option的传值为subjects的id值,需要判断...原创 2010-02-24 11:29:04 · 187 阅读 · 0 评论 -
sql条件字段值类型转换问题
今天发现一个有趣的问题:users表中存在id为1、2、3的三条记录,当我执行以下sql查询数据库时,SELECT * FROM users WHERE id = '1.html'; 竟然发现可以查询出id为1的user记录信息,有点意外。 修改字段属性,将id由int类型转换为varchar类型后,执行上一条sql,查询结果为空。由此可见,当执行sql时,首先字段的值...2011-03-29 10:54:19 · 556 阅读 · 0 评论 -
一个 "NOT IN" 引发的错误
前几天用到 “NOT IN” 用做条件过滤时,发现少了部分数据,后来仔细查看数据时发现将查询字段为 NULL 状态的记录忽略掉了。记录下来,以备日后总结。 实例如下:1. 数据库users表中存在如下记录: 2. 查询 email 不为 “aa@test.com” 的记录:SELECT * FROM users WHERE email NOT IN ('...2011-11-01 19:15:50 · 178 阅读 · 0 评论 -
mysql 命令行操作
一、连接、退出MySQL 连接格式: mysql -h 主机地址 -u 用户名 -p 用户密码 (注:u与root可以不用加空格,其它也一样)退出MYSQL命令: exit (回车)二、修改密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码mysqladmin -uroot -proot password 12...原创 2012-09-11 17:19:52 · 179 阅读 · 0 评论 -
Cannot connect to MySQL 4.1+ using old authentication
Q:同一项目组,其他人可以连接测试服务器mysql数据库,而我的一直报错,连接错误。错误信息:“Cannot connect to MySQL 4.1+ using old authentication”! A:First check with the SQL querySHOW VARIABLES LIKE 'old_passwords'(in the ...原创 2012-04-12 13:30:25 · 97 阅读 · 0 评论 -
利用sqlyog 导入sql文件时,出现“MySQL SERVER has gone away”错误
问题描述:使用sqlyog将数据库数据导出为sql文件,再次将sql文件导入另外一个数据库时,发生异常,提示:MySQL SERVER has gone away产生原因:可能是导出的数据文件太大了,超过了max_allowed_packet上限解决办法:直接在sqlyog里面执行,修改这两个变量的值:set global max_allowed_packet=100000...原创 2012-04-12 12:09:04 · 391 阅读 · 0 评论 -
MySql 排序
1. 多条件排序: 根据喜欢数倒序(喜欢数相同时,根据创建时间倒序)查询状态为正常的10条记录。SELECT * FROM aaa WHERE `status` = 1 ORDER BY love_count DESC, create_time DESC LIMIT 0,10; *注意: 如果上述sql写为如此形式呢?SELECT * FROM a...原创 2012-06-21 18:24:10 · 104 阅读 · 0 评论 -
【转】Mysql常用命令行大全
第一招、mysql服务的启动和停止net stop mysqlnet start mysql 第二招、登陆mysql语法如下: mysql -u用户名 -p用户密码键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:mysql>注意,如果是连接到另外的机器上,则需要加入一个...原创 2012-05-30 17:17:27 · 97 阅读 · 0 评论 -
MySQL查询缓存与执行计划
PS:原创文章,如需转载,请注明出处,谢谢! 本文地址:http://flyer0126.iteye.com/blog/1331500 一、MySQL查询缓存 查询缓存存储SELECT查询的文本以及发送给客户端的相应结果。如果随后收到一个相同的查询,服务器从查询缓存中重新得到查询结果,而不再需要解析和执行查询。注意:1. 查询缓存不...2011-12-31 12:14:16 · 200 阅读 · 0 评论