2010年4月12日 星期一

Linux下mysql中文問題

操作系統環境:

CentOS4.8、MySQL 5.1.45

現象:

在此電腦上安裝了Tomcat作為web服務器,部署了一個項目,通過jdbc連接到mysql數據庫。但是發現中文輸入輸出亂碼現象。

解決步驟:

1. 找到mysql的配置文件

網上說,mysql的配置文件就是/etc/my.cnf。但是這個文件並不一定存在,由於你可能採取的MySQL安裝方式跟網上所說的不一樣,就不一定能夠找得到/etc/my.cnf。因此,你需要使用find命令查找cnf文件。記得不要去找my.cnf因為它不一定存在,而應該找*.cnf。

VSFTP 設定與參數

相關檔案或目錄
/etc/vsftpd/vsftpd.conf //vsftpd的設定檔
/etc/pam.d/vsftpd //PAM模組設定檔,身份認證之用
/etc/vsftpd.ftpusers //pam模組用來指定某user無法登入的設定檔
/etc/vsftpd.user_list //依vsftpd.conf內的userlist_enable, userlist_deny參數設定而有不同功能
/etc/vsftpd.chroot_list //將某帳號chroot 在他們的家目錄下,和vsftpd.conf內的chroot_list_enable, chroot_list_file參數相關
/usr/sbin/vsftpd //主要執行檔
/var/ftp/ //匿名使用者登入的根目錄


常用功能設定做法
不讓某帳號離開家目錄
修改vsftpd.conf

2010年4月9日 星期五

PermGen space及其解決方法

1、PermGen space的全稱是Permanent Generation space,是指內存的永久保存區域OutOfMemoryError: PermGen space從表面上看就是內存益出,解決方法也一定是加大內存。說說為什麼會內存益出:這一部分用於存放Class和的信息,Class在被Load的時候被放入PermGen space區域,它和和存放Instance的Heap區域不同,GC(Garbage Collection)不會在主程序運行期對PermGen space進行清理,所以如果你的APP會LOAD很多CLASS的話,就很可能出現PermGen space錯誤。這種錯誤常見在web服務器對JSP進行pre compile的時候。

2010年4月8日 星期四

Linux下mysql大小寫問題

1、Linux下mysql安裝完後是默認:區分表名的大小寫,不區分列名的大小寫;


2、用root帳號登錄後,在/etc/my.cnf 中的[mysqld]後添加添加lower_case_table_names=1,重啟MYSQL服務,這時已設置成功:不區分表名的大小寫;



MySQL帳號與權限設定

當有多人使用MySQL Server時,若都以MySQL管理者root身份登入,這是很危險的事情。root什麼事情都可以做,所以為了避免root密碼外洩造成資料庫資安風險提高,建議另外新增帳號,並賦予適當的存取權限。

--------------------------------------------------------------------------------
請以MySQL管理者root身份登入MySQL,你可以使用「grant on」指令新增使用者與權限的調整。當使用者不存在時會建立帳號,若存在則會變更權限,grant on指令基本設定如下:
grant 權限 on 資料庫.資料表 to 帳號@主機 identified by‘密碼’

2010年4月7日 星期三

CentOS jdk1.6 安裝

SUN 官網

http://java.sun.com/javase/downloads/index.jsp

下載 JDK jdk-6u19-linux-i586-rpm.bin

> chmod a+x jdk-6u19-linux-i586-rpm.bin

執行安裝

> ./jdk-6u19-linux-i586-rpm.bin

切換目錄到/usr/bin
> cd /usr/bin

作link
> ln -s -f /usr/java/jdk1.6.0_19/bin/java
> ln -s -f /usr/java/jdk1.6.0_19/bin/javac

> vim hello.java

按 i 進行編輯


Linux RPM 使用講解

前言:
原文出處:

作者: 我從山中來
http://tw.group.knowledge.yahoo.com/hacker-cracker/article/view?aid=1202

http://doc.linuxpk.com/153.html

歡迎參觀 AYO 阿佑 個人的電腦技術園地
http://tw.myblog.yahoo.com/kain-0913/

AYO阿佑 這次來講說,Linux 世界中,有一種工具叫做 RPM,
這個是 Linux 套件安裝、升級、更新 的方法之一,
先行說明一下幾個名詞解釋 :
RPM : 這是 Linux 安裝、升級、更新方法之一,泰半都是 Red Hat 公司出品的 Linux 居多,
會這麼說是因為是因為 RPM 全名叫做,RedHat Package Managmer,
所以 Red Hat 相關的 Linux,都 100% 支援此種方式,
例如 : RedHat、RHEL、Fedora Core、CentOS
DPKG : 這又是另外一種 Linux 安裝、升級、更新方法之一,源出自 Debian Linux,
而 Linux 中,N User 比較常聽過的 Ubuntu,也是支援這個方法喔!!
當然還有 FreeBSD 也是支援此方式做的喔!

CentOS移除以及安裝mysql-server

如果忘記了mysql-server的密碼,只好重裝 :

#yum remove mysql-server --->移除mysql-server
#rm -rf /var/lib/mysql/ --->徹底清除相關目錄
#yum -y install mysql-server --->安裝
#service mysqld restart --->重啟服務
#mysqladmin -u root password 填新密碼 --->變更mysql的root的密碼

2010年4月1日 星期四

SAXBuilder、Document、Element的用法

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
(1)使用JDOM首先要指定使用什麼解析器。如:
SAXBuilder builder=new SAXBuilder(false); 這表示使用的是默認的解析器
(2)得到Document,我們以後要進行的所有操作都是對這個Document操作的:
Document doc=builder.build(xmlpath);
(3)得到根元素:
Element books=doc.getRootElement();
在JDOM中所有的節點(DOM中的概念)都是一個org.jdom.Element類,當然他的子節點也是一個org.jdom.Element類。
(4)得到元素(節點)的集合:
List booklist=books.getChildren("book");
這表示得到“books”元素的所在名稱為“book”的元素,並把這些元素都放到一個List集合中
(5)輪循List集合
for (Iterator iter = booklist.iterator(); iter.hasNext();) {
Element book = (Element) iter.next();

還有一種輪循方法是:

用JDom輕鬆整合Java和XML

Jdom是用Java語言讀、寫、操作XML的新API函數。 Jason Hunter 和Brett McLaughlin公開發布了它的測試版本。在直覺、簡單和高效的前提下,這些API函數被最大限度的優化。在接下來的篇幅裡,Hunter 和McLaughlin介紹怎麼用Jdom去讀寫一個已經存在的XML文檔。

Jdom是一個開源的api,它以直接易懂的方式向java程序員描述XML文檔和文檔的內容。就像名字揭示的那樣,Jdom是為java優化的。為使用XML文檔提供一個低消耗的方法。 Jdom的使用者可以不必掌握太多的XML的知識就可以完成想要的操作。