myslq 转ENGINE

mysql 5.1
ALTER TABLE 数据表 TYPE=InnoDB;

mysql 5.5
ALTER TABLE 数据表 engine=InnoDB;
## 查看某个table 的 ENGINE=
show create table tablename;
上次试了一下 一个
mysql> select count(*) from bto_message;
+———-+
| count(*) |
+———-+
| 2091162 |
+———-+
1 row in set (0.00 sec)

2百多w数据 用了 26 min 26.77 sec

http://hi.baidu.com/linux_life/blog/item/83d32aea865222dbd439c968.html
http://www.admpub.com/blog/post-128.html

你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):
mysql> show create table 表名;

问题

#原因 主索引太长 直接用字符串的
mysql> ALTER TABLE filternames TYPE=InnoDB;
ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes

MySQL快速从MyISAM迁移到InnoDB
mysql -u [USER_NAME] -p -e "select TABLE_NAME from information_schema.tables where table_schema='DATABASE_NAME' and engine='MyISAM';" | tail -n +2 | xargs -I '{}' echo "ALTER TABLE {} ENGINE=INNODB;" > alter_table.sql
perl -p -i -e 's/(search_[a-z_]+ ENGINE=)INNODB/\1MYISAM/g' alter_table.sql
mysql -u [USER_NAME] -p [DATABASE_NAME] < alter_table.sql

从管理员角度分析:MySQL表引擎中MyISAM和InnoDB的对
mysql从MyISAM迁移到InnoDB引擎过程及优化

[MySQL FAQ]系列 — 从MyISAM转到InnoDB需要注意什么

mysql myisam转innodb的2种方法

power toggles–强大的快捷下拉开关

用了原生的安卓4.4.2,一切都好 够快够爽,不过却老是烦于没有通知栏下拉快捷开关, 可以快速开关移动数据什么的 原生的本来的是要二级菜单,用起来真心不太习惯 或者说是觉得他不够方便,思前思后 ,竟然原生的系统不支持 那就只剩下一个方法了 安装第三方的 app

An advanced power control widget for android. FREE and No ADDS
这是官方的介绍 V5吧

google play 安装一下就行了 ,使用过程那是相当的容易 我就不在些啰嗦了 请看下面

http://www.powertoggles.com/
http://sspai.com/23095

cenots suse 之间无密码登录之openssh与ssh2 key的转换

install ssh2

wget http://ftp.nluug.nl/security/ssh/ssh-3.2.9.1.tar.gz

./configure --prefix=/usr/local/ssh2

[root@localhost ssh-3.2.9.1]# /usr/local/ssh2/bin/ssh-keygen2 -P /etc/ssh2/hostkey
Generating 2048-bit dsa key pair
8 o.oOo.oOo.oO
Key generated.
2048-bit dsa, root@localhost.localdomain, Fri Feb 21 2014 10:01:07 +0800
Private key saved to /etc/ssh2/hostkey
Public key saved to /etc/ssh2/hostkey.pub

#run
nohup /usr/local/ssh2/sbin/sshd2 &

http://wenku.baidu.com/view/bb2f32f7ba0d4a7302763ac5.html

SSH2 的 key format 與 OpenSSH 不同,這在兩者之間要作 public key authentication 時造成了一些麻煩。OpenSSH 提供的 ssh-keygen 可以用 -e 和 -i 兩個選項來轉換兩者的 key format:
# ssh-keygen -e -f openssh-key.pub > ssh2-key.pub
# ssh-keygen -i -f ssh2-key.pub > openssh-key.pub

http://leeon.me/a/openssh-ssh2-notes

**************************************
centos
suse

******************************************************

1. (SSH2) 客户端登陆OpenSSH server
openssh to login ssh2
www@VM:~> ssh-keygen2
Generating 2048-bit dsa key pair
3 o.ooOo.oOo.o
Key generated.

-bash-4$ mkdir .ssh
-bash-4$ cp id_dsa_2048_a.pub .ssh
-bash-4$ cd .ssh

## ssh2 pub key 转成 openssh pub key
-bash-4.1$ ssh-keygen -i -f id_dsa_2048_a.pub > imported-ssh2-key.pub
-bash-4.1$ cat imported-ssh2-key.pub >> authorized_keys

-bash-4.1$ ls
authorized_keys id_dsa_2048_a.pub imported-ssh2-key.pub
-bash-4.1$ cd ..
-bash-4.1$ chmod -R 700 .ssh/
-bash-4.1$ chmod 600 .ssh/authorized_keys
-bash-4.1$ chown -R root.root .ssh

在 suse 登录 centos 输入几个yes 后就成功了

**************************************************
2. (OpenSSH) 客户端登陆SSH2 server (SSH2 Key)

(1).openssh pub key — 转–>ssh2 pub key

#openssh 机器
-bash-4.1$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/data/www/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):

ssh-keygen -e -f id_rsa.pub > id_rsa_2.pub

##下面到 ssh2机器
然后将公钥id_rsa_2.pub上传到ssh2 上去

cd .ssh2
#在里面新增一行 Key id_rsa_2.pub #保存修改
echo 'Key id_rsa_2.pub' >>authorization

这要就可以从 openssh 登录 ssh2 那台了

(2).ssh2 pri key ->openssh pri key

ssh2 192.168.1.97
openssh 192.168.1.96

#on ssh2
/usr/local/ssh2/bin/ssh-keygen2

cd /root/.ssh2/
cp -p id_dsa_2048_a newkey
scp newkey 192.168.1.97:~

[root@localhost .ssh2]# vi authorization
key id_dsa_2048_a.pub

on openssh
[root@localhost ~]# ssh-keygen -i -f newkey >openkey
[root@localhost ~]# chmod 600 openkey
[root@localhost ~]# ssh -i openkey 192.168.1.96

*********************************************************************************************************************

http://www.blogjava.net/bacoo/archive/2011/08/17/356703.html

http://blog.urdada.net/2008/01/03/70/

Suse SSH2 实现root无验证登陆
http://www.tuicool.com/articles/22yqya

suse Text Mode 安装

因工和兴趣需要在虚拟机安装 suse , centos用多了习惯他的ext Mode安装, suse 默认是图形界面的, 其实也有text mode ,不过不明显哦 我也是今天才发现的

引导系统盘,进入安装界面,按F3选择“Text Mode”以文本方式安装系统,然后将选项移动到“Installation”敲回车安装系统

textmode
http://www.oschina.net/question/73027_16179?sort=time

一次清空多个文件

平时清空文件 特别是log 常常用 echo >file 对吧 但是如果有很多个相似的文件呢 是不是 echo >file* 很遗憾的告诉你 这样是不行滴!
要怎么办呢 其实我那天也遇到这样的情况 于是在此记录一下 防止以后自己忘记 所谓好记性不如好笔头嘛 !当然 也希望能帮忙到来访的你

方法1

ls -l|awk 'NR>1{print "echo > " $NF }' |sh

#过程讲解
evan@evan-laptop:~/test/test0$ ls -l
总用量 12
-rw-rw-r– 1 evan evan 6 2月 18 18:06 1
-rw-rw-r– 1 evan evan 2 2月 19 10:19 2
-rw-rw-r– 1 evan evan 2 2月 19 10:27 test
evan@evan-laptop:~/test/test0$ ls -l |awk ‘NR>1{print $NF}’
1
2
test
evan@evan-laptop:~/test/test0$ ls -l |awk ‘NR>0{print $NF}’
12
1
2
test
evan@evan-laptop:~/test/test0$ ls -l|awk ‘NR>1{print “echo > ” $NF }’
echo > 1
echo > 2
echo > test

名词解释

 NR表示从awk开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record的缩写。

  在awk处理多个输入文件的时候,在处理完第一个文件后,NR并不会从1开始,而是继续累加,因此就出现了FNR,每当处理一个新文件的时候,FNR就从1开始计数,FNR可以理解为File Number of Record。

  NF表示目前的记录被分割的字段的数目,NF可以理解为Number of Field。

方法 2

ls |awk '{print "echo >"$0}' |bash
ls | awk '{print ">"$0}'|sh

http://www.letuknowit.com/topics/20120329/sample-about-awk-build-in-variable-nr-fnr-nf.html/

http://bbs.chinaunix.net/thread-912353-1-1.html

awk中的NR和FNR的区别

2014 update

evan@evan-laptop:~/test/test0$ ls -l
总用量 12
-rw-rw-r– 1 evan evan 6 2月 18 18:06 1
-rw-rw-r– 1 evan evan 2 2月 19 10:19 2
-rw-rw-r– 1 evan evan 2 2月 19 10:27 test
evan@evan-laptop:~/test/test0$ ls -l |awk ‘NR>1{print $NF}’
1
2
test
evan@evan-laptop:~/test/test0$ ls -l |awk ‘NR>0{print $NF}’
12
1
2
test
evan@evan-laptop:~/test/test0$ ls -l|awk ‘NR>1{print “echo > ” $NF }’
echo > 1
echo > 2
echo > test

名词解释

 NR表示从awk开始执行后,按照记录分隔符读取的数据次数,默认的记录分隔符为换行符,因此默认的就是读取的数据行数,NR可以理解为Number of Record的缩写。

  在awk处理多个输入文件的时候,在处理完第一个文件后,NR并不会从1开始,而是继续累加,因此就出现了FNR,每当处理一个新文件的时候,FNR就从1开始计数,FNR可以理解为File Number of Record。

  NF表示目前的记录被分割的字段的数目,NF可以理解为Number of Field。

容易混淆的两个变量:NF和$NF两个变量
NF是处理行中域的个数
$NF 是输出处理行中最后一个域的内容
$1 处理行中第一个域的内容 ,依此类推

http://www.letuknowit.com/topics/20120329/sample-about-awk-build-in-variable-nr-fnr-nf.html/

http://blog.csdn.net/hittata/article/details/7580422

*********************************
awk中的NR和FNR的区别

evan@evan-laptop:~/test/tmp$ cat 1
ln 11
ln 12
evan@evan-laptop:~/test/tmp$ cat 2
ln 21
ln 22
evan@evan-laptop:~/test/tmp$ awk '{print NR;print FNR;print $0;}' 1
1 #NR
1 #FNR
ln 11
2
2
ln 12
evan@evan-laptop:~/test/tmp$ awk '{print NR;print FNR;print $0;}' 1 2
1
1
ln 11
2
2
ln 12
3
1
ln 21
4
2
ln 22

新打开文件时FNR会重新从1开始,这东西 就像 open 那家伙一样
http://blog.51yip.com/shell/1041.html

AWK 简明教程

WordPress文章字体大小如何设置?

首先,修改wordpress文章字体大小最简单的方法当然是安装wordpress文章字体插件了。就网友及个人的经验,wordpress文章字体插件中最好用的是一款名为“CKEditor for WordPress”的插件。插件安装后不仅可修改博客文章的字体,甚至连评论里的字体也可以修改。从功能上讲这款插件是很不错的,但是安装后也会出现一些问题,比如插件本身是不带有中文字体的,安装后你会发现,原来wordpress中文版默认的wordpress文章字体‘微软雅黑’会变成类‘宋体’的字,会影响到文章的美观。当然,插件也是可以通过修改代码添加中文字体的,但网上的很多方法我均有测试,效果都不大好。另外,玩wordpress还是那个原则‘能不用插件的尽量不要用插件’,过多的使用插件会造成程序本身的负担导致网站速度偏慢。

嫌wordpress文章字体大小默认的太小了,想改大一些,但又不想安装插件。其实改一下 CSS就行了 方便好用 谁用谁知道,你可以通过“外观—编辑—style.css”找到代码:

body {

background: #f2f2f2;

font: 12px ‘Microsoft YaHei’, 微软雅黑, Arial, Lucida Grande, Tahoma, sans-serif;

color: #000;

text-shadow: 0px 1px 0px #d1d1d1;

}

将其中的12px修改成你想要的大小就可以了,一般情况下修大一点都会选择14px。但是需要注意的是,有些主题中已经有对字体进行定义,这种情况比较麻烦,贸然修改可能会造成版面的bug。如果想修改wordpress文章字体大小需要找其他代码,需要通过ftp下载style.css文件,查找font,然后修改如content、comment等处font-size。你可以安装本地博客进行一一测试,这里面包括文章标题大小、颜色、加粗、行间距等均可修改。由于主题不同,定义不同,在这里我们不一一列举。

ps
我个人的感觉是全改成了 14px

http://www.cnblogs.com/dyllove98/archive/2013/06/10/3131147.html

ubuntu进入单用户模式

今天本本有点问题 老是自动连接到无线 但是本人对公司的无线不太信任,于是自作聪明的把 重启网络的命令写到 rc.local ,你知道结果如何么
结果进入不了系统了 启动后停留在一个大大的X的光标上就不动了 ,没办法了 只好进入单用户模式了,不过这不是服务器上的cenots 还是有点区别的呢

ubuntu进入单用户模式
1、重启 或者启动ubuntu,随即长按shirft进入grub菜单(如果你启动时是不显示grub菜单的话);
2、选择recovery mode,按”e”键进入编辑页面;
3、将ro recovery nomodeset替换为rw single init=/bin/bash;

4、这里是你要操作的
我当然是注释掉刚刚写上的命令就OK
5、按ctrl+x进入单用户模式,当前用户即为root;
6、按ctrl+alt+del重启;

忘记root密码的可以由下,其它的类似,不一一举例
使用passwd root 命令修改root密码

然后使用sudo passwd +用户名,可以修改任意用户的密码啦。

ps 这个是 redhat系列的

1.在grub引导界面中按“e”进入grub的编辑模式。
2.编辑模式下选择第二项,即:“kernel /vmlinuz-2.4.20-8 ro root=LABEL=/”。然后再按“e”编辑此项。
3.在后面加上“ single”(注意:前面有一个空格)。然后回车,再按“b”这样就启动了linux的单用户模式。