花了差不多 3 小時,終於完成了伺服器上連結 MYSQL 的動作…除了安裝 MYSQL 連接,還要改動 MYSQL 4 和 5 升級之間的版本差異問題..本來正想放棄,重開伺服器後,再測試多一次,完成了,奇積再次發生了…天丫…感謝你..
好吧,來記錄一下我的過程..方便日後參考..
- 先登入 SSH , 之後切換到 root 帳號,再到 cd /
- 輸入 gem install mysql – –with-mysql-conf=/usr/local/mysql50/bin/mysql_config 這是我的安裝路徑 (當然你要先裝好 Ruby)
- 之後最重要的一部是, 如果你的 MYSQL 是由 4 升級到 5 的話要修改一樣東西,方法有幾個
方法 1 :
- 打開 phpmyadmin , 用最高級帳號登入,之後 mysql.user 這個表,將所有用戶都編輯,輸入原密碼,之後選擇那個 OLD_PASSWORD 之後存檔
方法 2:
- 進入 SSH ,再進入 mysql > 這個指令介面
- 之後輸入 UPDATE mysql.user SET Password = OLD_PASSWORD(‘原密碼’) WHERE Host = ‘localhost’ AND User = ‘帳號’;
- 大大力的拍下你的 Enter .. 之後一個一個慢慢的來..
- 重新啟動你的 MYSQL 伺服器,那這樣應該就可以正常連結 MYSQL
補充一下另一個參考用的指令
gem install mysql – –with-mysql-dir=/usr/local/mysql50 –with-mysql-include=/usr/include/mysql –with-mysql-lib=/usr/lib/mysql
提供一個測試的程式代碼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
require 'rubygems' require 'mysql'
puts "Content-type: text/html; charset=utf-8\r\n\r\n" puts "This is a output test<hr />"
begin
dbh = Mysql.connect('localhost', '帳號', '密碼', '資料庫名稱', 3306, "/tmp/mysql.sock") dbh.query("SET NAMES 'UTF8'");
query = dbh.query("SELECT * FROM skts_username") while row = query.fetch_hash do printf "%s, %s<br />\n", row["username"], row["password"] end
rescue Mysql::Error => e
puts "Error code: #{e.errno}" puts "Error message: #{e.error}" puts "Error SQLSTATE: #{e.sqlstate}" if e.respond_to?("sqlstate")
ensure dbh.close if dbh end
|
這個是資料庫用的 :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| CREATE TABLE `skts_username` ( `uid` mediumint(8) unsigned NOT NULL auto_increment, `username` char(15) collate utf8_unicode_ci NOT NULL, `password` char(32) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=3 ;
INSERT INTO `skts_username` (`uid`, `username`, `password`) VALUES (1, '簡單', '098f6bcd4621d373cade4e832627b4f6'), (2, '無他', '81dc9bdb52d04dc20036dbd8313ed055');
|