[轉貼自]http://www.twvbb.com/vbb/thread/30/40/
phpmyadmin登入權限設定
在執行下列動作前∼請先確定您建立了 MySQL 管理使用者,請參考[教學]phpMyAdmin 建立 MySQL 管理者
為了避免您的 phpMyAdmin 門戶大開,請務必要修改您的 phpMyAdmin 登入 config 檔,防止外人進入您的 mysql 造成資料庫被刪除的危機。
首先,打開 phpMyAdmin/config.inc.php
找到
PHP 代碼:
$cfg['PmaAbsoluteUri'] =
請在等號的後方填入您的 phpMyAdmin 路徑,例如:
PHP 代碼:
$cfg['PmaAbsoluteUri'] = 'http://www.xxx.com/phpMyAdmin/';
接下來,修改成為限定登入的方式,找到
PHP 代碼:
$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname
這個是您的 MySql 的伺服器名稱,如果您是使用網路空間,請洽詢您的網路空間提供商,所提供的 MySql 的伺服器名稱,假如您是架設在 Windows 系統(非 Server 系列)之上,通常為 localhost。
然後,找到下面兩段語法:
PHP 代碼:
$cfg['Servers'][$i]['controluser'] = 'xxxxxx'; // MySQL control user settings
// (this user must have read-only
$cfg['Servers'][$i]['controlpass'] = 'xxxxxx'; // access to the "mysql/user"
// and "mysql/db" tables)
controluser紅色xxxxxx輸入您的 MySql 管理帳號
controlpass紅色xxxxxx輸入您的 MySql 管理密碼
最後要以瀏覽器開啟登入畫面的設定,找到:
PHP 代碼:
$cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
把預設的 config 修改成紅色字體的 http,還有紅色字體的 root 移除,接著儲存檔案關閉就可以了。
PHP 代碼:
$cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = ''; // MySQL user
送上一點個人的小經驗....
Mysql如果你昇到4.1而你的PHP還是4.x的話,只要你的user有秘碼肯定使用phpmyadmin會進不去。(其它的程式我沒適過如xoop, VBB...)我想應該也是進不去。
下面是我找到的方法。肯定可以用。使用方法先到你mysql 的按裝目錄下打 "myaql"記得不要打""
其一:
mysql> SET PASSWORD FOR
-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
實例︰mysql數據庫用戶名為'abc',密碼為'123456',則按上面例子在伺服器mysql命令行窗口中實際實施的語句如下︰
mysql> SET PASSWORD FOR
-> 'abc'@'localhost' = OLD_PASSWORD('123456');
注意語句后的英文半角分號";"不可缺少。
其二:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
實例︰mysql數據庫用戶名為'abc',密碼為'123456',則按上面例子在伺服器mysql命令行窗口中實際實施的語句如下︰
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('123456')
-> WHERE Host = 'localhost' AND User = 'abc';
mysql> FLUSH PRIVILEGES;
注意語句后的英文半角分號";"不可缺少。
其三︰(推薦,其實和第二種是一樣的)
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('連接用戶的密碼')
-> WHERE User = '要連接的用戶名';
mysql> FLUSH PRIVILEGES;
實例︰mysql數據庫用戶名為’abc’,密碼為'123456',則按上面例子在伺服器mysql命令行窗口中實際實施的語句如下︰
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('123456')
-> WHERE User = 'abc';
mysql> FLUSH PRIVILEGES;
注意語句后的英文半角分號";"不可缺少。
4.0.X版用加密密碼後為16字元
4.1.X版用強度更強加密後為45字元
所以使用OLD_PASSWORD(16字元)作兼容