[網站] 好站連結 (二)
Posted on May 28, 2009 | 2 minutes | 248 words | appleboy
這是我在 gslin 大神 那邊看到的一篇文章:mydumper (取代 mysqldump 的工具),mysqldumper 有平行跟效能方面壓力測試,效果跟時間都壓縮的比 mysqldump 還要快,簡單管理 output 資料,它把 database 每個資料表分別 dump 資料出來寫到檔案,方便觀看檔案資料,不過沒有支援 dump table 的 definitions,所以加速提取 data 寫入到檔案,gslin 大神也把它包進 FreeBSD ports 裡面,在 database/mydumper 這裡。 我想會把這個機制套用到我之前寫的 shell script 裡面:[Linux&FreeBSD] 備份系統資料,MySQL 資料庫,PgSQL 資料庫的自動化 bash shell script 程式,那 mydumper 用法也相當簡單,mydumper –help 就寫的很清楚了,跟 mysqldump 用法差沒多少:
-h, --host 連接到 hostname 伺服器 -u, --user 使用者名稱 -p, --password 使用者密碼 -P, --port MySQL TCP/IP port -B, --database Database 名稱 -t, --threads Number of parallel threads -o, --outputdir 輸出的檔案要存放在哪, 預設 ./export-*/ -c, --compress gzip 壓縮每個檔案,多花一點時間 -x, --regex Regular expression for 'db.table' matching[Read More]
最近在高雄面試的時候,被問到的資料庫問題,什麼是 left join,out join,inner join,其實這些都是寫基本 SQL 語法需要知道的,當然我比較少用到 out join,不過還是要知道一下比較好喔,底下來說明一下這些,整理一些心得
今天無聊實做了 MySQL 資料庫同步化,那可以先看看 MySQL Master Slave Replication,中文網站可以上 google 查詢或者是看看這一篇:MySQL 設定 Replication (Master – Slave),基本上設定還蠻容易的,如果會 Master 同步到 Slave 的話,那 MySQL Master-Master 只是在用相同的方法在做一遍,如果不懂 MMM 的可以先參考這一篇:MySQL Master-Master Replication Manager(1) – 簡介,這篇寫的很清楚,今天看了文章,我實做起來,遇到一些問題,其實還蠻奇怪的,所以底下就來紀錄一下步驟,順便也說明一下。 實做兩台 Ubuntu 機器: db1:192.168.1.1 db2:192.168.1.2 先設定 db1: 目前我都是在 Ubuntu 7.10 底下實做的,那基本上只要有支援 MySQL 的 Linux 或者 FreeBSD 機器都可以實做這個方法: 步驟一:先修改 my.cnf 這個檔案: FreeBSD 的話在:/var/db/mysql/my.cnf Ubuntu:/etc/mysql/my.cnf 有的版本是在 /etc/my.cnf 所以不太一定,請依照自己的作業系統 修改:
# # bind-address 請 mark 起來,因為我們必須讓 MySQL Listen 各個不同的 IP Address #bind-address = 127.0.0.1 # # server id 請記得每台機器都設定不同喔 # server-id = 1 log_bin = /var/log/mysql/mysql-bin.log[Read More]
今天從嘉義跑到台南聽 酷!學園 舉辦的 2008八月份 SA@Tainan PHP 程式設計 – 初階資訊安全(8/30) ,今天一大早就起床了,差點沒趕上火車,到了台南地點在社區大學,其實蠻近的,大概騎車5分鐘就到了喔,其實不會很趕,到了現場,第一次看到梁楓大大阿,感覺很有威勢,我看現場年齡層分佈好像很廣,有很多都是長輩了,不過大部分還是學生為主,然後我想大概有很多是工作人員,其實我都不太認識,我大概只知道梁楓大大,因為在酷!學園也一段時間了,哈哈,今天講的主題,我非常的有興趣,我看投影片還蠻多的,可是都是跳著講,然後一些實做的部份,然後最後一小時是在解如何拿到 Linux 的主機 /etc/passwd 的資訊。
[Read More]轉載自: PHPChina 近來接受 BBT 的培訓,做一個投票系統。系統程式碼倒不是很難,但是我的時間主要花費在了研究字符集和編碼上面。MySQL 和 Apache 兩個系統的編碼(字符集)問題讓我費勁腦筋,吃盡苦頭。網上對這些問題的解決比較零散,比較片面,大部分是提供解決方法,卻不說為什麼。於是我將這幾天收穫總結一下,避免後來者再走彎路。這篇文章對 PHP 編寫有一點幫助(看完你就知道,怎樣讓你的 PHP 程式在大部分空間提供商的伺服器裡顯示正常),但是更多幫助在於網路伺服器的架設和設置。 先說 MySQL 的字符集問題。Windows 下可透過修改 my.ini 內的
# CLIENT SECTION [mysql] default-character-set=utf8 # SERVER SECTION [mysqld] default-character-set=utf8[Read More]
其實這個安全性的問題,在目前台灣網站都存在這樣的問題,大家平常用 $_POST,$_GET 用得很順利,但是沒有想過帳號密碼被 SQL injection 破解,當網站被破解了,基本上你損失就是相當嚴重,網路上也有很多攻擊方式,不過這方法是最常被拿出來講的,我自己有一套解決方式,除了比較重要的地方,就是輸入帳號密碼的地方要加強防護之外,加上數字驗證碼,還要 check 帳號的特性,我底下是我驗證帳號密碼機制
if($user_name == '' || $user_passwd == ''){ ErrMsg("帳號或密碼不得空白"); } if (!preg_match('/^\w+$/', $user_name)){ ErrMsg("請勿攻擊本站台"); }[Read More]
最近在幫友人處理他們web跟資料庫的轉移,然後發現他們的資料庫是很古早的資料庫 MySQL 3.23.49 版本,相當古老吧,因為那個時候我才正值大二時代,剛開始接觸電腦的時候而已,連最基本的資料庫都不知道是什麼,哈哈經過這麼久終於發展到 MySQL 5版本了,不過從 MySQL 4.x 開始支援的 Unicode 系統,所以當時也有很多人遇到轉換問題,我今天也遇到相同問題,不過是在轉換到 Linux Centos 5.1 版本底下,原本機器使用 Red Hat Linux 7.3,真是一個很舊的版本,因為 Red Hat Linux 已經到 9.0 版本了,而且目前不維護了。 之前版本轉換都沒有什麼問題,就是 4.x 轉到 5.x 版本,參可我之前寫的這篇 [Mysql] 資料庫備份[big5]utf8轉換成utf-8,如果這篇文章解決不了的話,那就可能用我底下的方法了,不過過上面那個方法不適合用在 3.23 轉到 5.x 版,因為還是會發生亂碼現象,可是這只會發生在 Linux 底下,因為我用 FreeBSD 7.0 R 版,在這環境底下是沒有問題的,所以今天很囧,都在處理 Linux 的部份,哈哈,所以大家還是去用 FreeBSD 吧
[Read More]今天老師寄信給我,說我轉移的 journal.CN 的文章,出現以前的文章,不能看到圖片,我去查了一下,發現 AMS 文章系統的編輯軟體,相當爛,它的插入圖片,竟然是用絕對網址,然後他會先讀取 mainfile.php 裡面的
define('XOOPS_URL', 'http://journal.cn.ee.ccu.edu.tw');然後把圖片的網址寫死,而不是動態的,就是利用相對路徑,所以我利用了 replace 的功能來解決全部文章圖片的問題,語法如下
update `xoops_ams_text` set `hometext` = replace(`hometext`,'140.123.107.38/~cnews','journal.cn.ee.ccu.edu.tw');上面是說,取代 hometext 這個欄位的,找到 140.123.107.38/~cnews 取代成 journal.cn.ee.ccu.edu.tw 這語法相當好用,大家可以嘗試看看,畢竟如果用 php 的 replace 語法,還要利用陣列方式,比較麻煩