日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

修改phpMyAdmin使其能夠管理多臺遠(yuǎn)程MySQL服務(wù)器[原創(chuàng)] - 回憶未來[張宴]...

 lushaer 2007-06-15
[不指定 2007-4-6 18:22 | by 張宴 ]
[文章作者:張宴 本文版本:v1.0 最后修改:2007.04.06 轉(zhuǎn)載請注明出處:http://blog.]

需求背景:
  phpMyAdmin是一款不錯的MySQL在線管理工具,但phpMyAdmin的cookie登錄方式只能輸入MySQL數(shù)據(jù)庫的用戶名和密碼,而想更改MySQL服務(wù)器地址和端口則須修改其配置文件config.default.php。當(dāng)擁有多臺數(shù)據(jù)庫服務(wù)器,每臺服務(wù)器又在不同端口啟動了多個MySQL服務(wù),每次都修改配置文件就顯得很麻煩,因此需要能夠在登錄界面直接輸入MySQL服務(wù)器地址和端口的功能。

功能要求:
  假設(shè)phpMyAdmin的訪問網(wǎng)址為http://192.168.1.25/phpmyadmin/,能夠通過輸入MySQL服務(wù)器地址、端口、用戶名、密碼登錄遠(yuǎn)程MySQL服務(wù)器,對遠(yuǎn)程數(shù)據(jù)庫進(jìn)行管理。

修改后的phpMyAdmin登錄入口截圖:
點擊在新窗口中瀏覽此圖片

實現(xiàn)步驟:

1、打開“路徑/phpmyadmin/libraries/config.default.php”,查找相關(guān)項并修改為以下內(nèi)容:

$cfg[‘PmaAbsoluteUri‘] = ‘http://192.168.1.25/phpmyadmin/‘;

$cfg[‘Servers‘][$i][‘host‘] = $_COOKIE["mysqlhost"];
$cfg[‘Servers‘][$i][‘port‘] = $_COOKIE["mysqlport"];
$cfg[‘Servers‘][$i][‘a(chǎn)uth_type‘] = ‘cookie‘;


2、打開“路徑/phpmyadmin/index.php”,在文件最開頭增加以下PHP代碼:

<?php
if($_POST["mysqlhost"]<>"" and $_POST["mysqlport"]<>"")
{
   setcookie("mysqlhost");
   setcookie("mysqlport");
   setcookie("mysqlhost",$_POST["mysqlhost"],0,"/");
   setcookie("mysqlport",$_POST["mysqlport"],0,"/");
}
?>


3、打開“路徑/phpmyadmin/libraries/auth/cookie.auth.lib.php”,查找“<!-- Login form -->”這行,在該行下方的第10行后(即“<?php } ?>”這行后)增加以下HTML代碼:

<div class="item">
   <label for="input_username">服務(wù)器地址:</label>
   <input type="text" name="mysqlhost" id="mysqlhost" value="<?=$_COOKIE["mysqlhost"];?>" size="24" class="textfield" />
</div>
<div class="item">
   <label for="input_username">MySQL端口:</label>
   <input type="text" name="mysqlport" id="mysqlport" value="<?=$_COOKIE["mysqlport"];?>" size="24" class="textfield" />
</div>

圖示:
點擊在新窗口中瀏覽此圖片


4、創(chuàng)建一個可以從任何IP地址遠(yuǎn)程連接的MySQL賬號sina

  MySQL默認(rèn)的賬號為root,密碼為空,只允許localhost登錄,因此需要創(chuàng)建一個可以從任何IP地址遠(yuǎn)程連接的MySQL賬號,本例中創(chuàng)建的賬號為sina,密碼為zhangyan。使用該賬號從phpMyAdmin登錄后,別忘了在“權(quán)限”欄中修改密碼。

(1)、Linux下的MySQL命令行客戶端添加賬號示例:
A.登錄使用默認(rèn)3306端口的MySQL
引用
/usr/local/mysql/bin/mysql -u root -p


B.通過TCP連接管理不同端口的多個MySQL(注意:MySQL4.1以上版本才有此項功能)
引用
/usr/local/mysql/bin/mysql -u root -p --protocol=tcp --host=localhost --port=3307


C.通過socket套接字管理不同端口的多個MySQL
引用
/usr/local/mysql/bin/mysql -u root -p --socket=/tmp/mysql3307.sock


Enter password: (輸入密碼,如果密碼為空,直接回車)
mysql> (在這兒輸入以下的語句)
引用
GRANT ALL PRIVILEGES ON *.* TO ‘sina‘@‘%‘ IDENTIFIED BY ‘zhangyan‘;

如果提示信息為Query OK, 0 rows affected (0.01 sec),表示執(zhí)行成功。

(2)、Windows下的MySQL命令行客戶端添加賬號示例:
A.管理使用默認(rèn)3306端口的MySQL
引用
d:\apmserv\mysql\bin\mysql.exe -u root -p


B.管理不同端口的多個MySQL
引用
d:\apmserv\mysql\bin\mysql.exe -u root -p --port=3307


Enter password: (輸入密碼,如果密碼為空,直接回車)
mysql> (在這兒輸入以下的語句)
引用
GRANT ALL PRIVILEGES ON *.* TO sina@"%";

如果提示信息為Query OK, 0 rows affected (0.01 sec),表示執(zhí)行成功。
Tags: , ,
純粹技術(shù) | 評論(1) | 引用(0) | 閱讀(460)
700router
2007-4-13 18:36
你好,你的配置是否可以連接不用Ip的mysql數(shù)據(jù)庫呢?比如
192.168.0.1安裝phpmyadmin
用它來管理192.168.0.10、192.168.0.11,兩天機(jī)器的mysql數(shù)據(jù)庫。
我按照你的配置來配,每次登陸不管服務(wù)器地址和端口輸入什么,都只能登陸本機(jī)mysql(192.168.0.1也有mysql)
注明:10,11的mysql在192.168.0.1上可以用myslq -uroot -p××× 方式登陸(遠(yuǎn)程登陸已經(jīng)授權(quán))
張宴 回復(fù)于 2007-4-13 22:26
您好。此配置就是為了方便連接不同IP的MySQL數(shù)據(jù)庫的。
出現(xiàn)只能登錄本機(jī)的情況可能是你的phpmyadmin配置文件中的MySQL地址還是默認(rèn)的localhost,你可以打開“路徑/phpmyadmin/libraries/config.default.php”,查找“localhost”,如果找到,替換為$_COOKIE["mysqlhost"];
(可參見步驟1)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多