修复mysql 的BUG: Cannot load from mysql.proc

来自:百度经验:jingyan.baidu.com

  1. LINUX下将mysql从5.1升级至5.5后,发现存储过程不能用了。创建和使用存储过程时就会提示Cannot load from mysql.proc. The table is probably corrupted。

    解决方法非常简单,运行mysql_upgrade命令即可。此命令会在数据目录下生成一个文本文件mysql_upgrade_info,里面的内容为升级后的数据库版本。

    但不知道什么原因,在我这里无效,升级后各种升级OK,但仍然报这个错误。

  2. http://bugs.mysql.com/bug.php?id=50183

    原因是mysql.proc升级时有个字段没有升级成功。

    在5.1中mysql.proc表的comment字段是varchar(64):

    1. `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
    但在5.5中应该是text:

    1. `comment` text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
  3. So,执行下面的语句,把这个字段修改为text,就彻底OK了:

    1. ALTER TABLE `proc`MODIFY COLUMN `comment`  text CHARACTER SET utf8 COLLATE utf8_bin NOT NULL AFTER `sql_mode`;

indexof查不到指定字符串

  1. $(function() {
  2. var cls;
  3. $("img").each(function(){
  4. cls = $(this).attr("class");
  5. if (typeof(cls) == "undefined") {
  6. $(this).addClass("img-responsive");
  7. } else{
  8. if (cls.match("img-responsive") != null) {
  9. $(this).addClass("img-responsive");
  10. }
  11. }
  12. });
  13. });
原来使用indexof,结果查不到指定字符串,改用match来判断才可以得到结果,在浏览器里报错,说cls.indexof不是一个已经定义的方法。但match没问题。
难道js的indexof方法被废弃了?

怎样让优酷等视频实现自动播放

优酷播放器自动播放方法:

方法一:
1、把下面的代码复制到记事本中,保存备用。
http://player.youku.com/player.php/sid/XMzg4NzEyOTY==/v.swf?VideoIDS=XMzg4NzEyOTY==&isAutoPlay=true&isShowRelatedVideo=false&showAd=0&embedid=200707011235108b444fd5fae5112597a31314df8885f7
2 、到“优酷”网站找到你所需要的视频,进行操作。注:现在优酷把视频贴到Blog或BBS这项已经改为“分享”。
比如我的这个BON JOVI的视频FLASH为http://player.youku.com/player.php/sid/XMTcyMTk0Mzcy/v.swf
复制红色部分,打开刚才记事本上的代码:

http://player.youku.com/player.php/sid/XMzg4NzEyOTY==/v.swf?VideoIDS=XMzg4NzEyOTY==&isAutoPlay=true&isShowRelatedVideo=false&showAd=0&embedid=200707011235108b444fd5fae5112597a31314df8885f7
3、将紫色部分换为自己选的视频里的红色部分,在论坛插入FLASH代码时,将这个换好的地址填上,就OK了。
原本播放地址:http://player.youku.com/player.php/sid/XMTcyMTk0Mzcy/v.swf
自动播放地址:http://player.youku.com/player.php/sid/XMTcyMTk0Mzcy==/v.swf?VideoIDS=XMTcyMTk0Mzcy==&isAutoPlay=true&isShowRelatedVideo=false&showAd=0&embedid=200707011235108b444fd5fae5112597a31314df8885f7

Mac OS X如何校验文件的SHA1值-系统之家

  我们在上传和下载文件的时候,很容易导致文件的缺失,那么该如何解决这个问题呢?用户们通常会使用SHA1 值来检查。今天小编就教大家如何检测文件的SHA1 值吧。

 Mac OS X如何校验文件的SHA1值

  检测方法:

  运行终端(应用程序 – 实用工具 – 终端.app),并按以下语法执行检查:

  例如,要检查桌面上一个名为“DownloadedFile.dmg”的 SHA1 值,可以这样输入:

  1. shasum ~/Desktop/DownloadedFile.dmg
  检验的结果会和下面的类似:
  1.   $ shasum ~/Desktop/CheckMe.zip
  2.   ddfdb3a7fc6fc7ca714c9e2930fa685136e90448 CheckMe.zip
  那个最长的 16 进制字符串就是该文件的 SHA1 值。

  如果文件路径比较复杂,不要忘记多多使用 Mac OS X 的拖拽特性,输入“shasum”空格之后,直接把要检验的文件拖入终端窗口中,其路径会自动补齐。

  shasum (把文件拖放到这里)

  记住一定要在“shasum”后面输入一个空格才行。

  Shasum 命令默认检测 SHA1 值,而通过参数 -a 可以修改为 224、256、384 或 512。

  这就是在MAC系统中检测SHA1 值的方法了,担心自己下载的文件有所缺失的用户,不妨使用这个方法,看看文件的SHA1 值是否和作者提供的相符吧。

NetBeans无法使用编码GBK安全地打开该文件 –

NetBeans无法使用编码GBK安全地打开该文件 – 沉默地等奇迹 – 博客园

  今天用NetBeans打开包含路径里面的UTF-8编码的文件时,提示:NetBeans无法使用编码GBK安全地打开该文件。

  后来在网上搜索找到了解决方案,原文地址:http://qdjinxin.iteye.com/blog/1743227。

  用文本编辑器打开NetBeans安装目录下etc\netbeans.conf文件,找到”netbeans_default_options=”字段,在后面添加” -J-Dfile.encoding=UTF-8″。

  原来是:

  netbeans_default_options=”-J-client -J-Xss2m -J-Xms32m
-J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true   
-J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true
-J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true “

  改成

netbeans_default_options=”-J-client -J-Xss2m -J-Xms32m
-J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true
-J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true
-J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dfile.encoding=UTF-8

  就OK了。

Linode VPS Centos6 iptables错误Setting chains to policy ACCEPT: security raw nat[FAILED]filter的解决方法 –

转自飞辰的IT博客日记 – 无敌WEB技术社区

近日在配置Linode VPS上的Centos 6.4系统的防火墙的时候,遇到以下错误:

  1. service iptables restart
  2. Setting chains to policy ACCEPT: security raw nat[FAILED]filter
经过搜索,明白是Linode官方在iptables里加了一个security的规则链,但Centos不支持。

而找到的解决方法是,编辑/etc/init.d/iptables,找到:

  1. for i in $tables; do
  2. echo -n "$i "
  3. case "$i" in
  4. raw)
  5. $IPTABLES -t raw -P PREROUTING $policy \
  6. && $IPTABLES -t raw -P OUTPUT $policy \
  7. || let ret+=1
  8. ;;
加入以下内容到“case “$i” in”下面:
  1. security)
  2. $IPTABLES -t filter -P INPUT $policy \
  3. && $IPTABLES -t filter -P OUTPUT $policy \
  4. && $IPTABLES -t filter -P FORWARD $policy \
  5. || let ret+=1
  6. ;;
  7.  
 最终版本类似:

  1. for i in $tables; do
  2. echo -n "$i "
  3. case "$i" in
  4. security)
  5. $IPTABLES -t filter -P INPUT $policy \
  6. && $IPTABLES -t filter -P OUTPUT $policy \
  7. && $IPTABLES -t filter -P FORWARD $policy \
  8. || let ret+=1
  9. ;;
  10. raw)
  11. $IPTABLES -t raw -P PREROUTING $policy \
  12. && $IPTABLES -t raw -P OUTPUT $policy \
  13. || let ret+=1
  14. ;;
保存后,重启则可

service iptables restart

设置修改CentOS系统时区 – 51CTO.COM

在我们使用CentOS系统的时候,也许时区经常会出现问题,有时候改完之后还是会出错,下面我们就来学习一种方法来改变这个状况。如果没有安装,而你使用的是 CentOS系统 那使用命令 yum install ntp

然后:

  1. ntpdate us.pool.ntp.org
因为CentOS系统是用rhas的源码再编译的,很多地方是完全一样的。

rhas5的时区是以文件形式存在的,当前的时区文件是在/etc/localtime

那么其他时区的文件存放在哪里呢?

在/usr/share/zoneinfo下

我们用东八区,北京,上海的时间

  1. #cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  2. #reboot
重启之后,date查看时间、查看当前时区   date -R、查看/修改Linux时区和时间

一、时区

1. 查看当前时区

  1. date -R
2. 修改设置时区

方法(1)

  1. tzselect
方法(2) 仅限于RedHat Linux 和 CentOS系统
  1. timeconfig
方法(3) 适用于Debian
  1. dpkg-reconfigure tzdata
3. 复制相应的时区文件,替换CentOS系统时区文件;或者创建链接文件
  1. cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime
在中国可以使用:
  1. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

MySQL Error Number 1005 Can’t create table ‘XX.frm’ (errno: 150) – 小雨的日志 – 网易博客

当你试图在mysql中创建一个外键的时候,这个出错会经常发生,这是非常令人沮丧的。像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经被报告是一个mysql本身的bug并出现在mysql开发者列表当中很多年了,然而这似乎又是一种误导。

在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕 的150错误的常见原因列出来了,并且我以可能性的大小作了排序。

Read More

Eclipse打JAR包引用的第三方JAR包找不到 – ☆★笨笨★☆的日志 – 网易博客

Eclipse打JAR包引用的第三方JAR包找不到 – ☆★笨笨★☆的日志 – 网易博客

在做项目过程中,使用Eclipse打成JAR包,使用 Export–>Java–>JAR file ,我的jar包里面还引用了第三方的jar包:比如 log4j, 我也碰到了这样的问题:

 

http://zhidao.baidu.com/question/48376665.html

 

  “我的程序里引用了别的JAR包

在ECLIPSE里运行正常

我想把我的程序打个JAR包

打包的时候把引用的包也打进去了

可运行程序确总是找不到我引用的包”

 

百度知道上面的最佳回答是这样的:

 

在你的项目文件夹下建一个META-INF文件夹里面新建一个

MANIFEST.MF的文件内容大至如下

Manifest-Version: 1.0

Ant-Version: Apache Ant 1.6.2

Created-By: 1.5.0_06-57 (“Apple Computer, Inc.”)

Built-By: hani

Main-Class: com.opensymphony.workflow.designer.Launcher

Class-Path: looks.jar forms.jar syntax.jar jgraph.jar foxtrot.jar osworkflow-2.8.0.jar oscore-2.2.5.jar

 

Main-Class就是你要运行的类。

Class-path:就是你要引入的包

用eclipse导出jar文件里,选择

user existing manifest from workspace

manifest file:/你的项目名/src/META-INF/MANIFEST.MF

点击完成。这样应该就可以了

 

按照上面的说法,我在我的项目src文件夹下面新建了一个名为 META-INF 的文件夹,文件夹里面建立了一个名为 MANIFEST.MF 文件,文件内容如下:

 

Manifest-Version: 1.0

Main-Class: com.sgfs.udp.client.ClientMain

Class-Path: ./lib/log4j-1.2.15.jar

 

然后,在项目上右键 选择 Export–>Java–>Java file,导出jar包,然后需要做的是在导出的jar文件目录,比如我是放在 C:\SgfsUDPClient 目录下面,新建一个名为 lib 的文件夹,然后把 MANIFEST.MF 文件里面 Class-Path: 里面指定的log4j-1.2.15.jar 放到里面。目录结构如下所示:

  Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

 

这样就OK了。 也许你也会觉得这种方式不是很好,能不能在打包时,可以自动的将引用的jar包打进来了??,最终我们只需要一个jar文件,放到随意一个地方都是可以运行的, 是的,有这样的插件FatJar (http://blog.csdn.net/jikeyzhang/archive/2009/10/27/4731968.aspx)

 

FatJar 项目地址:http://fjep.sourceforge.net/

 

上面文章中的总结如下:总结:一般把src打包export=>Jar File 即可。想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.

简要的操作使用说明如下:

在你的项目上右键,选择 Build Fat Jar 文件,如下所示:

 Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

在弹出的窗口中,选择 需要运行的类 Main-Class,如下所示:

Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

点击,Next ,在下一步界面,选择要用到的第三方 jar 包,如下所示:

 

  Eclipse打JAR包引用的第三方JAR包找不到 - ☆★笨笨★☆ - ☆★笨笨★☆

点击 Finish 按钮,完成操作,生成 jar 文件。

linux修改主机名的方法 – 冰刀(skate) – 博客频道 – CSDN.NET

用hostname命令可以临时修改机器名,但机器重新启动之后就会恢复原来的值。

  1. #hostname   //查看机器名
  2. #hostname -i  //查看本机器名对应的ip地址
另外一种方法就是之久修改配置文件

修改/etc/sysconfig/network   修改这个文件,系统才有效
/etc/hosts    hostname命令读这个配置文件

网上有很多朋友说直接修改/etc/hosts文件就可以,但系统本身用到主机名的地方不会变化,所以我觉得 /etc/hosts 是网络中用的,/etc/sysconfig/network是本机起作用,而且经络测试也是这样的,我得版本是linux as3。

总结:所以要修改主机名,就两个文件都更改