随笔分类 -  Mysql

摘要:之前用的是ubuntu系统,直接从Mysql官网下载Mysql5.5源码编译,但总是无法通过,所以最后只得通过ubuntu的软件源安装,源的Mysql版本是5.1.那个乱码问题基本好解决,但是最后换到fedora15系统后,从源安装Mysql版本是5.5,安装好后发现中文会出现?代替,查看后发现character_set_server和character_set_database字符集仍是latin1,但是安装网上的办法修改my.cnf后数据库启动就会失败,恢复my.cnf文件后就能正常启动。所以在这总结以下mysql的乱码问题。 首先一点是,Mysql字符集设置分为服务器级,数据库级,表级和 阅读全文
posted @ 2013-08-14 15:30 hoho,SalesForce 阅读(383) 评论(0) 推荐(0)
摘要:一、配置防火墙,开启80端口、22端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)-A INPUT -m state --state NEW -m tcp -p tcp --dport21 -j ACCEPT(允许21端口通过防火墙)以上规则要加到这段之前-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icm 阅读全文
posted @ 2013-07-25 10:41 hoho,SalesForce 阅读(478) 评论(0) 推荐(0)
摘要:1、优化group by 语句 如果查询包含group by 但是用户想避免排序结果的损耗,则可以使用order by null来禁止排序Mysql > explain select * from temp group by cls order by null;2、优化嵌套查询 尽量避免使用嵌套查询,多使用链接查询。 阅读全文
posted @ 2013-07-20 17:09 hoho,SalesForce 阅读(156) 评论(0) 推荐(0)
摘要:1、检查数据表 check table table_name;2、优化数据表 optimize table table_name;3、大批量插入数据当用load导入数据的时候,适当设置可以提高导入速度()infile outfile 命令对于Myisam存储引擎的表可以通过一下方式快速的导入大量的数据。alter table table_name disable keys;//loading the dataalter table table_name enable keys;disable keys 和 enable keys 用来打开或者关闭Myisam 表非唯一索引的更新,可以提高速度。 阅读全文
posted @ 2013-07-18 11:38 hoho,SalesForce 阅读(199) 评论(0) 推荐(0)
摘要:需要注意的:1、where条件中 like 查询 %号在前面用不上索引2、where条件中 用and、or 查询 前后字段都要加索引,否则索引无效3、如果列类型是字符串,但在查询时把一个数值型常量赋值给了一个字符型的列名name,那么虽然在name列上有索引,但是也会不能用到。4、查看索引的使用情况mysql>show status like 'Handler_read%'; 阅读全文
posted @ 2013-07-18 11:04 hoho,SalesForce 阅读(163) 评论(0) 推荐(0)
摘要:1、正则表达式的使用Mysql > select name,email from t where email regexp "@163[.,]com$"2、巧用Rand()提取随机行Mysql > select * from t order by rand(); Mysql > select * from order by rand() limit 3; //随机取出三条数据3、利用group by 的 with rollup使用group by的with rollup字句可以检索出更多的分组聚合信息。 注意:with rollup 不可以和order b 阅读全文
posted @ 2013-07-17 11:40 hoho,SalesForce 阅读(253) 评论(0) 推荐(0)
摘要:1、mysql基础操作2、常用的sql技巧3、sql语句优化4、mysql数据库优化5、myisam表锁6、mysql服务器优化一、mysql基础操作1.1 mysql 表复制复制表结构+复制表数据mysql > create table t3 like t1;mysql > insert into t3 select * from t1;1.2 mysql 索引1、alter table 用来创建普通索引,unique索引或者parimary key索引alter table tab_name add index index_name(column_list) //普通索引alt 阅读全文
posted @ 2013-07-16 12:25 hoho,SalesForce 阅读(410) 评论(0) 推荐(0)
摘要:几年前,俺写过一篇题为“The Foundation of Excellent Performance”的文章(现在仍然可以在http://www.tdan.com/i016fe03.htm看 到),俺对SQL语句是影响数据库驱动系统性能的第一要素的观点有点质疑。其实在那时我在文章中就坚信数据库的物理设计在对高级数据库的性能影响上远比其 他因素重要。同时俺还给大家看了Oracle的研究,他们解释了为什么拙劣的物理设计是数据库停机(无论是有计划的还是没计划的)背后的主要原因。这么多 年都过来啦(幸好没多少人朝俺扔砖头),俺的观点是改变了一些,但在这点上俺还是坚持DBA如果想要高性能的数据库就必须 阅读全文
posted @ 2013-07-15 10:06 hoho,SalesForce 阅读(318) 评论(0) 推荐(0)
摘要:RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区。LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。 www.2cto.com HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。KEY 分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL 服务器提供其自身的哈希函数。必须有一列或多列包含整数值。一般用得多的是range分区和list分区。分区表的创建1、RANGE分 阅读全文
posted @ 2013-07-12 17:08 hoho,SalesForce 阅读(371) 评论(0) 推荐(0)
摘要:系统环境:CentOS 5.5CentOS 5.5的源mysql目前还停留在5.0.19上,要做数据库主从的时候,必须升级到5.1以上。索性,直接到5.5吧1、安装MySQL 5.5.x的yum源:rpm -Uvhhttp://repo.webtatic.com/yum/centos/5/latest.rpm2、安装MySQL客户端的支持包:yum install libmysqlclient15 --enablerepo=webtatic3、卸载MySQL老版本的软件包:yum remove mysql mysql-*4、安装MySQL 5.5的客户端和服务端:yum install mys 阅读全文
posted @ 2013-07-12 11:31 hoho,SalesForce 阅读(391) 评论(0) 推荐(0)
摘要:错误提示 :mysqlbinlog: File 'log.000002' not found (Errcode: 2) 可能原因:当前位置并不在 mysql的日志文件目录下show master status; // 查看最后的二进制日志show master logs; //查看所有的二进制日志文件flush master; //产生一个新的二进制文件,并从当前时间开始记录日志reset master; //清空所有的二进制文件mysqlbinlog --no-defaults mysql-bin.000001 // 查看二进制文件mysqlbinlog --no-defau 阅读全文
posted @ 2013-07-10 16:23 hoho,SalesForce 阅读(373) 评论(0) 推荐(0)