作者marinne (乳瑪琳)
看板Web_Design
標題Re: [問題] mysql 的client programs是指?
時間Mon Feb 28 00:41:42 2005
※ 引述《Isiah (栗子)》之銘言:
: ※ 引述《marinne (乳瑪琳)》之銘言:
: 謝謝你的回答
: : mysql 4.1開始使用不同的密碼編碼方式,除非你使用mysql 4.1.x原始碼
: : 來編譯PHP的mysql模組,否則你的PHP程式在連結mysql 4.1.x伺服器的時候
: : 就會出現你說的訊息。另一個方式是改用新的mysqli模組來與mysql 4.1.x
: : 伺服器溝通。
: 我想先使用這兩種方式 但是我不知道要如何用新的mysql模組來和
: mysql 4.1.x的伺服器溝通 也不知道要如何使用mysql 4.1.x原始碼來編譯php
: 想請問一下要如何進行呢?
: 我之前只有去mysql的網站 下載mysql4.1.10 (recommened的 解壓縮後就直接
: 安裝完畢的那個)
: 接著就在C:\mysql\bin下執行 mysqld-max --install 和mysqld-max --standalone
: 不知道這過程中是否有什麼遺露了呢??
: 謝謝
這裡提到的新的mysqli模組(多了個i)指的是為了使用MySQL 4.1.x新功能
而設計的"Improved MySQL Extension",和原本的MySQL Extension是分開的
兩套函數。不過mysqli模組是從PHP 5才加入的,PHP 4.x無法使用。至於自行
重新編譯PHP 4.x的MySQL模組,既然你使用的是Windows平台,還是放棄
這條路吧:D
我是建議你用OLD_PASSWORD()的方式來處理你遇到的問題,除非你沒有舊程式
的包袱,因而可以直接安裝PHP 5並且使用mysqli模組來連結MySQL 4.1.x。
(如果你有使用phpMyAdmin,記得要安裝新版本才有支援使用mysqli模組)。
: : 如果以上兩種方式不可行,可以用OLD_PASSWORD()函數來將帳號的密碼
: : 改為舊版本的型態。首先以root帳號登入mysql後,執行以下指令:
: : UPDATE mysql.user SET password = OLD_PASSWORD('new_password')
: : WHERE host = 'hostname' AND user = 'username';
: : FLUSH PRIVILEGES;
: : 這樣可以將'username'這個帳號(對應的主機名稱為'hostname')的密碼
: : 修改成'new_password',並且是使用舊的密碼雜湊方式(可以讓舊的
: : mysql用戶端連結)。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.32.37