MySQL Master 如果意外的當掉, 重新開機.. 等等狀況, 造成 Replication 不會動, 通常會是 binlog 壞掉造成的, 通常看到這個能做的大多是重新把 Master 的資料倒出來, 再倒回 Slave, 然後重新開始, 但是當運氣不太好, 三天兩頭就有機器又燒起來的狀況, 就會去想更好的解法......
分類: My_Note-Unix
讓遠端可 VNC 或 AOC 進 NAT 內的電腦(IPTABLES)
讓遠端外面的機器可以連進 NAT 的某台電腦, 只要 iptables 設定兩個 port 即可.
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 5800 -i ppp0 -j DNAT --to 192.168.1.1
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 5900 -i ppp0 -j DNAT --to 192.168.1.1
- ppp0: 看對外的網卡是哪個, 就換成哪個 ex: eth0, eth1
- 192.168.1.1: 要連進內部的 IP 是哪個, 由此設定.
Unix 基本指令: Cut
突然發現 cut 的好用, 來做 Linux (Unix) 基本指令介紹, 也當做筆記來用~~
cut 有三個參數:
- -c list: 一段範圍清單, 以','隔開, 直列切割(ex: 1,3,5-10,33)
- -d delim: 可以設中間間隔符號要哪種, 預設是tab分隔切割, 通常會搭配 -f(決定要取切割欄位的哪欄)
- -f list: 以欄位為主, 作剪下的動作, list 是欄位編號或一段範圍的清單(類同 -c 參數)
rsync - get 和 push 目錄同步
rsync 兩台機器間的檔案要相互同步, 只比對時間較新就是新資料.(記得兩台機器都得要有 rsync)
以下例子假設兩台機器的 src 目錄要同步(刪除檔案若要相互刪掉, 需各加 --delete)
get:
rsync -avuzb HOSTNAME:PATH/src PATH
push:
rsync -Cavuzb PATH/src HOSTNAME:PATH
每次要 sync, 就先 get 再 push 即可(類同 cvs update 再 commit, 但沒 cvs 那麼強大功能, 請小心使用.), 可以加入以下兩個 alias(請自行修改, 將 HOSTNAME、PATH、DIST_PATH 換掉)
alias rget='rsync -avuzb HOSTNAME:PATH/src DIST_PATH'
alias rpush='rsync -Cavuzb PATH/src HOSTNAME:DIST_PATH'
在 Ubuntu 上安裝 Freemind
看 FreeMind at Gea-Suan Lin's BLOG 後, 就會很心動想要裝來玩.
原本想說有 deb 檔應該是直接安裝即可, 沒想到有些麻煩存在, freemind 的 deb 檔並不會自己去把相關的 library 拉進來, 但是卻會造成其它 package 有衝突的狀況, 不過依照他的錯誤訊息狀況, 照以下順序即可完成.
以下有一部份轉載自: FreeMind 在 Ubuntu Edgy Eft 中的安?
因安裝時忘了記錄, 正好看到此文章寫的很完整, 所以下述是摘要此文的流程, 如有不清楚的, 可以直接參考上述文章. 🙂
debian php and mysql upgrade
今天心血來潮, 突然想到來把 php & mysql 一起升級, 升級到 php5 & mysql5 ~
升級流程:
- backup mysql, mysql config, php config
- mysqldump --all-databases --user=root --password='xxx' > mysql-date.sql
- tar zcvf mysql-date.tgz /var/lib/mysql # 保險還是整個壓起來, 出問題可以 rollback 用
- tar zcvf mysql_conf.tgz /etc/mysql
- tar zcvf php_conf.tgz /etc/php4
- apt-get install php5 ... (和 其它相關 package, 這個在 restart apache 時看錯誤, 再解決即可)
- apache 會出現的錯誤大概就是 php4.conf 要移掉 .. 還有在 php.ini 若有修改, 在 php5 也記得要改.
- apt-get install mysql-server (自動會抓 mysql-server 5.0)
沒想到這麼簡單就升級完成, 不用做任何匯入匯出的動作~ :p
目前看起來狀況好像還不錯, 先試用看看囉 🙂
Email 認證用 Domain Key(Gmail)
有很多系統在製作時, 都會寄些通知信, 或者其它提醒之類的信, 但是發現寄到 gmail 都被退信.
仔細看一下被退的信才知道, 現在一定得要有設 domain key 才能寄的進去(被退的信裡面有教怎麼設定此 domain key)...
詳細可見: Google Mail Help Page: Bulk Email Senders
其它參考:
Firefox 效能最佳化(效能調校)
相信大家使用 Firefox 時總會遇到一個問題, 就是網頁多開一點, 記憶體就會用光了, 特別是 Javascript 用較多的網頁, 都會有此狀況.
但是實際上是不需要用那麼多記憶體的, 大多都是頁面整個畫完後, 就可以釋放掉的記憶體, 但卻都留在上面, 不知道該怎麼清除.
PHP mysql_connect() 出現 function not define 問題解決
Redhat MySQL 預設會將 mysql.sock 放在 /var/lib/mysql/mysql.sock, 但是另外自己 make 的 php, 預設會去拉 /tmp/mysql.sock, 所以會連不到 MySQL, 或者 mysql_connect() 會出現 function not define 等問題(php.ini 有 extension=mysql.so, 並也 restart apache, 卻還出現此錯誤).
只要去修改 my.cnf, 將 /var/lib/mysql/mysql.sock 的路徑, 改到 /tmp/mysql.sock 即可. 如同以下步驟:
- vi /etc/my.cnf
- #socket=/var/lib/mysql/mysql.sock # 註解掉
- socket=/tmp/mysql.sock # 設到 /tmp/mysql.sock
此完成後即可正常使用.
將路徑下的所有目錄列出來
將此路徑(目錄)的所有目錄列出來(不列檔案), 有以下幾種做法:
- ls */ -d
目錄下的所有目錄、階層都列出來(不列檔案).
- tree -d
- find /path -type d
- find [dir] -type d -print