表示 进入内容 138711388015677
« 先前的 10 新的记录 | 下一步 10 较早的记录 »
优化MySQL的21个建议

   今天一个朋友向我咨询怎么去优化 MySQL,我按着思维整理了一下,大概粗的可以分为21个方向。 还有一些细节东西(table cache, 表设计,索引设计,程序端缓存之类的)先不列了,对一个系统,初期能把下面做完也是一个不错的系统。

1. 要确保有足够的内存

   数据库能够高效的运行,最关建的因素需要内存足更大了,能缓存住数据,更新也可以在内存先完成。但不同的业务对内存需要强度不一样,一推荐内存要占到数据的15-25%的比例,特别的热的数据,内存基本要达到数据库的80%大小。

2. 需要更多更快的CPU

   MySQL 5.6可以利用到64个核,而MySQL每个query只能运行在一个CPU上,所以要求更多的CPU,更快的CPU会更有利于并发。

3. 要选择合适的操作系统

  …

[获取更多]
Mysql安全配置介绍

一、前言

   很多文章中会说,数据库的权限按最小权限为原则,这句话本身没有错,但是却是一句空话。因为最小权限,这个东西太抽象,很多时候你并弄不清楚具体他需要哪些权限。 现在很多mysql用着root账户在操作,并不是大家不知道用root权限太大不安全,而是很多人并不知道该给予什么样的权限既安全又能保证正常运行。所以,本文更多的是考虑这种情况下,我们该如何简单的配置一个安全的mysql。注:本文测试环境为mysql-5.6.4

二、Mysql权限介绍

   mysql中存在4个控制权限的表,分别为user表,db表,tables_priv表,columns_priv表。

   mysql权限表的验证过程为:

1.先从user表中的Host,User,Password这3个字段中判断连接的ip、用户名、密码是否存在,存在则通过验证。
[获取更多]
mysql的cardinality异常,导致索引不可用

   前段时间,一大早上,就收到报警,警告php-fpm进程的数量超过阈值。最终发现是一条sql没用到索引,导致执行数据库查询慢了,最终导致php-fpm进程数增加。最终通过analyze table feed_comment_info_id_0000 命令更新了Cardinality ,才能再次用到索引。

   排查过程如下:

   sql语句:

select id from feed_comment_info_id_0000 where obj_id=101 and type=1;

   索引信息:

show index from feed_comment_info_id_0000
+---------------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | …
[获取更多]
MySQL 5.7: 短连接优化

尽管比较罕见,但某些场景还是存在着短连接,即用户执行完请求后,很快断开会话。伴随着频繁创建/销毁连接的过程。 … Continue reading MySQL 5.7: 短连接优化

Tags:  

Del.icio.us
Facebook
TweetThis
Digg
[获取更多]
openwrt挂载U盘和安装python和mysql

最近在openwrt上安装python时,老出现/overlay空间不足的错误,如下图所示:

不过用命令查看时,其空间确实挺小的:

看了这篇文章之后,想到了用闪存卡来扩容。由于我的系统内部已经有了相关usb驱动模块,所以一插上闪存卡就能识别了

基本想法很简单,先格式化,再挂载,再配置opkg.conf使软件安装到其上。

格式化

挂载到/mnt/usb目录

【python】  【mysql】  【http】  【random】   …

[获取更多]
关于Galera的几个答疑 by stephane Combaudon@percona

galera关注了很久很久了,作为一个坚定的推广者,不时的会碰到有人问这样那样的问题,其中核心的问题有几个,这几天刚好在percona看到一篇文章,一定要推荐一下,地址为:

http://www.percona.com/blog/2014/11/17/typical-misconceptions-on-galera-for-mysql/

 

大致的要点有以下几条,记录如下:

1.在使用Galera的时候为啥还要开binlog?

在使用Galera的时候,推荐配置为:

log_bin

log_slave_updates

binlog_format =row

Galera的节点间数据复制不需要开binlog,但是binlog可以备份数据,特别是用row格式的,如果某个节点或者整个集群down掉,binlog是最好的恢复数据方法。

2. 设置 …

[获取更多]
MySQL查询大小写是否敏感问题分析

mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的。

1. 什么是字符集和校验规则?

字符集是一套符号和编码。校对规则是在字符集内用于比较字符的一套规则。任何一个给定的字符集至少有一个校对规则,它可能有几个校对规则。要想列出一个字符集的校对规则,使用SHOW COLLATION语句。

校对规则一般有这些特征:

  • 两个不同的字符集不能有相同的校对规则。

  • 每个字符集有一个默认校对规则。例如,utf8默认校对规则是utf8_general_ci。

[获取更多]
PHP调用存储过程返回值不一致的问题

今天遇一个同学聊存储过程返回值经常得到意外的值为null, 因为白天有事,晚上给做一个实验放在这里供有相应问题的同学查看一下。
存储过程:

1 2 3 4 5 6 7 delimiter// createprocedureusp_s2(outpar1int) begin selectinet_ntoa(ip),portfromproxy_listlimit5; selectcount(*)intopar1fromproxy_list; END// delimiter;

session 1执行:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 mysql>callusp_s2(@a); +—————+——+ |inet_ntoa(ip)|port| +—————+——+ |1.34.21.86    |8088| |1.34.59.50    |8088| |1.34.69.15    |8088| |1.34.73.110   |8088| |1.34.76.218   |8088| +—————+——+ 5rowsinset(0.00sec) QueryOK,1rowaffected(0.01sec) mysql>select@a; +——+ |@a …
[获取更多]
MySQL一个异常查询问题追查

   问题

   用户工单疑问:相同的语句,只是最后的limit行数不同。奇怪的是,limit 10 的性能比limit 100的语句还慢约10倍。

   隐藏用户表信息,语句及结果如下

   SELECT f1 , SUM(`f2`) `CNT` FROM T WHERE f1 IS NOT NULL AND f3 = ’2014-05-12′ GROUP BY f1 ORDER BY `CNT` DESC LIMIT 10;

   执行时间3 min 3.65 sec

   SELECT f1 , SUM(`f2`) `CNT` FROM T WHERE f1 IS NOT NULL AND f3 = ’2014-05-12′ GROUP BY f1 ORDER BY `CNT` DESC LIMIT 100;

   执行时间1.24Sec.

   性能差距非常大!

   分析

   MySQL Tips:追查语句执行时最常用的方法,是通过explain来看语句的执行计划。

  …

[获取更多]
马列矛盾理论告诉我们:数据库设计就是‘主体’和‘关系’的设计

MySql 官方工具 WorkBench 设计数据库要点分析 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

【mysql】  【数据库】  【镜像】  【database】  【存储】   …

[获取更多]
表示 进入内容 138711388015677
« 先前的 10 新的记录 | 下一步 10 较早的记录 »