Archive for the ‘MySQL’ Category前陣子發現 mysql 資料庫內有數個檔案異常肥大! 檔名是 xxx-bin.000001~4 這是 mysql 的 二元 log 檔. 要刪除它可別直接 rm. 而是得透過 mysql 的刪除機制刪除比較妥當. 搜尋了一下 Google. 得到刪除的方法! 1. mysql> show master logs;-> 顯現目前的 log 檔有哪些。 2. PURGE { MASTER|BINARY } LOGS TO ‘log_name’ -> 要把現在記錄的 log 丟到那個檔案名稱。 3. PURGE { MASTER|BINARY } LOGS BEFORE ‘date’ -> 要從那個日期之前。 Pear 提供了很多 PHP 的函式庫,今天剛好有個系統是使用 Pear 連接 mysql 資料庫。 結果中文卻亂碼? 解法就是 .. 搜尋一下 pear 目錄的路徑 $whereis pear 正常的話,位置應該會是在 /usr/share/pear 之後,進入 DB 目錄。 編輯 mysql.php 在第 243 行新增 @mysql_query(’set names utf8′); 哈! 中文立即顯現! 頌. 之前都是在 Linux 平台上搭配 php 使用 mysql . 這次 chris 問我,要在 windows 上使用 myODBC 連結 mysql ,中文都會亂碼 . 這也折騰了好一陣子,終於破解 . 伺服端的設定都可以比照前面的文章,重點在於 MyODBC 的設定.
在 Initial statement 的地方輸入: set names big5 這樣就行了! 話說在舊站的資料上,有紀錄過這麼一篇 .. 然而今天在安裝 MySQL 5.0.x 的時候,卻發現怎麼沒辦法完全 UTF8.. 有找到相關的設定方式,但比起自己印象中的設定方式,好像又不太一樣 .. 結果 .. 答案卻是遠在天邊,近在眼前 .. 就在自己管理的一部機器上可以找到相關的設定. 設定方式: 1. 開啟 /etc/my.cnf 找到這兩段,並加入以下的字串. a. [client] b. [mysqld] 編輯完後存檔,把 mysql 重啟. 之後進入 mysql 的查詢 mysql> show variables; 就可以看到上半段的資料是這樣 (mysql 4.1.x) | character_set_client | utf8 | 當然,照剛剛那樣設定是一定會呈現如上所述的結果 .. 如果有還參有 latin1 ,那應該是你的系統可能參有舊版的 mysql . 把新版 mysql 目錄內的 mysql ,如新版的程式放在 /usr/local/mysql/bin/mysql 把它 copy 至 /usr/bin 覆蓋掉舊版的 .. 這樣就行了。 另外這是 5.0.x 的結果 | character_set_client | utf8 | 差異是 5.0.x 多了個 character_set_filesystem ,而且值是 binary .. 這就可以不理會它了。
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
Alternatively, use UPDATE and FLUSH PRIVILEGES: mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
mysql 4.1.10 與 coldfusion mx 7 中文資料讀寫的方法: Part I : mysql Part II: Coldfusion MX 7 2. 重新啟動 Coldfusionmx7 -> service coldfusionmx7 restart Part III: mysql JDBC Part IV: 網頁編輯 以 Dream Weaver 2004 MX 為例 這樣就大功告成了 Perl 的 MySQL UTF8 破解法 .. my $dbh = DBI->connect("dbi:mysql:test", "xxx", "xxx");
# there are posts on dbi-user as to whether both or either of
# the following should be set
$dbh->do("set character set utf8");
檔案位於 /usr/local/sbin/amavisd
第 13516 行,位於 sub connect_to_sql {} 內。
有此需求的原因在於 ... 我的伺服器使用了 amavisd-new 這個郵件掃瞄套件 ..
它有個功能是可以將郵件的進出紀錄在 mysql 中. 而郵件主旨不乏會有中文 .. 而且我專為 amavisd-new 所建立的資料庫格式是 utf8 .. 自然而然亂碼的問題就會浮現 .. 在前面的文章有破解過 SMF 中的 php 與 mysql 的 UTF8 ... 而此問題就是 Perl 與 MySQL 的 UTF8. Google 真是太好用了 .. 輸入關鍵字 .. Perl mysql utf8 .. 快速 review 幾篇內容 ..專找 perl 在資料庫連線部分的內容 .. 要找的答案就在其中 .. 相信 MySQL 的編碼對很多人來說 … 一直是個相當令人頭痛的問題 … 今天所要做的介紹是如何把資料庫的資料, 由 latin1 轉成 utf8.. 一般 .. MySQL 裝起來後(用 rpm 安裝) ,系統的預設編碼是 latin1. 而很多人在安裝一些網頁的系統時,如 wordpress、LifeType、phpBB … 等等,都會選擇 utf8 。 這時 … 系統一樣可以正常運作 … 只是當用 phpmyadmin 進入管理資料庫時,就會發現 .. 怎麼中文字的部分都變成了歪七扭八 .. 或者一些鬼畫符的文字。如:凡事先從工作講起 此現象就是 utf8 的文字以 latin1形式儲存,phpmyadmin 以 utf8 的資料讀取方式讀取 … 讀出來的資料就是這種鬼畫符…><。 若要解決 phpmyadmin 讀出的鬼畫符 … 有兩個方法: 1. 進入 phpmyadmin 內一個名為 libraries 的子目錄 .. 編輯 select_lang.lib.php. 找到 $mysql_charset_map 這一段下方 .. ‘utf-8′ => ‘utf8′, ‘utf-8′ => ‘latin1′, 然後存檔 … 這時候就可以發現原先的鬼畫符 … 這時候又都正常了. 2. 把資料庫的編碼轉成 utf8 … 步驟: a. 把資料庫 dump 出來 mysqldump -u xxx -p database > database.sql –default-character-set=latin1 這時候 dump 出來的 database.sql 是 latin1 的檔案格式,然而是 utf8 的文字資料,因此這時若用 vi 開檔看它 … 還是會發現中文字是鬼畫符 … 這時不要被眼前的假象所騙 … 以為自己做錯 .. 幾接著做下一步驟。 b. 把 dump 出來的 database.sql 下載回去 .. 用 emEditor(網路上可免費下載,是個支援 utf-8 的編輯器)把 database.sql 打開, 它可以正常識別 utf8 的文字 ..用取代的功能,把 latin1 都取代成 utf8 ,之後直接另存新檔 .. 這時把檔案類型設定儲存成 UTF-8。 c. 再把 database-utf8.sql 上傳到 server .. 這時我們用 vi 開啟它 .. 就可以看見是正常的中文字 .. 這就表示檔案沒問題囉。 d. 把檔案匯入資料庫 mysql database < database-utf8.sql -u xxx -p --default-character-set=utf8 你已經完成了資料庫轉換的工作了。如果有錯誤訊息出現 .. 主要有兩個情形 .. 1. 文件檔內的中文字,用 vi 看是亂碼 ..文件檔的格式不是 utf-8。 2. 匯入的時候漏掉指定採用 utf8 的資料編碼匯入。 以上的作業是在 資料庫系統都是處於 latin1 的環境底下,也就是沒有在 my.cnf 指定 default-character-set=utf8。 |