欢迎访问 夜阑小雨 我的学习碎片档案,这里记录了我的学习内容和工作中经验,希望给您带去帮助。

phpMyAdmin远程连接数据库

PHP 夜阑小雨 1273℃ 0评论

  phpMyAdmin是一款不错的MySQL在线管理工具,但phpMyAdmin的cookie登录方式只能输入MySQL数据库的用户名和密码,而想更改MySQL服务器地址和端口则须修改其配置文件config.inc.php。当拥有多台数据库服务器,每台服务器又在不同端口启动了多个MySQL服务,每次都修改配置文件就显得很麻烦,因此需要能够在登录界面直接输入MySQL服务器地址和端口的功能。

功能要求:
  假设phpMyAdmin的访问网址为http://172.16.10.1/phpmyadmin/,能够通过输入MySQL服务器地址、端口、用户名、密码登录远程MySQL服务器,对远程数据库进行管理.

下载地址:http://www.phpmyadmin.net/home_page/downloads.php

DocumentRoot “/opt/bokee/apache2/htdocs”此为apache的主目录文件位置,将解压缩后的文件重命名为phpmyadmin,移动至此目录下。

1.     打开路径“/opt/bokee/apache2/phpmyadmin/”下

#cp config.sample.inc.php config.inc.php

#vi config.inc.php

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’; /* 登录时的认证方式。本机登录的设置成config,网络远程登录的需要设置成cookie */
$cfg[‘Servers’][$i][‘host’] = ‘localhost’; /* 主机名

$cfg[‘Servers’][$i][‘host’] = ‘172.16.10.1’; MySQL hostname or IP address—-这里可以设定远程MySQL服务器IP地址

$cfg[‘Servers’][$i][‘port’] = ‘3306’; // MySQL port – leave blank for default port—–默认为3306

$cfg[‘Servers’][$i][‘connect_type’] = ‘tcp’; // How to connect to MySQL server (’tcp’ or ’socket’)—–连接MySQL服务器的方式’ /* 使用tcp(Mysql在远程服务器上)或socket(Mysql在本机)方式来连接 */

$cfg[‘Servers’][$i][‘compress’] = false; /* 启用压缩以提高速度,如果访问不正常请改回false(php的版本必须高于4.3.0) */
$cfg[‘Servers’][$i][‘extension’] = ‘mysql’; /* 设定phpMyAdmin所支持的数据库类型 */

#cd /opt/bokee/apache2/htdocs/phpmyadmin/libraries/

打开phpmyadmin/libraries/ config.default.php修改

#vi config.default.php
$cfg[‘blowfish_secret’] = ‘weijunping’; 此变量设置的是cookie加密密钥,随便输几个字符就可以了,不超过46个字符。如果这个地方留空,将会出现上文提到的第2个错误:“配置文件现在需要绝密的短语密码(blowfish_secret)”。

$cfg[‘Servers’][$i][‘host’] = $_COOKIE[“mysqlhost”]; 

$cfg[‘Servers’][$i][‘port’] = $_COOKIE[“mysqlport”];

$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;

2.     打开路径“/opt/bokee/apache2/htdocs/phpmyadmin/libraries/auth/”

编辑文件cookie.auth.lib.php

#vi cookie.auth.lib.php

查找”<!– Login form –>”这行。

<!– Login form –>

<form method=”post” action=”index.php” name=”login_form”<?php echo $autocomplete; ?> target=”_top” class=”login”>

    <fieldset>

    <legend>

<?php

    echo __(‘Log in’);

    echo ‘<a href=”./Documentation.html” target=”documentation” ‘ .

        ‘title=”‘ . __(‘phpMyAdmin documentation’) . ‘”>’;

    if ($GLOBALS[‘cfg’][‘ReplaceHelpImg’]) {

        echo ‘<img class=”icon” src=”‘ . $GLOBALS[‘pmaThemeImage’] . ‘b_help.png” width=”11″ height=”11″ alt=”‘ . __(‘phpMyAdmin documentation’) . ‘” />’;

    } else {

        echo ‘(*)’;

    }

    echo ‘</a>’;

?>

</legend>

<div class=”item”>

    <label for=”input_username”>服务器地址:</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>

3.     登录到所需连接的数据库中

mysql>grant usage on *.* to ‘weijunping’@’172.16.10.1’ identified by ‘22362236’;

mysql> grant all privileges on *.* to ‘weijunping’@’172.16.10.1’ identified by ‘22362236’;

mysql>flush privileges;

转载请注明:夜阑小雨 » phpMyAdmin远程连接数据库

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址