摘要: shell编程中使用到得if语句内判断参数 –b当file存在并且是块文件时返回真 -c当file存在并且是字符文件时返回真 -d当pathname存在并且是一个目录时返回真 -e当pathname指定的文件或目录存在时返回真 -f当file存在并且是正规文件时返回真 -g当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 -h当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效 -k当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真 -p当file存在并且是命令管道时返回为真 -r当由pathname指定的文件或目录存在... 阅读全文
posted @ 2013-09-09 09:52 gxcherie 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 检查语法-n选项只做语法检查,而不执行脚本。sh-nscript_name.sh启动调试sh-xscript_name.s进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。+array=(12345)+foriin'${array[*]}'+echo11加上-v可将源码一起输出中断调试在调试过程中可以按Ctrl+Z中断调试,观察结果,然后再按fg键继续调试即可。调试代码块上面的-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块代码的,如下 阅读全文
posted @ 2013-09-09 09:43 gxcherie 阅读(576) 评论(0) 推荐(0) 编辑
摘要: 1、多行变成单行-bash-3.2#cattest.txtabcdefgopq-bash-3.2#cattest.txt|xargsabcdefgopq2、单行变成多行-bash-3.2#cattest.txtabcdefgopq-bash-3.2#cattest.txt|xargs-n2abcdefgopq3、删除某个重复的字符来做定界符-bash-3.2#cattest.txtAaaagttttgyyyygcccc-bash-3.2#cattest.txt|xargs-dgaaaattttyyyycccc4、删除某个重复的字符来做定界符后,变成多行-bash-3.2#cattest.txt 阅读全文
posted @ 2013-09-09 09:40 gxcherie 阅读(14077) 评论(0) 推荐(0) 编辑
摘要: 在一些Shell脚本中,特别是Crontab的脚本中,经常会看到>/dev/null2>&1这样的写法。其实这个很好理解。我们分两部分解释。1. >/dev/null大家知“>”(右尖括号)在unix/linuxshell中表示输入到的意思,就是把”>”左边的内容输入到”>”右边。比如:echotext>1.txt就把“text”这个文本输入到1.txt这个文件中。那么“/dev/null”又是个什么东东呢?它代表一个空设备,即不存在的设备。也就是说,抛弃”>”左边的内容,不进行输出。2. 2>&1这个其实是三个部分组成的: 阅读全文
posted @ 2013-09-09 09:30 gxcherie 阅读(7052) 评论(0) 推荐(2) 编辑
摘要: 在mysql运维中出现过不少因为update/delete条件错误导致数据被误更新或者删除的case,为避免类似问题的发生,可以用sql_safe_updates参数来对update/delete做限制。这个参数设置为on后,可防止因程序bug或者DBA手工误操作导致的整个表被更新或者删除的情况。 阅读全文
posted @ 2017-10-12 21:24 gxcherie 阅读(957) 评论(0) 推荐(0) 编辑
摘要: mysql字符集说明一、mysql中涉及的几个字符集Øcharacter-set-server/default-character-set:服务器字符集,默认情况下所采用的。Øcharacter-set-database:数据库字符集。Øcharacter-set-table:数据库表字符集。优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。Øcharacter-set-client:客户端的字符集。客户端默认字符集。当客户端 阅读全文
posted @ 2013-09-10 15:20 gxcherie 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 一mysql命令行参数Usage:mysql[OPTIONS][database]//命令方式-?,--help//显示帮助信息并退出-I,--help//显示帮助信息并退出--auto-rehash//自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子-A,--no-auto-rehash//默认状态是没有自动补全功能的。-A就是不要自动补全功能-B,--batch//ysql不使用历史文件,禁用交互(Enables--silent)--character-sets-dir=name//字体集的安装目录--default-character-set=name//设置数据库的 阅读全文
posted @ 2013-09-10 15:20 gxcherie 阅读(745) 评论(0) 推荐(0) 编辑
摘要: 一、复制机制的实现原理从高层来看,复制分成三步:(1)master将改变记录到二进制日志(binarylog)中(这些记录叫做二进制日志事件,binarylogevents);(2)slave将master的binarylogevents拷贝到它的中继日志(relaylog);(3)slave重做中继日志中的事件,将改变反映它自己的数据。二、复制实现级别1.Row日志中会记录成每一行数据被修改的形式,然后在slave端再对相同的数据进行修改。优点:在row模式下,bin-log中可以不记录执行的SQL语句的上下文相关的信息,仅仅只需要记录哪一条记录被修改了,修改成什么样了。所以row的日志内容 阅读全文
posted @ 2013-09-10 15:20 gxcherie 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 一、常见存储引擎特性Innodb具有提交、回滚和崩溃恢复能力的事务安全、支持外键。使用mvcc以及行锁来提供事务支持,因此支持高并发。适用于写频繁,并发率高的应用。Myisam不支持事务和灾难自动恢复,但其访问速度快,支持全文索引,对事务完整性没有要求。通常用于读频繁的数据库,如数据仓库等。Memory使用存在内存中的内容来创建表,表访问非常得快,因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦服务关闭,表中的数据就会丢失掉。。适用于临时的,需要频繁读写,对性能速度要求严格的应用中,如一些统计操作的中间结果表二、选择存储引擎时需要考虑的因素并发如果最好的满足你的并发性需求取决你的 阅读全文
posted @ 2013-09-10 15:20 gxcherie 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 1、FLUSHTABLESWITHREADLOCK这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。解锁的语句也是unlocktables。2、LOCKTABLEStbl_name[ASalias]{READ[LOCAL]|[LOW_PRIORITY]WRITE}这个命令是表级别的锁定,可以定制锁定某一个表。例如:locktablestestread;不影响其他表的写操作。解锁语句也是unlocktables。这两个语句在执行的时候都需要注意个特点,就是隐式提交的语句。在退出mysql终端的时候都会隐式的执 阅读全文
posted @ 2013-09-10 15:19 gxcherie 阅读(611) 评论(0) 推荐(1) 编辑
摘要: 一、备份常用操作基本命令1、备份命令mysqldump格式格式:mysqldump-h主机名-P端口-u用户名-p密码–database数据库名>文件名.sql2、备份MySQL数据库为带删除表的格式备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。mysqldump--add-drop-table-uusername-ppassword-databasedatabasename>backupfile.sql3、直接将MySQL数据库压缩备份mysqldump-hhostname-uusername-ppassword-databaseda 阅读全文
posted @ 2013-09-10 15:19 gxcherie 阅读(146538) 评论(5) 推荐(15) 编辑
摘要: 一、连接操作格式:mysql-h主机地址-u用户名-p用户密码例:连接到远程主机上的mysql假设远程主机的IP为:110.110.110.110用户名为root,密码为abcd123则键入以下命令:mysql-h110.110.110.110-uroot-pabcd123二、用户级操作1、selectuser()查看自己的用户名2、Linux命令ps-el|grepmysqld用来检测mysql服务器是否在运行。如果结果为:4S0179610850-1513wait?00:00:00mysqld_safe4S27185617960780-34055-?00:00:00mysqld就说明服务器 阅读全文
posted @ 2013-09-10 15:19 gxcherie 阅读(599) 评论(0) 推荐(0) 编辑
摘要: 一、权限命令标识授权表中对应的列说明CREATECreate_priv创建数据库、表或索引CREATETEMPORARYTABLESCreate_tmp_table_priv创建临时数据表CREATEROUTINECreate_routine_priv创建函数或存储CREATEVIEWCreate_view_priv创建视图CREATEUSERCreate_user_priv创建用户EXECUTEExecute_priv执行函数或存储过程INDEXIndex_priv建立索引REFERENCESReferences_priv建立约束DROPDrop_priv删除表SELECTSelect_pr 阅读全文
posted @ 2013-09-10 15:19 gxcherie 阅读(3187) 评论(0) 推荐(1) 编辑
摘要: linux下mysql-5.5.15安装详细步骤注:该文档中用到的目录路径以及一些实际的值都是作为例子来用,具体的目录路径以各自安装时的环境为准mysql运行时需要一个启动目录、一个安装目录和一个数据存放目录。所以,在安装mysql之前需创建三个目录。创建安装目录install:md/data/cheriegong/mysql/install创建数据目录data:mdmd/data/cheriegong/mysql/data创建配置文件目录etc:md/data/cheriegong/mysql/etcmysql5.5之后是通过cmake来编译的,如果机器上还没有装cmake,那么在安装mys 阅读全文
posted @ 2013-09-10 14:13 gxcherie 阅读(1376) 评论(0) 推荐(0) 编辑