mysql
moqiang02
这个作者很懒,什么都没留下…
展开
-
MySQL性能分析工具profile使用教程
分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和session级别来设置。对于全局级别则作用于整个MySQL实例,而session级别紧影响当前session。该参数开启后,后续执行的SQL语句都将记录其资源开销,诸如IO,上下文切换,CPU,Memory等等。根据这些开销进一步分析当前SQL瓶颈从而进行优转载 2015-01-05 21:30:39 · 2642 阅读 · 0 评论 -
Linux下MySQL数据库主从同步配置
说明:操作系统:CentOS 5.x 64位MySQL数据库版本:mysql-5.5.35MySQL主服务器:192.168.21.128MySQL从服务器:192.168.21.129准备篇:说明:在两台MySQL服务器192.168.21.128和192.168.21.129上分别进行如下操作备注:作为主从服务器的MySQL版本建议使用同一版本!或者必须保证转载 2014-10-09 07:55:58 · 1289 阅读 · 0 评论 -
利用keepalived构建高可用MySQL-HA
关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享转载 2014-10-20 20:40:38 · 662 阅读 · 0 评论 -
MySQL "replace into" 的坑
MySQL 对 SQL 有很多扩展,有些用起来很方便,但有一些被误用之后会有性能问题,还会有一些意料之外的副作用,比如 REPLACE INTO。比如有这样一张表:12345678CREATE TABLE `auto` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `k` int转载 2014-11-26 11:12:22 · 656 阅读 · 0 评论 -
MySQL 主主同步配置步骤
创建同步用户、修改 /etc/my.cnf 配置文件,为其添加以下内容、分别重启服务器ODD EVEN 上的mysql服务转载 2014-11-03 11:02:18 · 543 阅读 · 0 评论 -
Mysql行级锁/页级锁/表级锁详解
页级:引擎 BDB。表级:引擎 MyISAM , 理解为锁住整个表,可以同时读,写不行行级:引擎 INNODB , 单独的一行记录加锁表级:直接锁定整张表,在你锁定期间,其它进程无法对该表进行写操作。如果你是写锁,则其它进程则读也不允许行级:仅对指定的记录进行加锁,这样其它进程还是可以对同一个表中的其它记录进行操作。页级:表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取转载 2014-10-31 13:35:12 · 1039 阅读 · 0 评论 -
MySQL中Decimal类型和Float Double等区别
MySQL中存在float,double等非标准数据类型,也有decimal这种标准数据类型。其区别在于,float,double等非标准类型,在DB中保存的是近似值,而Decimal则以字符串的形式保存数值。数据定义float(M,S) M为全长,S为小数点后长度。对于不精准的例子,网络上很多,Copy如下:mysql> create table t1(c1 float(10转载 2014-10-30 11:08:28 · 10191 阅读 · 1 评论 -
MySQL事务处理
《PHP与MYSQL权威指南》第245页,事务处理原创 2014-10-19 21:05:23 · 737 阅读 · 0 评论 -
mysql float和double类型的区别
1.float类型 float列类型默认长度查不到结果,必须指定精度, 比如 num float, insert into table (num) values (0.12); select * from table where num=0.12的话,empty set。 num float(9,7), insert into table (num) values (转载 2014-10-30 11:39:48 · 21869 阅读 · 0 评论 -
实例说明optimize table在优化mysql时很重要
今天在看CU的时候,发现有人问有关optimize来表优化的问题,当年因为这个问题,困扰我很长一段时间,今天有空我把这个问题,用实际数据来展示出来,让大家可以亲眼来看看,optimize table的重要作用,而不是似是而非的估计了。一,原始数据1,数据量mysql> select count(*) as total from ad_visit_history;+--------转载 2014-10-30 07:25:22 · 3060 阅读 · 0 评论 -
MySQL搭建Amoeba_读写分离
一、背景知识Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。要想搭建Amoeba读写分离,首先需要知道MySQL的主从配置,可参考:Ubuntu10下MySQL搭建Master/Slave,更好的情转载 2014-10-11 07:53:31 · 709 阅读 · 0 评论 -
mysql分表的3种方法
一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。在这个执行过程中最花时间在什么地方呢?第一转载 2014-10-19 22:24:48 · 630 阅读 · 0 评论 -
Amoeba for mysql读写分离
安装JDK环境下载jdk1.5或者更新版本,地址 http://java.sun.com/javase/downloads/index.jsp我用的是:jdk-6u20-linux-i586-rpm.bin在Amoeba server上执行chmod +x jdk-6u20-linux-i586-rpm.bin./ jdk-6u20-linux-i586-rpm.bin##转载 2014-10-11 07:48:13 · 1011 阅读 · 0 评论 -
使用mysql中的with rollup得到group by的汇总信息
使用mysql中的with rollup可以得到每个分组的汇总级别的数据: 表如下:CREATE TABLE `test3` ( `id` int(5) unsigned NOT NULL AUTO_INCREMENT, `name1` varchar(10) DEFAULT NULL, `name2` varchar(10) DEFAULT NULL, `cn原创 2014-10-30 18:05:09 · 2080 阅读 · 0 评论 -
MySQL关联left join 条件on与where不同
以下的文章主要讲述的是MySQL关联left join 条件on与where 条件的不同之处,我们现在有两个表,即商品表(products)与sales_detail(销售记录表)。我们主要是通过这两个表来对MySQL关联left join 条件on与where 条件的不同之处进行讲述。products:pid pname pcode1 商品1 AC902 商品2 DE783原创 2014-08-28 08:00:36 · 3588 阅读 · 0 评论 -
Mysql函数FIND_IN_SET()的使用方法
我们可以设计一个如:一只手机即是智能机,又是Andriod系统的。比如:有个产品表里有一个type字段,他存储的是产品(手机)类型,有 1、智能机,2、Andriod系统,3、小米系统,4、1000元以下现在有条手机的记录即是1000元以下的,又是智能机,还是Andriod的系统。type中以 4,1,2的格式存储.那们我们如何用sql查找所有type中有4的1000元以下的手机呢转载 2015-01-17 16:07:36 · 1501 阅读 · 0 评论 -
Mysql 列转行统计查询 、行转列统计查询
-- ------------------------------ Table structure for `TabName`-- ----------------------------DROP TABLE IF EXISTS `TabName`;CREATE TABLE `TabName` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `Nam转载 2015-02-03 22:13:58 · 2314 阅读 · 0 评论 -
Mysql行转列
准备表数据CREATE TABLE test_user ( name varchar(50) DEFAULT NULL, subject varchar(50) DEFAULT NULL, score int(11) DEFAULT NULL);insert into test_user values('zhangsan' , 'chinese' , 10),('zhang转载 2015-02-03 22:07:50 · 1590 阅读 · 0 评论 -
Mysql PARTITION 数据表分区技术
在这一章节里, 我们来了解下 Mysql 中的分区技术 (RANGE, LIST, HASH) Mysql 的分区技术与水平分表有点类似, 但是它是在逻辑层进行的水平分表, 对于应用而言它还是一张表, 换句话说: 分区不是实际真正的对一张表进行拆分,分区之后表还是一个表,它是把存储文件进行拆分。在 Mysql 5.1(后) 有了几种分区类型: RANGE分区: 基于属于一个转载 2014-12-26 16:00:29 · 589 阅读 · 0 评论 -
MySQL中安装样本数据库Sakila过程
通常情况下对于一个全新的MySQL服务器,没有任何数据供我们测试和使用。对此,MySQL为我们提供了一些样本数据库,我们可以基于这些数据库作基本的操作以及压力测试等等。本文描述的是安装sakila数据库。该数据库需要安装在MySQL 5.0以上的版本。以下是其描述。1、下载种子数据库下载位置:http://downloads.mysql.com/docs/sakila-db.zip转载 2014-12-11 15:26:29 · 1059 阅读 · 0 评论 -
如何设计sql数据库,以实现商品自定义属性
我最近在开发过程中发现一个问题,有关sql数据库设计的,这个问题有点典型,可是我一直弄不明白。这是一个关于自定义商品属性字段的问题。我们在定义goods(商品)表的时候,我们已经定义了一些属性字段,同时,肯定有些属性需要用户自定义,这该怎么实现呢。--商品的基本信息表CREATE TABLE [GOODS] ( [ID] [BIGINT] IDENTITY (1, 1) NO转载 2015-02-03 22:03:56 · 5345 阅读 · 0 评论 -
为什么mysql字段要设置为not null?
相信很多用了mysql很久的人,对这两个字段属性的概念还不是很清楚,一般会有以下疑问:1、我字段类型是not null,为什么我可以插入空值2、为毛not null的效率比null高3、判断字段不为空的时候,到底要 select * from table where column 带着上面几个疑问,我们来深入研究一下null 和 not null 到底有什么不一样。首转载 2015-01-14 21:28:19 · 5959 阅读 · 0 评论 -
如何查出同一张表中字段值重复的记录
比如现在有一人员表(表名:peosons) 若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来select p1.* from persons p1,persons p2where p1.id=p2.id and p1.cardid = p2.cardid and p1.pname = p2.pname and p1.address = p2.address 可以实现上述效果.转载 2014-03-25 14:36:49 · 7909 阅读 · 0 评论 -
MYSQL外键(Foreign Key)的使用
在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立; 3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换转载 2014-12-02 15:40:22 · 653 阅读 · 0 评论 -
MySQL在远程访问时非常慢的解决skip-name-resolve
mysql和web服务器分开了,感觉页面打开好慢。在测试服务器根本没有这个问题,分开了应当更快才到,但是反而更慢了。记得以前改过这样的问题,时间长了,淡忘了。老了,记性不好了。哈哈。解决方法:[mysqld]skip-name-resolve在mysqld中加上skip-name-resolve,重起mysql就OK了。这样也会产生问题,GRAN转载 2014-03-20 16:50:10 · 10975 阅读 · 0 评论 -
使用Amoeba for mysql实现mysql读写分离(测试可行)
Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性、Query过滤、读写分离、可路由相关的query到目标数据库、可并发请求多台数据库合并结果。 在Amoeba上面你能够完成多数据源的高可用、转载 2014-10-11 07:18:41 · 783 阅读 · 0 评论 -
windows下使用MYSQL的mysqldumpslow进行慢日志分析
1、首先安装好perl环境。2、在dos环境中,切换到perl目录中,例如我的目录是dos 命令 cd c:\Perl\bin3、在此目录输入perl mysqldumpslow的路径\mysqldumpslow.pl+mysqldumpslow命令 +slow.log的路径+输出的地方例如:我的mysqldumpslow目录为slow.log的目录为C:\Perl\bin\s转载 2014-06-24 23:50:42 · 3700 阅读 · 0 评论 -
如何在windows下是用mysqldumpslow命令
1. 再一次点击mysql安装文件(默认是没安装mysqldumpslow这些脚本的),如图: 点击next如下图 点击Developer Components 旁边的选择this feature , and all subfeatures will be Install(安装所有子项)… 之后一步一步继续安装下去,完成之后,你会看到你的mysql安装目录下多了一个script转载 2014-06-24 23:53:35 · 6078 阅读 · 0 评论 -
mysql join操作
join的类型1. 内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。2. 外联结:分为外左联结和外右联结。 案例背景create table java (name varchar(255));insert into java values ('java1'),('java2'),('blue'); create table转载 2014-05-10 00:05:47 · 629 阅读 · 0 评论 -
linux 简单的mysql备份和导入,以及文件的备份和导入
一,数据库的备份与导入1),数据库的备份1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名例:mysqldump -u dbadmin -p myblog > /home/zhangy/blog/database_bak/myblog.sql2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名转载 2014-03-21 22:52:04 · 604 阅读 · 0 评论 -
MySQL配置文件my.cnf详解
MySQL配置文件my.cnf 例子最详细解释,可以保存做笔记用。#BEGIN CONFIG INFO#DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大#TYPE: SYSTEM#END CONFIG INFO## 此mysql配置文件例子针对4G内存。# 主要使用INNODB#处理复杂队列并且连接数量较少的mysq转载 2014-03-29 13:20:23 · 878 阅读 · 0 评论 -
MySQL优化实例
在Apache, PHP, MySQL的体系架构中,MySQL对于性能的影响最大,也是关键的核心部分。对于Discuz!论坛程序也是如此,MySQL的设置是否合理优化,直接 影响到论坛的速度和承载量!同时,MySQL也是优化难度最大的一个部分,不但需要理解一些MySQL专业知识,同时还需要长时间的观察统计并且根据经验 进行判断,然后设置合理的参数。下面我们了解一下MySQL优化的一些基础,转载 2014-03-29 13:23:45 · 618 阅读 · 0 评论 -
MySQL优化步骤和my.cnf优化配置
1、查看机器配置,指三大件:cpu、内存、硬盘2、查看mysql配置参数3、查看mysql运行状态,可以用mysqlreport工具来查看4、查看mysql的慢查询依次解决了以上问题之后,再来查找程序方面的问题。my.cnf缓存优化在 my.cnf 中添加/修改以下选项:#取消文件系统的外部锁skip-locking#不进行域名反解析,注意由此带来的转载 2014-03-29 13:23:07 · 760 阅读 · 0 评论 -
linux高负载下mysql数据库彻底优化
同时在线访问量继续增大 对于1G内存的服务器明显感觉到吃力严重时甚至每天都会死机 或者时不时的服务器卡一下 这个问题曾经困扰了我半个多月MySQL使用是很具伸缩性的算法,因此你通常能用很少的内存运行或给MySQL更多的被存以得到更好的性能。安 装好mysql后,配制文件应该在/usr/local/mysql/share/mysql目录中,配制文件有几个,有my-huge.cnf my-me转载 2014-03-29 13:21:14 · 704 阅读 · 0 评论 -
mysql通过sql语句判断某个字段在一张表中是否存在
应用场景:我有一张表,表里面都是用户用来激活游戏的激活码,当用户在前端页面输入激活码时,要查询数据表中是否有这条激活码,如果有就返回“1”,没有则返回“0”。 具体实现的SQL语句:SELECT 1 FROM c_member_activation WHERE core='$core';原创 2014-03-10 14:09:06 · 4183 阅读 · 0 评论 -
导入 Mysql 示例数据库 employees
Mysql也有跟Oracle的scott与employees相似的数据库,这样就免除了每次都要自己建表并插入数据了。Mysql提供的供练习使用的数据库employees,下面地址:https://launchpad.net/test-db/employees-db-1/1.0.6下载其中的employees_db-full-1.0.6.tar.bz2,之后按下列步骤解压缩,并安装。1转载 2014-07-22 06:35:52 · 2938 阅读 · 0 评论 -
Linux下MySQL慢查询分析mysqlsla安装使用
说明:操作系统:CentOS 5.X 64位MySQL版本:mysql-5.5.35MySQL配置文件:/etc/my.cnfMySQL 数据库存放目录:/data/mysql实现目的:开启MySQL慢查询日志功能,安装使用MySQL慢查询分析mysqlsla具体操作:一、开启MySQL慢查询功能mysql -u root -p转载 2014-07-22 23:03:26 · 801 阅读 · 1 评论 -
快速开启MySQL慢日志查询的方法
MySQL慢日志查询对于很多刚接触MySQL数据的新人来说比较陌生,下面就为您介绍MySQL慢日志查询的用法和好处,供您参考。 mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的 打开 my.ini ,找到 [mysqld] 在其下面添加 long_query_time = 2log-slow-queries = D:/mysql/l转载 2014-06-24 17:30:56 · 635 阅读 · 0 评论 -
mysql非常全的和完整的总结
1.mysql小基础(1)数据类型 类型备注tinyint/smallint/mediumint/int/bigint1B/2B/3B/4B/8Bfloat/double单精度/双精度浮点型decimal不会产生精度丢失的单精度/双精度浮点型d原创 2014-06-11 08:58:30 · 958 阅读 · 0 评论 -
Linux下修改Mysql的用户(root)的密码
修改的用户都以root为列。一、拥有原来的myql的root的密码;方法一:在mysql系统外,使用mysqladmin# mysqladmin -u root -p password "test123"Enter password: 【输入原来的密码】方法二:通过登录mysql系统,# mysql -uroot -pEnter password: 【输转载 2014-08-12 22:43:32 · 638 阅读 · 0 评论