一、 前言
1、之前出了一篇oracle自动巡检脚本生成html报告和一篇Linux服务器系统自动巡检脚本生成html报告,本篇文章出一篇mysql自动巡检脚本生成html报告。 2、脚本只提供部分简单的巡检内容,如binlog信息、数据库运行信息,还有些mysql的一些重要参数配置,其他的巡检内容大家根据实际需要编辑修改,增加符合自己需求的巡检内容。 3、项目已经上传到我的github上 项目地址:mywatch.git
二、注意事项与报告部分截图
注意阅读git上的README.md说明
三、README.md
1、需要使用root用户执行 2、使用说明
多实例下运行此脚本时,要注意区分不同实例的root用户密码与对应端口号
myuser="root"
mypasswd="XXXXX"
myip="localhost"
myport="3306"
3、执行完巡检之后,将在脚本所在的路径下生成html巡检结果报告,如下192.168.35.244os_mysql_simple_summary.html
4、巡检项信息如下(其他统计项可根据实际需要自行添加)
0)、巡检ip信息
1)、数据库基本信息与binlog参数信息
2)、数据库运行状况信息
3)、数据库一些重要参数配置信息
四、脚本内容
ipaddress=`ip a| grep "global" | awk '{print $2}' | awk - F/ '{print $1}' `
file_output=${ ipaddress} 'os_mysql_simple_summary.html'
td_str=''
th_str=''
myuser="root"
mypasswd="XXXXX"
myip="localhost"
myport="3306"
mysql_cmd="mysql -u${myuser} -p${mypasswd} -h${myip} -P${myport} --protocol=tcp --silent"
create_html_css( ) {
echo - e "
"
}
create_html_head( ) {
echo - e "$1 "
}
create_table_head1( ) {
echo - e "%" border=" 1" bordercolor="
}
create_table_head2( ) {
echo - e "%" border=" 1" bordercolor="
}
create_td( ) {
td_str=`echo $1 | awk 'BEGIN{FS="|"}''{i=1; while(i<=NF) {print " "$i" ";i++}}'`
}
create_th( ) {
th_str=`echo $1 | awk 'BEGIN{FS="|"}''{i=1; while(i<=NF) {print " "$i" ";i++}}'`
}
create_tr1( ) {
create_td "$1 "
echo - e "
$td_str
" >> $file_output
}
create_tr2( ) {
create_th "$1 "
echo - e "
$th_str
" >> $file_output
}
create_tr3( ) {
echo - e "
font- family:Courier New; word- wrap: break - word; white- space: pre- wrap; white- space: - moz- pre- wrap\" >
`cat $1 `
" >> $file_output
}
create_table_end( ) {
echo - e "
"
}
create_html_end( ) {
echo - e ""
}
NAME_VAL_LEN=12
name_val ( ) {
printf "%+*s | %s\n" "${NAME_VAL_LEN}" "$1 " "$2 "
}
get_netinfo( ) {
echo "interface | status | ipadds | mtu | Speed | Duplex" >>/ tmp/ tmpnet_h1_`date + % y% m% d`. txt
for ipstr in `ifconfig - a| grep ": flags" | awk '{print $1}' | sed 's/.$//' `
do
ipadds=`ifconfig ${ ipstr} | grep - w inet| awk '{print $2}' `
mtu=`ifconfig ${ ipstr} | grep mtu| awk '{print $NF}' `
speed=`ethtool ${ ipstr} | grep Speed| awk - F: '{print $2}' `
duplex=`ethtool ${ ipstr} | grep Duplex| awk - F: '{print $2}' `
echo "${ipstr}" "up" "${ipadds}" "${mtu}" "${speed}" "${duplex}" \
| awk '{print $1,"|", $2,"|", $3,"|", $4,"|", $5,"|", $6}' >>/ tmp/ tmpnet1_`date + % y% m% d`. txt
done
}
my_base_info( ) {
${ mysql_cmd} - e "select now(),current_user(),version()\G"
${ mysql_cmd} - e "show global variables like 'autocommit';" | grep - i ^auto| awk '{print $1,":",$2}'
${ mysql_cmd} - e "show variables like '%binlog%';" | awk '{print $1,":",$2}'
${ mysql_cmd} - e "show variables like 'innodb_flush%';" | awk '{print $1,":",$2}'
}
my_stat_info( ) {
${ mysql_cmd} - e status >>/ tmp/ tmpmy_stat_`date + % y% m% d`. txt
}
my_param_info( ) {
echo "Variable_name|Value" >>/ tmp/ tmpmy_param_h1_`date + % y% m% d`. txt
${ mysql_cmd} - e "show global variables" | egrep - w "innodb_buffer_pool_size|innodb_file_per_table|innodb_flush_log_at_trx_commit|innodb_io_capacity|\
innodb_lock_wait_timeout|innodb_data_home_dir|innodb_log_file_size|innodb_log_files_in_group|log_slave_updates|long_query_time|lower_case_table_names|\
max_connections|max_connect_errors|max_user_connections|query_cache_size|query_cache_type |server_id|slow_query_log|slow_query_log_file|innodb_temp_data_file_path|\
sql_mode|gtid_mode|enforce_gtid_consistency|expire_logs_days|sync_binlog|open_files_limit|myisam_sort_buffer_size|myisam_max_sort_file_size" \
| awk '{print $1,"|",$2}' >>/ tmp/ tmpmy_param_t1_`date + % y% m% d`. txt
}
create_html( ) {
rm - rf $file_output
touch $file_output
create_html_css >> $file_output
create_html_head "Network Info Summary" >> $file_output
create_table_head1 >> $file_output
get_netinfo
while read line
do
create_tr2 "$line "
done < / tmp/ tmpnet_h1_`date + % y% m% d`. txt
while read line
do
create_tr1 "$line "
done < / tmp/ tmpnet1_`date + % y% m% d`. txt
create_table_end >> $file_output
create_html_head "Basic Database && binlog Information" >> $file_output
create_table_head1 >> $file_output
my_base_info >>/ tmp/ tmpmy_base_`date + % y% m% d`. txt
sed - i - e '1d' - e 's/:/|/g' / tmp/ tmpmy_base_`date + % y% m% d`. txt
while read line
do
create_tr1 "$line "
done </ tmp/ tmpmy_base_`date + % y% m% d`. txt
create_table_end >> $file_output
create_html_head "Running Status of Database" >> $file_output
create_table_head1 >> $file_output
my_stat_info
create_tr3 "/tmp/tmpmy_stat_`date +%y%m%d`.txt"
create_table_end >> $file_output
create_html_head "Important Parameters" >> $file_output
create_table_head1 >> $file_output
my_param_info
while read line
do
create_tr2 "$line "
done < / tmp/ tmpmy_param_h1_`date + % y% m% d`. txt
while read line
do
create_tr1 "$line "
done < / tmp/ tmpmy_param_t1_`date + % y% m% d`. txt
create_table_end >> $file_output
create_html_end >> $file_output
sed - i 's/BORDER=1/width="68%" border="1" bordercolor="#000000" cellspacing="0px" style="border-collapse:collapse"/g' $file_output
rm - rf / tmp/ tmp* _`date + % y% m% d`. txt
}
RUID=`id| awk - F\( '{print $1}' | awk - F\= '{print $2}' `
if [ ${ RUID} ! = "0" ] ; then
echo "This script must be executed as root"
exit 1
fi
PLATFORM=`uname`
if [ ${ PLATFORM} = "HP-UX" ] ; then
echo "This script does not support HP-UX platform for the time being"
exit 1
elif [ ${ PLATFORM} = "SunOS" ] ; then
echo "This script does not support SunOS platform for the time being"
exit 1
elif [ ${ PLATFORM} = "AIX" ] ; then
echo "This script does not support AIX platform for the time being"
exit 1
elif [ ${ PLATFORM} = "Linux" ] ; then
echo - e "
###########################################################################################
#Make sure that the following parameters at the beginning of the script are correct.
#myuser=" root" (Database Account)
#mypasswd=" XXXXXX" (Database password)
#myip=" localhost" (Database native IP)
#myport=" 3306" (Database port)
#--> Otherwise, the script cannot be executed properly.
#GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' identified by 'XXXXX' WITH GRANT OPTION;
#flush privileges;
###########################################################################################
"
create_html
fi
你可能感兴趣的:(shell脚本,MySQLDB,shell,mysql)
linux makefile tutorial
oushaojun2
linux makefile
一个makefile的教程,几个小时就能看完,对makefile有个总体加细节的系统了解,非常不错:LearnMakefilesWiththetastiestexamples中文翻译版:起步-Makefile教程(gavinliu6.github.io)gcc官网手册(用于查找语法细节):GNUmakemakefile总体跟shell有八成是类似的,不一样的只是几个判断语句和内部函数,以前老是掌握
在线开放课程:提高教育可及性的数字化工具
2401_85702623
vue.js java 开发语言 架构 后端
2.1MySQL数据库本设计用到的数据库就是MySQL数据库,之所以用到这个数据库的原因很多。首先,从满足功能需求上面来讲,MySQL是符合的;其次,从学习程度来讲,MySQL相比其他数据库不管是从安装还是使用上面来讲,都比较简单,最重要的是学习起来相当便捷,比较容易入手;再次,MySQL数据库对电脑要求不高,不管是什么样的电脑都可以安装MySQL数据库,并且并不会对电脑性能造成过多的影响。所以,
python keyerror列名报错_keyerror
weixin_39870199
python keyerror列名报错
ValueError:传入参数不是调用者所期望的(从书上所得,输入的参数不是数字而是字母)TypeError:传入参数的类型不符合IndexError:传入的参数个数不满足AttributeError:访问对象的某属性无效KeyError:访问字典的无效关键字IOError:无法打开文件最近接到一个使用python写一个解析yaml文件,并根据内容配置指定对应的shell来执行(比如bat、pow
MySQL慢SQL优化方案详解:从诊断到根治的完整指南
代码剑客588
mysql sql ffmpeg
MySQL慢SQL优化方案详解:从诊断到根治的完整指南一、慢SQL的致命影响当数据库响应时间超过500ms时,系统将面临三大灾难链式反应:用户体验崩塌页面加载超时率上升37%用户跳出率增加52%核心业务转化率下降29%系统稳定性危机连接池耗尽风险提升4.8倍主从同步延迟突破10秒阈值磁盘IO利用率长期超90%运维成本飙升DBA故障处理时间增加65%硬件扩容频率提高3倍夜间告警量激增80%通过监控系
【MySQL】B树和B+树的区别?MySQL为什么选用B+树作为索引数据结构?
熏鱼的小迷弟Liu
数据结构 mysql b树
B树和B+树的区别:结构方面:1.节点存储内容:B树:节点同时存储索引和数据。B+树:只有叶子节点存储数据记录或指向数据记录的指针,非叶子节点只存键值,用于索引。B+树的非叶子节点可以存储更多的键值,从而拥有更宽的分支。2.叶子结点关系:B树:叶子节点之间没有特定的顺序或指针连接,它们是独立的,查找不同叶子节点中的数据时可能需要多次随机访问磁盘。B+树:所有叶子节点通过双向链表,这种结构使得范围查
【python】Python中常见的KeyError报错分析
景天科技苑
python 开发语言 python报错 KeyError
✨✨欢迎大家来到景天科技苑✨✨养成好习惯,先赞后看哦~作者简介:景天科技苑《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,linux,shell脚本等实操
Spring Boot实战:MySQL与Redis数据一致性深度解析与代码实战
算法探险家
spring boot mysql redis
SpringBoot实战:MySQL与Redis数据一致性深度解析与代码实战一、数据一致性问题概述二、常见解决方案三、选择合适的解决方案四、总结在SpringBoot开发中,MySQL作为关系型数据库,提供了强大的数据存储和查询能力;而Redis作为内存数据库,以其高速读写性能成为缓存层的首选。然而,当这两者共同服务于一个系统时,如何确保它们之间的数据一致性,成为了一个不可忽视的问题。本文将深入探
MySQL常用函数详解及SQL代码示例
星河浪人
mysql sql android
MySQL常用函数详解及SQL代码示例引言当前日期和时间函数字符串函数数学函数聚合函数结论引言MySQL作为一种广泛使用的关系型数据库管理系统,提供了丰富的内置函数来简化数据查询、处理和转换。掌握这些函数可以大大提高数据库操作的效率和准确性。本文将详细介绍MySQL中一些常用的函数,并配以SQL代码示例,帮助读者更好地理解和应用这些函数。当前日期和时间函数在当前时间(中国北京时间2025年03月1
Python与C ++开发匿名捐赠1对1管理APP
Geeker-2025
python c++
开发一款用于**匿名捐赠1对1管理**的App,结合Python和C++的优势,可以实现高效的后端数据处理、实时的捐赠监控以及用户友好的前端界面。以下是一个详细的开发方案,涵盖技术选型、功能模块、开发步骤等内容。##技术选型###后端(Python)-**编程语言**:Python-**Web框架**:Django或Flask-**数据库**:PostgreSQL或MySQL-**实时通信**:W
5. MYSQL_存储引擎二多实例安装
q375923078
MYSQL 存储引擎 slow_log generic_log audit
文章目录一.MyISAM存储引擎(下)1.MyISAM还在使用的原因2.MyISAM文件组成3.myisamchk二.Memory存储引擎1.Memory介绍2.Memory特性3.Memory的物理特性三.CSV存储引擎1.CSV介绍2.CSV文件组成2.CSV特性四.Federated存储引擎1.Federated介绍2.Federated语法五.多实例安装1.多实例介绍2.安装要求3.安装操
【Jmeter】前置处理器实战:「BeanShell 预处理程序」参数化手机号码、身份证号
顾三殇
JMeter 从入门到软件测试实战 jmeter
一、实战场景业务场景:常见业务管理系统测试中,个人信息档案的自动化批量生成,需要贴近实际进行入参,在姓名、手机号码、身份证号、生日、性别中,这五者有着各自的行业规范格式,而生日、性别有时是由身份证号默认带出数据的信息,数据输入规范:·姓名:“姓”在百家姓中任意取一,“名”任意,均为对字符串的随机取值,字数为2~18字·手机号码:11位整数,“手机号码”规范格式,比如188、135等开头的号码为有效
PyPI 镜像源使用国内镜像,提升下载速度和安装成功率
zhiranyouni
同事技术分享
临时使用:可以在使用pip的时候加参数-ihttps://pypi.tuna.tsinghua.edu.cn/simple如:pipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simplepymysql这样会从清华源的镜像去安装pymysql永久修改,一劳永逸:修改~/.pip/pip.conf(没有就创建一个文件夹及文件)mkdir.pipcd.pipt
PostgreSQL vs MySQL——哪种关系数据库更好?
全能资料库
postgresql mysql 数据库
PostgreSQL和MySQL是世界上最流行的两种关系数据库管理系统(RDMS)。包括商业企业和开源基金会在内的所有市场人口都在使用它们。它们的共同点是强大的网络容错能力和对数据聚类的支持。这篇文章的主题是将它们区分开来。RDMS起源和历史1973年,加州大学伯克利分校启动了一个名为“Ingres”的项目,为关系数据库管理系统制定新标准。该项目是用C编写的,并根据开源许可证向公众发布。根据[Wi
一条查询sql的执行流程和底层原理
weixin_30608503
大数据 数据库
1、一条查询SQL执行流程图2、查询SQL执行流程之发送SQL请求(1)客户端按照Mysql通信协议将SQL发送到服务端,SQL到达服务端后,服务端会单起一个线程执行SQL。(2)执行时Mysql首先判断SQL的前6个字符是否为select。并且语句中是否带有SQL_NO_CACHE关键字,如果没有则进入查询缓存。3、查询SQL执行流程之查询缓存查询缓存说白了就是一个哈希表,将执行过的语句及其结果
MySQL(二):逻辑查询
2401_84003690
程序员 mysql android 数据库
CREATETABLEt(aCHAR(5))ENGINE=INNODB;INSERTINTOt(a)VALUES(‘a’),(NULL),(‘b’),(‘c’),(NULL);SELECT*FROMtORDERBYa;//这也是一个小技巧,当想使用GROUPBY后,想统计各个组/块的数量,可以使用COUNT(1)SELECTa,COUNT(1)FROMtGROUPBYa;结果如上,很清楚可以看到o
利用DataX从文本文件读取数据并写入MySQL数据库,但是老是报用户密码错误,但是密码是正确的。
2301_81122542
数据库 mysql
这里很有可能是'root'@'master'对应的密码错误,可以修改一下'root'@'master'的密码。代码为:SETPASSWORDFOR'root'@'master'=PASSWORD('newpassword');FLUSHPRIVILEGES;
MyBatis简单配置
T何必当初
Java后端框架 mybatis java mysql
1、在Maven的pom.xml中导入Mybatis和MySQL数据库驱动依赖org.mybatismybatis3.5.5mysqlmysql-connector-java5.1.382、在Maven项目中的resources下创建mybatis-config.xml配置文件-->3、在com.tyh.utils下创建MybatisUtils.java工具类packagecom.tyh.util
MySQL相关面试题
努力的搬砖人.
mysql java 面试 后端
以下是150道MySQL相关面试题:一、SQL和基本操作1.SQL的执行顺序是什么?SQL查询的执行顺序大致如下:1.FROM:指定数据来源表。2.WHERE:对表中的行进行筛选。3.JOIN:将多个表连接起来。4.GROUPBY:对数据进行分组。5.HAVING:对分组后的数据进行筛选。6.SELECT:选择需要的列。7.ORDERBY:对结果进行排序。8.LIMIT:限制返回的行数。2.如何优
Mysql - 锁常见问题
小杨xyyyyyyy
Mysql mysql 数据库 面试
通过一些问题来讨论Mysql中的锁mysql有哪些锁,介绍一下?mysql是怎么实现乐观锁和悲观锁的?哪些情况下会使用乐观锁,哪些情况使用悲观锁,可以举一些sql例子吗?间隙锁的原理?什么时候会加间隙锁?1.Mysql有哪些锁,介绍一下?按照锁的粒度,可以分为全局锁,表级锁和行锁全局锁会使整个数据库处于只读状态,在做全库逻辑备份时经常用到;表级锁在操作数据数会锁定整张表或表结构,具体可以分为表锁,
Mysql - 日志相关问题
小杨xyyyyyyy
Mysql mysql 数据库 面试
通过一些问题来讨论Mysql中的日志:Mysql是怎么保证原子性的?Mysql怎么保证持久性的?Mysql怎么保证隔离性的?介绍一下binlog和redolog,他们两有啥区别?两阶段提交了解吗?介绍一下,为啥需要两阶段提交呢?幻读了解吗?介绍一下,innodb引擎是如何解决幻读问题等?刚才我们说到了原子性,那宕机时还能保证原子性吗?undolog在宕机是怎么保证原子性的?1.Mysql是怎么保证
Mmybatis xml 连接数据库的方法
墨香染城城
xml 数据库
1.添加依赖(Maven项目)在pom.xml中添加MyBatis和数据库驱动的依赖(以MySQL为例):org.mybatismybatis3.5.13mysqlmysql-connector-java8.0.332.配置MyBatis核心文件在resources目录下创建mybatis-config.xml,配置数据库连接和全局设置:3.创建实体类定义与数据库表对应的实体类,例如User:pu
goldengate sqlserver mysql_使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务...
weixin_39907713
goldengate sqlserver mysql
大多数关注数据复制的Oracle技术专家都熟悉OracleStreams。在2009年之前,Streams一直是推荐使用的最流行的Oracle数据分发技术。2009年7月,Oracle收购了GoldenGate这一数据库复制软件供应商。Oracle现在鼓励客户使用OracleGoldenGate(Oracle融合中间件系列的组成部分)来满足新应用中的数据复制需求。Oracle关于OracleStr
goldengate sqlserver mysql_Oracle GoldenGate 之 SqlServer数据同步到Mysql数据库
Huawei_Germany
goldengate sqlserver mysql
C:\OGG>INSTALLADDSERVICEService'GGSMGR'created.Installprogramterminatednormally.C:\OGG>配置ODBC数据源MicrosoftSQLServerODBC驱动程序版本06.01.7601数据源名称:oa_test数据源描述:服务器:WIN-UGCMTTOTKE7数据库:(Default)语言:(Default)翻译字
Shell变量详解
ivwdcwso
操作系统与云原生 Shell linux 脚本
Shell变量是Shell脚本编程中非常重要的一个概念。合理使用变量可以让脚本更加灵活和易于维护。本文将详细介绍Shell变量的定义、使用、作用域以及一些高级用法。1.变量的定义和赋值在Shell中定义变量非常简单,格式为:variable_name=value注意等号两边不能有空格。例如:name="John"age=30Shell变量名可以由字母、数字和下划线组成,但不能以数字开头。2.使用变
MySql数据库(表数据的增、删、改操作)8
阿志的IT信息室
mysql 数据库
8.1插入数据在MySQL中,INSERT语句有3种语法格式,分别是INSERT…VALUES语句、INSERT…SET语句和INSERT…SELECT语句。8.1.1使用INSERT…VALUES语句插入数据是INSERT语句的最常用的语法格式。它的语法格式如下。INSERT[LOW_PRIORITYDELAYED|HIGH_PRIORITY][IGNORE]INTO数据表名[(字段名1,…,字
MySQL 5.7 vs MySQL 8.0 高频面试题解析
dblens 数据库管理和开发工具
mysql 数据库
一、基础概念与核心差异1.默认字符集的变化问:MySQL5.7和8.0的默认字符集有何不同?为什么要修改?答:MySQL5.7默认字符集为latin1,可能导致中文乱码。MySQL8.0默认改为utf8mb4(支持4字节编码,如表情符号),且默认排序规则为utf8mb4_0900_ai_ci。意义:彻底解决字符编码问题,兼容国际化需求。2.用户认证方式的演进问:从5.7到8.0,用户密码认证方式有
Git 实战指南:本地客户端连接 Gitee 全流程
Yant224
Git git gitee 开发语言 python
本文将以Gitee(码云)、系统Windows11为例,详细介绍从本地仓库初始化到远程协作的全流程操作目录1.前期准备1.1注册与配置Gitee1.2下载、安装、配置客户端1.3配置公钥到Gitee2.本地仓库操作(PowerShell/GitBash)2.1初始化本地仓库2.2关联Gitee远程仓库3.克隆已有仓库4.日常开发操作4.1分支管理(GitBash示例)4.2处理换行符问题(CRLF
MySQL算法篇(一)
先睡
算法
Hash算法,也称为哈希算法或散列算法,是一种将任意长度的输入(如文本、图片等)通过某种规则转换成固定长度的输出的算法。这个输出通常被称为哈希值、哈希码或哈希摘要。以下是一些关于哈希算法的关键点:不可逆性:理论上,从哈希值不能逆向推导出原始输入数据。确定性:对于同一个输入,无论何时何地使用相同的哈希算法,都会得到相同的哈希值。快速计算:哈希算法通常设计得非常高效,可以快速计算出哈希值。抗冲突性:不
Mysql数据库分表实现
微笑的曙光(StevenLi)
数据库 mysql 分表 性能优化 merge
本次主要采用MERGE分表法、对表进行水平拆分;第一步:创建数据库DROPTABLEIFEXISTSstudents;CREATETABLEstudents(idbigint(20)NOTNULLAUTO_INCREMENT,namevarchar(20)DEFAULTNULL,numvarchar(20)DEFAULTNULL,PRIMARYKEY(id))ENGINE=MyISAMAUTO_I
智慧社区2.0
陈陈爱java
java
项目亮点1.技术架构层面✅多数据源整合(MySQL+Redis+HDFS+OSS)核心亮点:不仅仅是单一数据库,而是根据数据特性使用MySQL(结构化数据)+Redis(缓存)+HDFS(大数据存储)+OSS(对象存储),提高了系统的数据存储效率和查询速度。面试时可以强调:Redis作为缓存,加速社区热点数据访问,减少MySQL压力。HDFS存储海量日志和AI任务数据,支持后续分析。OSS解决图片
java短路运算符和逻辑运算符的区别
3213213333332132
java基础
/*
* 逻辑运算符——不论是什么条件都要执行左右两边代码
* 短路运算符——我认为在底层就是利用物理电路的“并联”和“串联”实现的
* 原理很简单,并联电路代表短路或(||),串联电路代表短路与(&&)。
*
* 并联电路两个开关只要有一个开关闭合,电路就会通。
* 类似于短路或(||),只要有其中一个为true(开关闭合)是
Java异常那些不得不说的事
白糖_
java exception
一、在finally块中做数据回收操作
比如数据库连接都是很宝贵的,所以最好在finally中关闭连接。
JDBCAgent jdbc = new JDBCAgent();
try{
jdbc.excute("select * from ctp_log");
}catch(SQLException e){
...
}finally{
jdbc.close();
utf-8与utf-8(无BOM)的区别
dcj3sjt126com
PHP
BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输 字符"ZERO WIDTH NO-BREAK SPACE"。这样如
JAVA Annotation之定义篇
周凡杨
java 注解 annotation 入门 注释
Annotation: 译为注释或注解
An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, pa
tomcat的多域名、虚拟主机配置
g21121
tomcat
众所周知apache可以配置多域名和虚拟主机,而且配置起来比较简单,但是项目用到的是tomcat,配来配去总是不成功。查了些资料才总算可以,下面就跟大家分享下经验。
很多朋友搜索的内容基本是告诉我们这么配置:
在Engine标签下增面积Host标签,如下:
<Host name="www.site1.com" appBase="webapps"
Linux SSH 错误解析(Capistrano 的cap 访问错误 Permission )
510888780
linux capistrano
1.ssh -v
[email protected] 出现
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
错误
运行状况如下:
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuratio
log4j的用法
Harry642
java log4j
一、前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包。由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代jdk1.4 的日志工具类,但当时jdk1.4已接近完成,所以sun拒绝使用log4j,当在java开发中
mysql、sqlserver、oracle分页,java分页统一接口实现
aijuans
oracle jave
定义:pageStart 起始页,pageEnd 终止页,pageSize页面容量
oracle分页:
select * from ( select mytable.*,rownum num from (实际传的SQL) where rownum<=pageEnd) where num>=pageStart
sqlServer分页:
 
Hessian 简单例子
antlove
java Web service hessian
hello.hessian.MyCar.java
package hessian.pojo;
import java.io.Serializable;
public class MyCar implements Serializable {
private static final long serialVersionUID = 473690540190845543
数据库对象的同义词和序列
百合不是茶
sql 序列 同义词 ORACLE权限
回顾简单的数据库权限等命令;
解锁用户和锁定用户
alter user scott account lock/unlock;
//system下查看系统中的用户
select * dba_users;
//创建用户名和密码
create user wj identified by wj;
identified by
//授予连接权和建表权
grant connect to
使用Powermock和mockito测试静态方法
bijian1013
持续集成 单元测试 mockito Powermock
实例:
package com.bijian.study;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
import org.junit.Before;
import org.junit.Test;
import or
精通Oracle10编程SQL(6)访问ORACLE
bijian1013
oracle 数据库 plsql
/*
*访问ORACLE
*/
--检索单行数据
--使用标量变量接收数据
DECLARE
v_ename emp.ename%TYPE;
v_sal emp.sal%TYPE;
BEGIN
select ename,sal into v_ename,v_sal
from emp where empno=&no;
dbms_output.pu
【Nginx四】Nginx作为HTTP负载均衡服务器
bit1129
nginx
Nginx的另一个常用的功能是作为负载均衡服务器。一个典型的web应用系统,通过负载均衡服务器,可以使得应用有多台后端服务器来响应客户端的请求。一个应用配置多台后端服务器,可以带来很多好处:
负载均衡的好处
增加可用资源
增加吞吐量
加快响应速度,降低延时
出错的重试验机制
Nginx主要支持三种均衡算法:
round-robin
l
jquery-validation备忘
白糖_
jquery css F# Firebug
留点学习jquery validation总结的代码:
function checkForm(){
validator = $("#commentForm").validate({// #formId为需要进行验证的表单ID
errorElement :"span",// 使用"div"标签标记错误, 默认:&
solr限制admin界面访问(端口限制和http授权限制)
ronin47
限定Ip访问
solr的管理界面可以帮助我们做很多事情,但是把solr程序放到公网之后就要限制对admin的访问了。
可以通过tomcat的http基本授权来做限制,也可以通过iptables防火墙来限制。
我们先看如何通过tomcat配置http授权限制。
第一步: 在tomcat的conf/tomcat-users.xml文件中添加管理用户,比如:
<userusername="ad
多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
bylijinnan
java 多线程
public class IncDecThread {
private int j=10;
/*
* 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
* 两个问题:
* 1、线程同步--synchronized
* 2、线程之间如何共享同一个j变量--内部类
*/
public static
买房历程
cfyme
2015-06-21: 万科未来城,看房子
2015-06-26: 办理贷款手续,贷款73万,贷款利率5.65=5.3675
2015-06-27: 房子首付,签完合同
2015-06-28,央行宣布降息 0.25,就2天的时间差啊,没赶上。
首付,老婆找他的小姐妹接了5万,另外几个朋友借了1-
[军事与科技]制造大型太空战舰的前奏
comsci
制造
天气热了........空调和电扇要准备好..........
最近,世界形势日趋复杂化,战争的阴影开始覆盖全世界..........
所以,我们不得不关
dateformat
dai_lm
DateFormat
"Symbol Meaning Presentation Ex."
"------ ------- ------------ ----"
"G era designator (Text) AD"
"y year
Hadoop如何实现关联计算
datamachine
mapreduce hadoop 关联计算
选择Hadoop,低成本和高扩展性是主要原因,但但它的开发效率实在无法让人满意。
以关联计算为例。
假设:HDFS上有2个文件,分别是客户信息和订单信息,customerID是它们之间的关联字段。如何进行关联计算,以便将客户名称添加到订单列表中?
&nbs
用户模型中修改用户信息时,密码是如何处理的
dcj3sjt126com
yii
当我添加或修改用户记录的时候对于处理确认密码我遇到了一些麻烦,所有我想分享一下我是怎么处理的。
场景是使用的基本的那些(系统自带),你需要有一个数据表(user)并且表中有一个密码字段(password),它使用 sha1、md5或其他加密方式加密用户密码。
面是它的工作流程: 当创建用户的时候密码需要加密并且保存,但当修改用户记录时如果使用同样的场景我们最终就会把用户加密过的密码再次加密,这
中文 iOS/Mac 开发博客列表
dcj3sjt126com
Blog
本博客列表会不断更新维护,如果有推荐的博客,请到此处提交博客信息。
本博客列表涉及的文章内容支持 定制化Google搜索,特别感谢 JeOam 提供并帮助更新。
本博客列表也提供同步更新的OPML文件(下载OPML文件),可供导入到例如feedly等第三方定阅工具中,特别感谢 lcepy 提供自动转换脚本。这里有导入教程。
js去除空格,去除左右两端的空格
蕃薯耀
去除左右两端的空格 js去掉所有空格 js去除空格
js去除空格,去除左右两端的空格
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>&g
SpringMVC4零配置--web.xml
hanqunfeng
springmvc4
servlet3.0+规范后,允许servlet,filter,listener不必声明在web.xml中,而是以硬编码的方式存在,实现容器的零配置。
ServletContainerInitializer:启动容器时负责加载相关配置
package javax.servlet;
import java.util.Set;
public interface ServletContainer
《开源框架那些事儿21》:巧借力与借巧力
j2eetop
框架 UI
同样做前端UI,为什么有人花了一点力气,就可以做好?而有的人费尽全力,仍然错误百出?我们可以先看看几个故事。
故事1:巧借力,乌鸦也可以吃核桃
有一个盛产核桃的村子,每年秋末冬初,成群的乌鸦总会来到这里,到果园里捡拾那些被果农们遗落的核桃。
核桃仁虽然美味,但是外壳那么坚硬,乌鸦怎么才能吃到呢?原来乌鸦先把核桃叼起,然后飞到高高的树枝上,再将核桃摔下去,核桃落到坚硬的地面上,被撞破了,于是,
JQuery EasyUI 验证扩展
可怜的猫
jquery easyui 验证
最近项目中用到了前端框架-- EasyUI,在做校验的时候会涉及到很多需要自定义的内容,现把常用的验证方式总结出来,留待后用。
以下内容只需要在公用js中添加即可。
使用类似于如下:
<input class="easyui-textbox" name="mobile" id="mobile&
架构师之httpurlconnection----------读取和发送(流读取效率通用类)
nannan408
1.前言.
如题.
2.代码.
/*
* Copyright (c) 2015, S.F. Express Inc. All rights reserved.
*/
package com.test.test.test.send;
import java.io.IOException;
import java.io.InputStream
Jquery性能优化
r361251
JavaScript jquery
一、注意定义jQuery变量的时候添加var关键字
这个不仅仅是jQuery,所有javascript开发过程中,都需要注意,请一定不要定义成如下:
$loading = $('#loading'); //这个是全局定义,不知道哪里位置倒霉引用了相同的变量名,就会郁闷至死的
二、请使用一个var来定义变量
如果你使用多个变量的话,请如下方式定义:
. 代码如下:
var page
在eclipse项目中使用maven管理依赖
tjj006
eclipse maven
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就 把
中国天气网省市级联页面
x125858805
级联
1、页面及级联js
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
&l