分类目录归档:数据库

mysql too many open connections解决

曾经以为在my.cnf写入max_connections = 2000 就可以改变mysql的最大并发量,今天查到一个命令,发现服务器的mysql最大连接数为151. 控制台,连接上mysql show variables; 这条命令可以看到所有基础配置 如果单独看max_connections可以这样 show variables like ‘max%’; +—————————-+————+ | Variable_name | Value | +—————————-+————+ | max_allowed_packet | 1048576 | | max_binlog_cache_size | 4294963200 | | max_binlog_size | 1073741824 | | max_connect_errors | 10 | … 继续阅读

发表在 数据库, 高并发与大数据 | 标签为 , , , | 留下评论

开发人员必须会的mysql日志查看

作为一名开发人员,基本都会和mysql打打交道。(有人说我用sqlserver,好吧,你可以飘过了) 会用日志,有利于我们找出自己开发代码里,不良的sql语句调用。 第一弹:mysql日志查看第一弹 1.首先确认你日志是否启用了 mysql>show variables like ‘log_bin’; 2.如果启用了,即ON 那日志文件就在mysql的安装目录的data目录下 3.怎样知道当前的日志 mysql> show master status; 4.看二进制日志文件用mysqlbinlog shell>mysqlbinlog mail-bin.000001 或者shell>mysqlbinlog mail-bin.000001 | tail show variables like ‘log_bin’; +—————+——-+ | Variable_name | Value | +—————+——-+ | log_bin | ON | +—————+——-+ 1 … 继续阅读

发表在 PHP, 数据库 | 标签为 , , , , | 一条评论

php插入mysql过滤特殊字符

网络上流传的各种版本目前无法解决各种错乱的符号单引号,双引号,等等等 月小升从mysql的phpmyadmin里翻出来一段导出mysql的代码的过滤方法。 PMA_sqlAddslashes function PMA_sqlAddslashes($a_string = ”, $is_like = false, $crlf = false, $php_code = false) { if ($is_like) { $a_string = str_replace(’\\’, ‘\\\\\\\\’, $a_string); } else { $a_string = str_replace(’\\’, ‘\\\\’, $a_string); }   if ($crlf) { $a_string = … 继续阅读

发表在 PHP, 数据库 | 标签为 , , , , | 留下评论

ubuntu安装Redis Live监控服务

redis live为监控redis服务的软件,带有监控web界面。 流传于互联网的各种教程,都有个巨大的让人搞不太清楚的问题。就是到底RedisStatsServer 6381端口哪里来的问题。 月小升采用逐步安装的办法。也没有找到,有知道如何配置RedisStatsServer的朋友,请告知。以下正文为放弃6381的安装方法。 一般Linux自带python版本 安装python 相关 pip命令 sudo apt-get install python-setuptools sudo easy_install pip pip-2.6 install tornado pip-2.6 install redis pip-2.6 install python-dateutil 查看你机器python版本 直接输入python 如果低于2.7 安装 pip-2.6 install argparse 下载 redis live链接 https://github.com/kumarnitin/RedisLive/zipball/master 进入src目录修改redis-live.conf { "RedisServers": [ … 继续阅读

发表在 Linux, 数据库, 高并发与大数据 | 标签为 , , , | 2 条评论

MYSQL分页limit速度太慢

最近一个网站的服务器评论被人刷死,导致mysql数据库异常发生too many open connections 引发的SQL语句 SELECT a.uid, a.veil, a.content, a.datetimes, a.audit, b.user_name, b.uc_id FROM news_talkabout a LEFT JOIN users_info b ON a.uid = b.id WHERE infoid =11087 ORDER BY a.id DESC LIMIT 451350 , 30 丢在phpmyadmin里执行一下,是很慢。 让人思考是什么因素 SELECT a.uid, a.veil, … 继续阅读

发表在 PHP, 数据库 | 标签为 , | 一条评论

数据库51年来十八件大事年表

数据库经历了这么多年,它的历史你知道多少 1961年:通用电气着手开发Integrated Data Store(IDS,集成数据存储)。通常来讲,IDS被认为是第一个“完全的”数据库。在今天的NoSQL数据库出现的数十年以前,IDS所做的就是如今NoSQL和大数据的工作。 1967:IBM 开发出Information Control System and Data Language/Interface(ICS/DL/I,信息控制系统与数据语言/界面),这是阿波罗(Apollo)项目的分级数据库。ICS随后变 成了Information Management System(IMS,信息管理系统),与IBM的System360主机整合到一起。 1970年:IBM研究员埃德加?科德(Edgar Codd)发表题为《大型共享数据库的关系模型》(A Relational Model of Data for Large Shared Data Banks)论文,建立了关系型数据库所使用的数学基础。 1973年:大卫?伍利(David R. Woolley)开发出了PLATO Notes,用一个文本文件作为报错系统的数据存储方式。PLATO Notes对随后Lotus Notes的出现形成了影响。 1974 年:IBM着手开发System R,将科德的关系型数据库模型变成了现实,首次使用了SQL(结构化查询语言),随后这个系统演变成了商业化产品IBM DB2。在科德研究的启发下,伯克利大学的学生迈克尔?斯通布雷克(Michael Stonebraker)和尤金?王(Eugene Wong)开始开发INGRES,它随后成为了PostGreSQL、Sybase及其他许多关系型数据库的基础。 1979年:第一个公开可用版本的Oracle数据库发布。 1984年:雷?奥兹(Ray Ozzie)成立Iris … 继续阅读

发表在 数据库, 科技精品 | 标签为 | 留下评论

Jedis 连接池JedisPool 解决connection timeout问题

今天发现Jedis 默认的连接方式 jedis=new Jedis(“localhost”,6379),老是发生connection timeout. 后来发现jedis类包还有一种可以设置最大连接时间的方法。 1->获取Jedis实例需要从JedisPool中获取; 2->用完Jedis实例需要还给JedisPool; 3->如果Jedis在使用过程中出错,则也需要还给JedisPool; 代码如下 JedisPoolConfig config = new JedisPoolConfig();   config.setMaxActive(100);   config.setMaxIdle(20);   config.setMaxWait(1000l); JedisPool pool; pool = new JedisPool(config, "2xx.xx.xx.14", 6379);   boolean borrowOrOprSuccess = true; try { jedis = pool.getResource(); // … 继续阅读

发表在 JAVA, 数据库, 高并发与大数据 | 标签为 , | 5 条评论

redis常用的命令

redis 常用命令 ./redis-cli -h 192.168.1.112 keys * 遍历所有key KEYS *o* 正则匹配key。查询所有包含o的key。正则表达式,请自由发挥 get tom get 用来获取一个key对应的value set tom 2 set 用来设置一个key 以上为目前常用持续增加中(2012-10-15) DBSIZE 获取数据库记录总数 flushdb 清空目前数据库 flushall 清空所有数据库 2012-10-22 切换数据库 select 0 0-15 默认超过15就不可以了。数据库自动有编号

发表在 JAVA, 数据库, 高并发与大数据 | 标签为 | 留下评论

redis基本数据结构及命令

redis commands命令组合如下 Keys Strings Hashes Lists Sets Sorted Sets Pub/Sub Transactions Scripting Connection Server 1 Redis 键 keys Redis key值是二进制安全的,这意味着可以用任何二进制序列作为key值,从形如”foo”的简单字符串到一个JPEG文件的内容都可以。空字符串也是有效key值。 关于key的几条规则: 1) 太长的键值不是个好主意,例如1024字节的键值就不是个好主意,不仅因为消耗内存,而且在数据中查找这类键值的计算成本很高。 2)太短的键值通常也不是好主意,如果你要用”u:1000:pwd”来代替”user:1000:password”,这没有什么问题,但后者更易阅读,并且由此增加的空间消耗相对于key object和value object本身来说很小。当然,没人阻止您一定要用更短的键值节省一丁点儿空间。 3)最好坚持一种模式。例如:”object-type:id:field”就是个不错的主意,像这样”user:1000:password”。我喜欢对多单词的字段名中加上一个点,就像这样:”comment:1234:reply.to”。 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2 列表类型 Lists LPUSH 命令可向list的左边(头部)添加一个新元素,而RPUSH命令可向list的右边(尾部)添加一个新元素。最后LRANGE 命令可从list中取出一定范围的元素 redis 127.0.0.1:6379> rpush mes “how are … 继续阅读

发表在 数据库, 高并发与大数据 | 标签为 | 一条评论

java连接redis基本操作

下载最新版本的jar包 https://github.com/xetorthio/jedis/downloads 我下载的是xetorthio-jedis-jedis-2.1.0-5-gb9442ea.zip 月小升目前下载最新版本为redis2.1版本 下载发现一堆看不太明白的文件,大致就是MakeFile 之类的。Linux下直接make 也没用上面用。build这一坨文件到这里来学习https://github.com/xetorthio/jedis/wiki 想省心,直接看下面 https://github.com/xetorthio/jedis/archives/master 来这里直接下个jar包好了。 jar包引入就开始搞了。 package com.javaer.redis;   import redis.clients.jedis.Jedis; /** * 用来测试jedis JAVA连接redis * 2012-9-21. * @author mc2 * */ public class RedisTest {   /** * @param args */ public static void … 继续阅读

发表在 JAVA, 数据库, 高并发与大数据 | 标签为 , | 留下评论