手机随时阅读
新人专享大礼包¥24
51CTO博客开发
服务器出现504超时,查log发现有线程锁在LOG4J里面,查看LOG4J的配置,里面把所有的LOG都打印了处理(log4j.rootLogger=ERROR,stdout,fileLog,fileErr和HIBERNATE的debug LOG都输出了),后修改删除不必要的输出,和更新LOG4J的版本(由1.2.15-1.2.17),服务器并发能力明显改善。但过了几天又出现504,发现内存泄漏,检
在使用BigDecimal 四舍五入注意:Double f = 3.151605; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue(); double a=BigDecimal.valueOf(f).setScale(5, BigD
前言在平时开发、测试过程中、甚至是生产环境中,有时会遇到OutOfMemoryError,Java堆溢出了,这表明程序有严重的问题。我们需要找造成OutOfMemoryError原因。一般有两种情况:1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案;2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-X
添加FILTERpublic class XSSFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { }
JSONObject obj=new JSONObject(); obj.put("password", "123"); obj.put("test", "123222"); String a=obj.toString(); obj.put("params", a.substring(1,a.length()-1)); System.out.println(obj);{"password
mysql中You can't specify target table <tbl> for update in FROM clause错误的意思是说,不能先select出同一表中的某些值,再update这个表(在同一语句中)。 例如下面这个sql:delete from tbl where id in ( &nb
本文档用于在决定缓存选型方案时用于讨论使用Memcached还是Redis,以及何时选择使用Twemproxy+ MC/Redis的分布式部署方案(Mongodb等NewSQL服务暂不列入考虑之中) 1.Memcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-
1、数据库命名规范,统一:vip_xxxx0、表一旦设计好,字段只允许增加,不允许减少(drop column)1、统一使用INNODB存储引擎,UTF8编码(整个数据库的编码统一为utf8_general_ci,为此不需要建立表的DDL加上特别CHARACTER SET utf8 COLLATE utf8_general_ci);2、需在设计阶段考虑如果访问量非常大,且不做scale out表拆
导读:本文主要详细测试online DDL中的删除,添加主键操作。关于MySQL5.6在线DDL的全文信息,请参照:MySQL5.6版本InnoDB存储引擎在线DDL变更的官方信息中文翻译版,文章地址:http://www.mysqlops.com/2013/03/26/mysql56-innodb-ddl.html测试目的主要有以下几点:(1):以alter table的方式新增主键,MySQL
Windows下开启MySQL慢查询MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上log-slow-queries = F:\MySQL\log\mysqlslowquery.loglong_query_time = 2Linux下启用MySQL慢查询MySQL在Windows系统中的配置文件一般是是my.cnf找到[mysqld]下面加上log-slo
在mysql5.1以后的版本:客户端带了个工具mysqlslap可以对mysql进行压力测试: 可以使用mysqlslap --help来显示使用方法: Default options are read from the following files in the given order:/etc/mysql/my.cnf /etc/my.cnf ~/.my.cnf 
今天早上领导通知我讲主数据库的时间不对,Linux的系统时间是对的。怎么回事???难道是我以前更改了系统时间造成??怎么解决呢?在mysql手册中有下面这段话:5.10.8. MySQL服务器时区支持MySQL服务器有几个时区设置:· 系统时区。服务器启动时便试图确定主机的时区,用它来设置system_time_zone系统变量。· 服务器当前的时区。全局系统变量time_zone表示服务器当前使
安装完mysql-server 会提示可以运行mysql_secure_installation。运行mysql_secure_installation会执行几个设置:a)为root用户设置密码b)删除匿名账号c)取消root用户远程登录d)删除test库和对test库的访问权限e)刷新授权表使修改生效通过这几项的设置能够提高mysql库的安全。建议生产环境中mysql安装这完成后一定要运行一次m
5.1 版本开始MySQL开始支持plugin API,允许在mysqld运行时载入或者卸载组件,而不需要重启mysqld。plugin API涵盖了UDF、full-text、advanced schema等功能,其中的daemon plugin个人认为是非常的有用。其功能是在plugin载入后可以创建额外的后台线程于mysqld主线程一同协同工作。plugin API的具体实现在sql/sql
一、mysql_install_db说明当MySQL的系统库(mysql系统库)发生故障或需要新加一个mysql实例时,需要初始化mysql数据库。需要使用的命令:/usr/local/mysql/bin/mysql_install_db#/usr/local/mysql/bin/mysql_install_db --help 可以查看帮助信息如下Usage: /usr/local/mysql/b
在学习MySQL手册时,看到根据天数计算访问量时,出现了BIT_COUNT()和BIT_OR()两个函数来处理天数计算的问题所使用的表格信息如下:mysql> select year,month,day from t1;+------+-------+------+| year | month | day |+------+-------+------+| 2000 | 01 | 01 ||
MySQL数据库的版本更新很快,新的特性也随之不断的更新,更主要的是解决了很多影响我们应用的BUG,为了让我们的MySQL变得更美好,我们有必要去给它升级,尽管你会说它现在已经跑得很好很稳定完全够用了。下面我们来看看几种常用的升级方法。介绍之前,我们先做一些声明,MySQL采用二进制包来安装,升级都是在同一台DB Server上操作。第一种,很简单,适用于任何存储引擎。1. 下载并安装好新版本的M
二进制日志增量备份数据库使用的工具是:mysqlbinlog;这个是在5.1版之后就可以用。简单的配置,先去mysql的目录:C:\Program Files\MySQL\MySQL Server 5.5就是my.ini所在的目录;修改my.ini:[mysqld]log-bin='d:/log/mylog' //LOG输出的目录,一定要存在,不然MYSQL重启报错;binlog_format =
mysql备份:完全备份和增量备份完全备份:在cmd下进入该mysql目录下bin目录,mysqldump.exe来执行备份。mysqldump -uroot -p911004 数据库或则数据表>路劲/文件名。在mysql控制台上,恢复时用source 路径/备份文件名完整备份一般一段时间进行一次,且在网站访问量最小的时候,这样常借助批处理文件定时备份。主要是写一个批处理文件在里面写上处理程
今天在备份MYSQL数据库的时候,导出TEST数据时发现报错:C:\Users\Administrator>mysqldump -u root -p test>test.sqlEnter password: ****mysqldump: Got error: 1168: Unable to open underlying table which is differently
mysql的官方说明中提出:严格模式控制MySQL如何处理非法或丢失的输入值。有几种原因可以使一个值为非法。例如,数据类型错误,不适合列,或超出范围。当新插入的行不包含某列的没有显示定义DEFAULT子句的值,则该值被丢失。对于事务表,当启用STRICT_ALL_TABLES或STRICT_TRANS_TABLES模式时,如果语句中有非法或丢失值,则会出现错误。语句被放弃并滚动。 对于非
SELECT INTO TABLE DifferencesMySQL Server 不支持SELECT ... INTO TABLE ,但MySQL Server 支持 INSERT INTO ... SELECT 标准的SQL,For example:INSERT INTO tbl_temp2 (fld_id)SELECT tbl_temp1.fld_order_idFROM tbl
研究过或者熟悉oracle性能调优的朋友都知道oracle 提供很多hint 指定from 后的表的连接顺序,如use_hash ordered ,leading 等,而MySQL 对表的连接只支持 nested loop Join, 提供的表连接驱动的hint 只有--straight_join(相当于Oracle里面的use_nl).其语法如下:select ..from tab1 strai
MySQL sql-mode最近在做一个项目的时候错了一个相当奇怪的问题:代码是我从svn上直接checkout出来的,数据库是从别人的机器上直接dump出来的。环境配置妥当以后,就是在我的机器上不能正常下订单。刚开始不明白,为什么同样的代码,同样的数据库在别人的机器上可以正常的运行,在我的机器上却一直不能正常运行。 之所以出现这样的问题,原因是我机器上mysql是以sql-mode="
好久没有启动MYSQL啦,今天一启动就1067,以为MY.INI配置错了,然后上网查看了下MY.INI经过对比发现没有问题。 就去查看LOG,log在这个目录下:C:/ProgramData/MySQL/MySQL Server 5.5/Data/在MY.INI里面会有这个路径datadir="C:/ProgramData/MySQL/My
Mysql 查询缓存查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间。1.配置查询缓存修改配置文件,修改[mysqld]下的query_cache_size和query_cache_type(如果没有则添加)。其中query_cache_size表示缓存的大小,而query_cache_type有3个
FOUND_ROWS()的用法:例子:CREATE PRODURE TEST(IN NAME VARCHAR(20),OUT NUMBER) ASBEGINIF NAME IS NULL OR NAME=='' THEN SELECT * FROM EMPLOYEES;ELSE SELECT * FRO
在查询时,如果使用到LIKE关键字,就要注意有没有使用到索引; 没有使用索引前:mysql> explain select * from employees where first_name='Georgi'\G;*************************** 1. row ***************************  
ORACLE安装是附带安装employees数据,供练习sql使用。MySQL同样提供了employees数据库,但并未随数据库一起安装,其下载链接也极其隐蔽,可能导致许多人没注意到。下载地址:https://launchpad.net/test-db/employees-db-1/1.0.6建议大家下载:employees_db-full-1.0.6.tar.bz2,解压缩,进入目录,并导入。t
Copyright © 2005-2022 51CTO.COM 版权所有 京ICP证060544号