Category Archives: Linux
MySQL 4.1+ using old authentication
参考自这里 连接MySQL出现 mysqlnd cannot connect to MySQL 4.1+ using old authentication 错误 打开 /etc/my.cnf 会看到 # Default to using old password format for compatibility with mysql 3.x old_passwords=1 默认使用 old_passwords 格式, 这是为了兼容 mysql 3.x, 如果没有这个需求, 那就用新的密码方式吧! 具体操作步骤如下: 1、编辑my.cnf注释掉一下行: old_passwords = 1 2、重启MySQL service mysqld restart /etc/inint.d/mysqld restart 3、检查是否有16位的密码 SELECT user, Length(`Password`) FROM `mysql`.`user`; 4、如果有,把对应的用户名密码用以下SQL更新 UPDATE [...]
在VPS上搭建VPN
参考自 # http://os.51cto.com/art/201011/234004.htm # http://www.vpsyou.com/centos5-5-install-openvpn/ # http://www.cat-home.org/?action=show&id=11 1, VPS(server) 上操作如下 mkdir -p /root/software/vpn cd /root/software/vpn # 下载软件包 wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.05.tar.gz wget http://swupdate.openvpn.net/community/releases/openvpn-2.2.1.tar.gz # 解压及安装 tar zxvf lzo-2.05.tar.gz cd /root/software/vpn/lzo-2.05 ./configure make make install tar zxvf openvpn-2.2.1.tar.gz cd /root/software/vpn/openvpn-2.2.1 ./configure make make install # 服务器端设置 cp /root/software/vpn/openvpn-2.2.1/easy-rsa/2.0 -r /etc/openvpn cd /etc/openvpn vim vars # 将 vars 内容修改为 [...]
C 操作 MySql
1, 启动 mysql 服务 #我安装的是 lampp , 安装路径是 /opt/lampp/lampp /opt/lampp/lampp start 2, 查询 mysql_config 位置 whereis mysql_config # 显示位置为 /opt/lampp/bin/mysql_config 3, 编写测试脚本 test_mysql.c /* Simple C program that connects to MySQL Database server */ #include <stdio.h> #include <mysql.h> #include <stdlib.h> void main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user [...]
Linux下SVN客户端版本库定时更新
现有两台机器 一台 windows : 192.168.1.125 一台 linux : 192.168.1.132 (Ubuntu 10.04 LTS / root) windows 上运行有 SVN-Server (svn://192.168.1.125) Linux 上安装有 SVN-Client , 现在想定时(每一小时)更新一次 Linux 上的版本库. 1, 先将 SVN-Server 上的版本库检出到 Linux 机器的指定目录 (/root/backup/winsvn/) cd /root/ mkdir backup cd backup/ mkdir winsvn cd winsvn/ /usr/bin/svn checkout svn://192.168.1.125 . 2, 设置 crontab crontab -e #将 crontab 中的内容修改如下 #第一条是定时同步时钟的, [...]
通过rsync定期备份windows下svn目录到linux
利用 rsync 命令备份 windows 下 svn 目录到 linux 服务器上 大体思路是: 先把 windows 下的 svn 目录导出到一个文件夹中(这样不会有多余的 .svn 目录存在), 然后再通过 winRAR 将这个目录打包成 *.rar 文件, 再然后通过 rsync 命令将这个打包好的文件同步到 linux 服务器. 先介绍一下基本环境. #IP地址: windows 192.168.1.138 linux 192.168.1.132 #windows下相关软件安装目录: svn 安装目录 D:\Program Files\svn-win32-1.6.16\bin\svn.exe winRAR 安装目录 C:\Program Files\WinRAR\WinRAR.exe rsync 安装目录 D:\Program Files\cwRsync\bin\rsync.exe OK, 开始操作吧. 1, linux 下的 rsync 安装可以参考这里: http://www.linuxsir.org/main/?q=node/256 Ubuntu下可以直接用命令安装: [...]
Vim 常用命令
进入vim的命令 vim filename #打开或新建文件,并将光标置于第一行首 vim +n filename #打开文件,并将光标置于第n行首 vim + filename #打开文件,并将光标置于最后一行首 vim +/pattern filename #打开文件,并将光标置于第一个与pattern匹配的串处 vim -r filename #在上次正用vim编辑时发生系统崩溃,恢复filename vim filename1 filename2 #打开多个文件,依次编辑 移动光标类命令 h #光标左移一个字符 l #光标右移一个字符 space #光标右移一个字符 Backspace #光标左移一个字符 k或Ctrl+p #光标上移一行 j或Ctrl+n #光标下移一行 Enter #光标下移一行 w或W #光标右移一个字至字首 b或B #光标左移一个字至字首 e或E #光标右移一个字j至字尾 ) #光标移至句尾 ( #光标移至句首 } #光标移至段落开头 { #光标移至段落结尾 nG #光标移至第n行首 [...]
微博缩短网址的实现
原文在这里 随着类似Twitter的微型博客网站的出现,由于字符数的限制,网址缩短服务日渐增多。加上网址缩短服务提供商提供网址追踪等服务,这一业务日渐兴起。知名网址缩短服务商Bit.ly的主要业务便是为微博Twitter提供网址缩短服务。 比如sina微博的sinaurl.cn,腾讯微博的url.cn等。 实现原理很简单,主要是将用户提交的 url 地址转化成一个唯一的字串,这个字串就对应着真实的 url,怎么样实现这种转换呢? url 的转换摘自:http://www.cnblogs.com/sunli/archive/2010/03/25/1696183.html 数据库只有两个字段seq(自增长数字)和url(数字的url地址,建立索引)。 用户输入一个url地址,查询表是否包含此url,如果存在,则返回seq的数字, 如果不存在,则插入数据库,得到一个新增加的自增seq数字,为了缩短数字占用的字符数,我们可以把abc等字母的大小写用上。这样10个数字,26个小写字母,26个大小字母就组成了一个62进制了。比如数字10000000000(100亿)转换后就是aUKYOA,只有6位了,这样就能缩短很多的网址了。 <?php //十进制转到其他制 function dec2any( $num, $base=62, $index=false ) { if (! $base ) { $base = strlen( $index ); } else if (! $index ) { $index = substr( "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" ,0 ,$base ); } $out = ""; for ( $t = floor( log10( [...]
VPS 自动备份数据库
1, 这是我的自动备份数据库 SHELL 脚本, 它将在 VPS 服务器上运行, 导出数据库后压缩成包, 然后通过 scp 命令将压缩包备份到另一台服务器( x4100 ) 中. #!/bin/bash D="/root/backup" T=`date +%Y%m%d` if [ ! -d "${D}/${T}" ]; then /bin/mkdir "${D}/${T}" fi /usr/local/mysql/bin/mysqldump --host=localhost --user=root --password=数据库密码 要备份的数据库名 > "${D}/${T}/${T}.sql" cd ${D} /bin/tar -czf "${D}/${T}.tar.gz" "${T}" /usr/bin/scp "${D}/${T}.tar.gz" kuco@x4100.unix-center.net:~/web_backup/studyday.net 2, 设置 Crontab , 更多的 crontab 介绍在这里 crontab -e 30 04 [...]
计划任务 crontab 基本运用
Linux 计划任务 Crontab 基本格式: * * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6(0表示星期天) 第6列要运行的命令 crontab文件的一些例子: 30 21 * * * /opt/lampp/lampp restart #上面的例子表示每晚的21:30重启lampp。 45 4 1,10,22 * * /opt/lampp/lampp restart #上面的例子表示每月1、10、22日的4 : 45重启lampp。 10 1 * * 6,0 /opt/lampp/lampp restart #上面的例子表示每周六、周日的1 : 10重启lampp。 0,30 18-23 * * * /opt/lampp/lampp restart [...]
删除 MySQL 二进制日志(log-bin)