- 博客(53)
- 资源 (11)
- 收藏
- 关注
原创 SHELL编程学习笔记
SHELL编程学习笔记 本文描述unix shell的各种应用实例,根据查阅资料和自我总结,作为自己今后复习的模板。本文搜集整理常用的shell应用实例,以例子详述unixshell部分命令的使用,着重于正则表达式以及grep、sed、awk等命令,涵盖业务开发中需要使用到的unix shell编程命令,供查阅或者自测使用,面向已经熟悉UNIX基本操作的开发人员。注:
2015-02-27 21:22:43 1987
原创 Linux时区和时间
一、时区1. 查看当前时区 date -R2. 修改设置时区 方法(1) tzselect 方法(2) 仅限于RedHat Linux 和 CentOS timeconfig 方法(3) 适用于Debian dpkg-reconfigure tzdata3. 复制相应的时区文件,替换系统时区
2015-02-27 20:50:12 745
原创 Perl脚本访问Greenplum数据库安装指导
安装前准备(1)操作系统(系统上面要安装一些必备的开发工具(比如gcc等)) linux-82:/home/PlODBC # cat/etc/SuSE-release SUSE Linux EnterpriseServer 11 (x86_64)VERSION = 11PATCHLEVEL = 1 (2)安装所需的软件包greenplum-connectivit
2015-02-27 20:35:51 2966
原创 Python脚本访问Greenplum数据库安装指导
安装前准备(1)操作系统(系统上面要安装一些必备的开发工具(比如gcc等)) linux-82:/home/PyODBC # cat/etc/SuSE-release SUSE Linux EnterpriseServer 11 (x86_64)VERSION = 11PATCHLEVEL = 1 (2)安装所需的软件包greenplum-connectivit
2015-02-27 20:34:07 7049 4
原创 安装php-5.4.38时, 报错误:‘gdIOCtx’ 没有名为 ‘data’ 的成员
我在安装php-5.4.38时,make时出现如下的错误:In file included from /software/LAMP_Resource_Package/php-5.4.38/ext/gd/gd.c:103:/software/LAMP_Resource_Package/php-5.4.38/ext/gd/gd_ctx.c: In function ‘_php_image_
2015-02-27 20:32:11 1260
原创 四种隔离级别
简单地介绍一下四种隔离级别:Read Uncommtted(未提交读)在Read Uncommitted级别,事务中的修改,即使没有提交,对其他事务也都是可见的。事务可以读取未提交的数据,这也被称为脏读。这个级别会导致很多问题,从性能上来说,Read Uncommitted不会比其他级别好太多,但缺乏其他级别的很多好处,除非真的有非常必要的理由,在实际应用中很少使用。Rea
2015-02-27 17:08:57 1263
原创 MySQL逻辑架构
MySQL服务器逻辑架构图如下:最上层的服务不是MySQL特有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。第二层架构是大多数MySQL的核心服务功能所在层,包括查询解析,分析,优化,缓存以及所有的内置函数,所有跨储存引擎的功能都在这一层实现:储存过程,视图,触发器等。第三层包括了存储引擎。存储引擎负责MySQL数据的存储和提取。服务器通过API与存储引擎
2015-02-27 15:57:33 1135
原创 编译php-5.2.6+MySQL 5.6.22报错
(1)问题在编译php-5.2.6时:./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/
2015-02-26 13:44:05 1521
原创 innodb_file_per_table是否打开对创建或删除表的影响
本文将测试innodb_file_per_table打开或者关闭后对创建或删除表所耗用时间的影响。测试环境搭建:在MySQL数据库中创建16个库并且每个库中创建100张InnoDB存储引擎的表(空表):[root@mysqlmaster data]# time $(for db in {1..16};do mysql -e "create database bench$db
2015-02-25 15:52:49 3118
原创 MySQL一些常用的命令
1 show processlist;SHOW PROCESSLIST显示哪些线程正在运行。您也可以使用mysqladmin processlist语句得到此信息。如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程(也就是,与您正在使用的MySQL账户相关的线程)。如果有线程在update或者insert 某个表,此时进程的status为updating
2015-02-25 15:10:42 630
原创 MySQL慢查询统计
按天统计:grep Time: mysqlmaster-slow.log | awk '{print $3}'|awk '{a[$1]++}END{for (j in a) print j,": " a[j]}' | sort -nrk2 -t: 按分钟统计:grep Time: mysqlmaster-slow.log | awk '{print $3,$4}'|awk -F
2015-02-25 14:11:54 1416
转载 How fast can you sort data with MySQL(sort_buffer_size设置优化)
I took the same table as I used for MySQL Group by Performance Tests to see how much MySQL can sort 1.000.000 rows, or rather return top 10 rows from sorted result set which is the most typical way
2015-02-25 12:05:31 1449
原创 alter ignore table 添加unique key
场景:在MySQL的一张innodb引擎的表上添加一个唯一索引(uk_id),但是表中该字段有大量重复数据。 方法: alterignore add unique index语法行为类似于insert ignore,即遇到冲突的unique数据则直接抛弃而不报错。对于加唯一索引的情况来说就是建一张空表,然后加上唯一索引,将老数据用insert ignore语法插入到新表中,遇到
2015-02-24 17:14:08 7467 1
转载 Metadata Locking在5.5里所做改动带来的影响
While most of the talk recently has mostly been around the new changes in MySQL 5.6 (and that is understandable), I have had lately some very interesting cases to deal with, with respect to the Metada
2015-02-24 12:41:25 732
转载 MySQL5.5加主键锁读问题
背景 有同学讨论到MySQL 5.5下给大表加主键时会锁住读的问题,怀疑与fast index creation有关,这里简单说明下。对照现象 为了说明这个问题的原因,有兴趣的同学可以做对比实验。 1) 在给InnoDB表创建主键期间,会锁住该表上的读数据 2) 但是同样的表执行删除主键期间,不会锁住该表上的读操作
2015-02-24 11:37:20 897
转载 MySQL源码学习:MDL字典锁
MDL,Meta Data lock,元数据锁,一般称为字典锁。字典锁与数据锁相对应。字典锁是为了保护数据对象被改变,一般是一些DDL会对字典对象改变,如两个TX,TX1先查询表,然后TX2试图DROP,字典锁就会lock住TX2,知道TX1结束(提交或回滚)。什么是MDLMDL,Meta Data lock,元数据锁,一般称为字典锁。字典锁与数据锁相对应。字典锁是为了保护数据
2015-02-24 11:08:50 946
原创 Perl或者Python脚本去连接Vertica数据库
背景:ETL服务器不支持连接Vertica数据库操作,但是我们可以通过ETL服务器去调用Perl或者Python脚本去连接Vertica数据库。 部署环境下面我们要介绍如何在ETL环境上通过Python脚本去访问Vertica数据库(ETL环境和Vertica数据库不在一个环境上面)。1、 需要安装的驱动列表:(1) unixODBC: Linux上面的ODBC
2015-02-12 22:08:04 4024
翻译 在Linux对rm进行优化,避免误删文件
#!/bin/sh# newrm, a replacement for the existing rm command, provides a# rudimentary unremove capability by creating and utilizing a new# directory within the user's home directory. It can
2015-02-12 22:05:43 1366
原创 yield生成器
yield 简单说来就是一个生成器,生成器是这样一个函数,它记住上一次返回时在函数体中的位置。对生成器函数的第二次(或第 n 次)调用跳转至该函数中间,而上次调用的所有局部变量都保持不变。(1)生成器是一个函数:函数的所有参数都会保留 (2)第二次调用 此函数时:使用的参数是前一次保留下的. (3)生成器还“记住”了它在流控制构造:生成器不仅“记住”了它数据状态。 生成器还“记住”
2015-02-12 22:02:42 877
原创 测试创建GP外部表
测试创建外部表(1) Hadoop的HDFS里面准备测试数据查看准备的全部数据文件,以及每个文件大小(共32个文件):hadoop fs -ls -R -h/result_file/wide_file/20140318/wide_file_gb_2014031813.dat-*-rw-r--r-- 3 bdi supergroup 32.3 M 2014-05
2015-02-12 22:01:06 2085
转载 percona-toolkit工具集pt-kill使用举例
percona-toolkit-2.2.10使用举例以pt-kill为例 --help,可以看到帮助信息需要注意的事情:--victims all需要有,否则只会处理一个连接(最早连上数据库的那个),--interval 30 默认每30秒循环执行一次,可以根据实际情况调整,如果不加,只执行一次;加上的话,会在后台不停的执行。默认会过滤掉复制线程,请不必担心杀掉复制线程。-
2015-02-11 23:12:12 2621
转载 VARCHAR(N)类型,utf8编码,则N最大值为多少,n表示什么?
有道面试题:若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少?先明白计算的一些规则限制4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节) 5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节
2015-02-11 22:10:40 971
原创 MySQL管理工具mysqladmin
2、MySQL管理工具mysqladmin是执行管理操作的客户程序,例如创建或删除数据库,重载授权表,将表刷新到硬盘上,以及重新打开日志文件。还可以用来检索版本、进程,以及服务器的状态信息。语法是:mysqladmin [options] command1 command2… options-f--force出现错误可
2015-02-11 22:08:04 1252
原创 MySQL常用命令
1、MySQL常用命令序号命令解释1SHOW CHARACTER SET显示所有可用的字符集2SHOW COLLATION显示所有可用的字符校对3SHOW DATABASES显示服务器主机上的数据库4
2015-02-11 22:06:48 461
原创 python中的格式化输出
格式化输出整数python print也支持参数格式化,与C言的printf似, 示例: >>> str = "the length of (%s) is %d" %('Hello World',len('Hello World'))>>> print(str)the length of (Hello World) is 11 或者直接写道print里:>>> p
2015-02-11 22:04:32 943
原创 python中的异常类型处理
3、异常和函数在函数内引发异常时,它就会被传播到到函数调用的地方(对于方法也是一样的)>>> def faulty(): raise Exception('Something is wrong')>>> def ignore_expection(): faulty() >>> def handle_excepton(): try: faulty()
2015-02-11 22:03:26 785
原创 Python基础--学习笔记1
第八章:异常1、注:这里的循环只在没有异常引发的情况下才会退出,而且使用expect Exception,打印更加有用的信息while True: try: x = input('Enter the first number: ') y = input('Enter the second number: ') value
2015-02-11 22:02:35 655
原创 linux 内存清理释放命令
1.清理前内存使用情况 free -m2.开始清理 echo 1 > /proc/sys/vm/drop_caches3.清理后内存使用情况 free -m4.完成!查看内存条数命令:dmidecode | grep -A16 "Memory Device$"+++++++++++++++++++++++++++++++++
2015-02-11 22:00:51 890
转载 利用keepalived构建高可用MySQL-HA
关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样无疑又增加了硬件开支;对于共享
2015-02-10 23:03:56 553
转载 NFS 官方资料
Linux NFS Overview, FAQ and HOWTO DocumentsThis document provides an introduction to NFS as implemented in the Linux kernel. It links to developers' sites, mailing list archives, and relevant RF
2015-02-10 23:00:17 3231 2
原创 Perl笔记6
第十六章 进程管理(1) system函数在Perl中,启动子进程最简单的方法就是system函数system 'date';system 'ls -l $HOME';system "ls -l \$HOME";后台进程:system "long_running_command with parameters &";system 'for i in
2015-02-10 22:58:07 885
原创 Linux裸设备
1、什么是Linux裸设备?字符设备?块设备?裸设备:也叫裸分区(原始分区),是一种没有经过格式化,不被Unix/Linux通过文件系统来读取的特殊字符设备。裸设备可以绑定一个分区,也可以绑定一个磁盘。字符设备:对字符设备的读写不需要通过OS的buffer。它不可被文件系统mount。块设备:对块设备的读写需要通过OS的buffer,它可以被mount到文件系统中。 2、一个系
2015-02-10 22:57:39 1110
转载 MySQL redo log及recover过程浅析
InnoDB redo log首先介绍下Innodb redo log是什么,为什么需要记录redo log,以及redo log的作用都有哪些。 InnoDB有buffer pool(简称bp)。bp是数据库页面的缓存,对InnoDB的任何修改操作都会首先在bp的page上进行,然后这样的页面将被标记为dirty并被放到专门的flush list上,后续将由master thread
2015-02-10 22:54:48 750
原创 配置GP访问Hadoop的HDFS文件系统
(1) 添加GPDB所有节点配置环境变量修改安装Greenplum DB数据库用户家目录下面的环境变量文件.bashrc,添加如下内容:exportJAVA_HOME=/home/gpadmin/jdk1.6.0_32export CLASSPATH=$JAVA_HOME/lib/tools.jarexportHADOOP_HOME=/home/dbadmin/hadoo
2015-02-07 12:16:46 3843
原创 LINUX进程内存占用查看方法
(1)top可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令:$ top -u oracle(2)pmap可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:$ pmap -d 14596(3)ps如下例所示:$ ps -e -o 'pid
2015-02-07 12:11:53 674
原创 Perl连接GP的模板
#!/usr/bin/perl use DBI;use strict;use POSIX;#判断入参个数,至少为3个,dbname 数据库名; dbuser 用户名; password 密码unless (@ARGV == 3) { die "Usage: $0 dbname dbuser password\n";}#接收传入的参数 m
2015-02-07 12:11:15 1237
原创 GP基本命令
su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置文件登陆与退出Greenplum#正常登陆psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin#使用utility方式PGOPT
2015-02-07 11:46:13 16301
原创 vertica安装注意事项
vertica安装注意事项1、系统默认shell必须是bash shell echo $SHELL --查看默认shell chsh --更改系统默认shell2、文件系统必须是ext3或ext4(可用mount命令查看)3、查看系统是否支持sudo(若不支持需手动安装) which sudo4、修改配置文件/etc/sudoers (若已经有如下内
2015-02-07 11:45:21 2044
原创 Vertica常用操作总结
1. 修改列名称alterTABLEnoas_app.DIM_TNES_CELL_RAT rename rat_nameto CELL_RAT_NAME;2. Vertica导出自己测试NOAS252:/tmp/vertica6.1.2# /opt/vertica/sbin/install_vertica -s NOAS252 -rvertica-6.1.2-0
2015-02-07 11:44:14 23382 2
原创 测试Vertica性能
软件:Vertica 6.0.0-4OS: Red Hat EnterpriseLinux Server release 6.0(x86-64)Filesystem: ext4 三台服务器参数:cpu : 4P*8CIntel(R) Xeon(R) CPU E7- 8837 @ 2.67GHz 4P*8CIntel(R) Xeon(R) CPU E7- 4820
2015-02-07 11:41:56 3714 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人