找到mysql的設定檔my.cnf或my.ini,設定如下。 閱讀全文〈設定phpMyAdmin新增資料庫時的預設編碼為utf8〉
分類: 伺服器
學習伺服器操作的一些心得
OpenSSH Server on Windows 10使用金鑰認證
MySQL 5.7的data資料夾檔案無法直接覆蓋使用
在以前的版本,記得data裡的資料夾,也就是資料庫的實體檔案是可以直接覆蓋使用的。
就算可能因此少了某些資料表,尤其是InnoDb格式的資料表可能因此無法正常顯示,
但伺服器運作的至少還算正常。 閱讀全文〈MySQL 5.7的data資料夾檔案無法直接覆蓋使用〉
在Windows安裝Git server及ssh server
安裝SSH Server
首先是安裝ssh server,直接參考[[Windows] 安裝 SSH Server @ Windows XP]。
SSH帳號是利用windows的帳戶功能來管理,之後再利用mkgroup及mkpasswd將系統的群組及帳號匯出到SSH server可讀取的檔案,例如etc\group 及etc\passwd。
之後視情況可以調整etc\passwd裡的內容,例如使用者群組id,或者是ssh帳號登入後的起始目錄。
我不確定登入ssh後的環境變數是否可以設定在某個檔案上,但應該可用windows設定環境變數的方式來設定,如下圖。
例如PATH這個環境變數就很重要的,如果設定不對,可能會導致一些程式就無法正常執行。
閱讀全文〈在Windows安裝Git server及ssh server〉
cookie的層級
主機端發送的cookie。
客戶端產生的cookie。
如果是使用瀏覽器存取網頁,一般都是由瀏覽器管理cookie的存取。
如果是透過curl的方式存取網頁,主機端發送的cookie會由libcurl來控制存取,一般是放在網頁伺服器的根目錄下,而客戶端產生的cookie一樣會由瀏覽器來控制存取。
舊版mysql的匯出匯入
剛開始接觸mysql5時,經常會遇到從mysql4的匯出及匯入的狀況,常常在使用phpmyadmin匯入時會呈現亂碼的現象。
因為mysql5開始有連線編碼,這是在資料表編碼外額外的編碼,在mysql4並沒有這個功能。 閱讀全文〈舊版mysql的匯出匯入〉
查詢條件為null時跑不出東西
select * from SOME_TABLE where colA <> ‘3’
上述條件會篩選出colA欄位不等於3的所有記錄。再比對下列語法:
select * from SOME_TABLE where colA <> null
此語法跑不出任何記錄,即使的確存在其他colA欄位非null的記錄。 閱讀全文〈查詢條件為null時跑不出東西〉
有實際檔案時不rewrite
原本以為若網址為真實檔案的request,rewrite設定就不會啟用,但實際上不是這樣,而是會完完全全按照rewriteRule的規則來運作。
若要達成實際檔案存在時不執行rewrite設定,實際上就是要設定一組rewrite規則來運作。例如: 閱讀全文〈有實際檔案時不rewrite〉
win32版的mysql 5.0之後預設是有innodb
win32版的mysql server 5.0之後預設應該是有innodb引擎的,
如果my.ini裡沒有特別設定的話, 閱讀全文〈win32版的mysql 5.0之後預設是有innodb〉
RewriteEngine on造成的權限問題
原本.htaccess裡的RewriteEngine On跑得好好的,後來因為資料要移轉到其他伺服器,結果就碰上了forbidden error,告訴我沒有權限瀏覽該頁面。
一開始真的以為是一般檔案權限的設定,折騰了半天才發現伺服器是win32,那就不是這方面的權限。
後來發現只要拿掉.htaccess,這個問題就不存在了。但問題是我需要.htaccess裡的rewrite設定,沒有.htaccess是不行的,因為我沒有其他權限去設定伺服器。 閱讀全文〈RewriteEngine on造成的權限問題〉