修改phpMyAdmin使其能够管理多台远程MySQL服务器
[
|
2010/06/06 19:10]
|
2010/06/06 19:10]
出处:http://blog.s135.com/post/215/
已经修改好了的phpmyadmin 源代码包的下载地址为:http://blog.lubingit.com/Downing/mysqladmin.zip (应该和下面的下载一样)
下载地址:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=1848024
实现步骤:
1、打开“路径/phpmyadmin/libraries/config.default.php”,查找相关项并修改为以下内容:
1. $cfg['Servers'][$i]['host'] = $_COOKIE["mysqlhost"];
2. $cfg['Servers'][$i]['port'] = $_COOKIE["mysqlport"];
3. $cfg['Servers'][$i]['auth_type'] = 'cookie';
4.
5. $cfg['blowfish_secret'] = 'sina';//这里的sina是用来加密cookie的密钥
2、打开“路径/phpmyadmin/index.php”,在文件最开头增加以下PHP代码:
if($_POST["mysqlhost"] != "" && $_POST["mysqlport"] != "")
{
setcookie("mysqlhost",$_POST["mysqlhost"]);
setcookie("mysqlport",$_POST["mysqlport"]);
}
?>
3、打开“路径/phpmyadmin/libraries/auth/cookie.auth.lib.php”,查找 “”这行,在该行下方的第10行后(即“”这行后)增加以下HTML代码:

结果如图:

4、创建一个可以从任何IP地址远程连接的MySQL帐号lubing
MySQL默认的帐号为root,密码为空,只允许localhost登录,因此需要创建一个可以从任何IP地址远程连接的MySQL帐号,本例中创建的帐号为lubing,密码为000000。使用该帐号从phpMyAdmin登录后,别忘了在“权限”栏中修改密码。
(1)、Linux下的MySQL命令行客户端添加帐号示例:
A.登录使用默认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
D.通过端口和IP管理不同端口的多个MySQL
/usr/local/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1
GRANT ALL PRIVILEGES ON *.* TO 'lubing'@'%' IDENTIFIED BY '000000';
如果出现不能登陆别的机器上的mysql 可以打开“路径/phpmyadmin/libraries/config.default.php”,查找“localhost”,如果找到,替换为$_COOKIE["mysqlhost"];
总结:1 按照此方法完成后,不能登陆别的数据库服务器,需要配置一下config.inc.php 如果需要登陆如:192.168.1.109这台数据库服务器,那么需要在config.inc.php文件中增加一下内容
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '192.168.1.109';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
2 登陆时编码是GB2312,登陆退出后,编码变成了utf8, 登陆地址和登陆端口就会变成乱码,解决的方法是:删除或者重命名/lan/chinese_simplified-utf-8.inc.php 就可以解决。
3 登陆端口好像不生效,随便输入多少,还是登陆默认的3306端口,有待解决中。
已经修改好了的phpmyadmin 源代码包的下载地址为:http://blog.lubingit.com/Downing/mysqladmin.zip (应该和下面的下载一样)
下载地址:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=1848024
实现步骤:
1、打开“路径/phpmyadmin/libraries/config.default.php”,查找相关项并修改为以下内容:
1. $cfg['Servers'][$i]['host'] = $_COOKIE["mysqlhost"];
2. $cfg['Servers'][$i]['port'] = $_COOKIE["mysqlport"];
3. $cfg['Servers'][$i]['auth_type'] = 'cookie';
4.
5. $cfg['blowfish_secret'] = 'sina';//这里的sina是用来加密cookie的密钥
2、打开“路径/phpmyadmin/index.php”,在文件最开头增加以下PHP代码:
if($_POST["mysqlhost"] != "" && $_POST["mysqlport"] != "")
{
setcookie("mysqlhost",$_POST["mysqlhost"]);
setcookie("mysqlport",$_POST["mysqlport"]);
}
?>
3、打开“路径/phpmyadmin/libraries/auth/cookie.auth.lib.php”,查找 “”这行,在该行下方的第10行后(即“”这行后)增加以下HTML代码:
结果如图:
4、创建一个可以从任何IP地址远程连接的MySQL帐号lubing
MySQL默认的帐号为root,密码为空,只允许localhost登录,因此需要创建一个可以从任何IP地址远程连接的MySQL帐号,本例中创建的帐号为lubing,密码为000000。使用该帐号从phpMyAdmin登录后,别忘了在“权限”栏中修改密码。
(1)、Linux下的MySQL命令行客户端添加帐号示例:
A.登录使用默认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
D.通过端口和IP管理不同端口的多个MySQL
/usr/local/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1
GRANT ALL PRIVILEGES ON *.* TO 'lubing'@'%' IDENTIFIED BY '000000';
如果出现不能登陆别的机器上的mysql 可以打开“路径/phpmyadmin/libraries/config.default.php”,查找“localhost”,如果找到,替换为$_COOKIE["mysqlhost"];
总结:1 按照此方法完成后,不能登陆别的数据库服务器,需要配置一下config.inc.php 如果需要登陆如:192.168.1.109这台数据库服务器,那么需要在config.inc.php文件中增加一下内容
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '192.168.1.109';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
2 登陆时编码是GB2312,登陆退出后,编码变成了utf8, 登陆地址和登陆端口就会变成乱码,解决的方法是:删除或者重命名/lan/chinese_simplified-utf-8.inc.php 就可以解决。
3 登陆端口好像不生效,随便输入多少,还是登陆默认的3306端口,有待解决中。
给bo-blog添加漂亮的计数器
[
|
2010/06/01 12:03]
|
2010/06/01 12:03]
想不想在自己BLOG上也放一个独具特色的计数器?对于很多高手来说计数器是小CASE,可是对于很多BLOG的新手来说如何在自己的SPACE上放一个个性十足的计数器就不是一件容易的事了,别着急,让赖皮熊来教你如何安装一个自己喜欢的计数器。
1、 在网页浏览器的地址栏里输入http://www.amazingcounters.com/
2、 点击左上角的“Sign Up”进入下一个页面后选择你喜欢的计数器图片然后点击“Use selected style & Go to Step 2: ”后面的小三角 进入下一个页面。
在第二步Step 2. Enter web site info. 中填写个人信息包括“YOUR NAME”名字,EMAIL ADDRESS等等(电子邮件地址建议填写申请hotmail space的电子邮件,因为以后登陆这个网站的话都是用电子邮件登陆的),starting count一项中默认的数字是零,为了能让计数器真实地显示你的SPACE的浏览次数只要把SPACE “设置”选项中的“统计”里记录的浏览次数值填写到starting count就可以了。最后一定要记得在“Agreement”选项中打对号。最后点击Submit info & Go to Step 3:后面的小三角 进入下一页。
3、 第三步Step 3. Copy counter code to your site的界面中,你会看到中间有一个方框并有“Your counter code is in this box:”的字样,这就是你的计数器的HTML语言了,点击“(click to select code)”后选中HTML语言,再点击鼠标右键“复制”。
4、 进入后台,添加底部模块,粘贴复制的html代码就可以了。
1、 在网页浏览器的地址栏里输入http://www.amazingcounters.com/
2、 点击左上角的“Sign Up”进入下一个页面后选择你喜欢的计数器图片然后点击“Use selected style & Go to Step 2: ”后面的小三角 进入下一个页面。
在第二步Step 2. Enter web site info. 中填写个人信息包括“YOUR NAME”名字,EMAIL ADDRESS等等(电子邮件地址建议填写申请hotmail space的电子邮件,因为以后登陆这个网站的话都是用电子邮件登陆的),starting count一项中默认的数字是零,为了能让计数器真实地显示你的SPACE的浏览次数只要把SPACE “设置”选项中的“统计”里记录的浏览次数值填写到starting count就可以了。最后一定要记得在“Agreement”选项中打对号。最后点击Submit info & Go to Step 3:后面的小三角 进入下一页。
3、 第三步Step 3. Copy counter code to your site的界面中,你会看到中间有一个方框并有“Your counter code is in this box:”的字样,这就是你的计数器的HTML语言了,点击“(click to select code)”后选中HTML语言,再点击鼠标右键“复制”。
4、 进入后台,添加底部模块,粘贴复制的html代码就可以了。
一个群发邮件的perl 脚本程序
[
|
2010/05/24 22:51]
|
2010/05/24 22:51]
下载地址:
http://blog.lubingit.com/Downing/sendmail 下载后用记事本打开或者用vim 编辑器打开
注释:tongzhi.txt 为邮件内容 , 编写完后 用iconv -c -f utf8 -t gb2312 tongzhi2.txt> tongzhi.txt 转换下文件编码,解决乱码问题
liebiao.txt 为邮件地址列表,一行一个
sent.20100524.log 日志
http://blog.lubingit.com/Downing/sendmail 下载后用记事本打开或者用vim 编辑器打开
注释:tongzhi.txt 为邮件内容 , 编写完后 用iconv -c -f utf8 -t gb2312 tongzhi2.txt> tongzhi.txt 转换下文件编码,解决乱码问题
liebiao.txt 为邮件地址列表,一行一个
sent.20100524.log 日志
centos 5.3 配置cacti 监控服务器
[
|
2010/05/23 01:14]
|
2010/05/23 01:14]
本次试验的所有包都可以去
http://blog.lubingit.com/Downing/cactipackname目录里下载
安装cacti 的步骤就不写了,去网上搜索有教程,本次试验软件版本为:
cacti-0.8.7e.tar.gz
rrdtool-1.2.26.tar.gz
snmpd centos5.3自带的,snmpd.conf文件只需修改三个地方:1 把default修改成cacit主机地址 2 把
access notConfigGroup "" any noauth exact roview none none 中的roview修改成all 就可以了 3 去掉
view all included .1 80 前面的注释号
*/5 * * * * root /usr/local/php5/bin/php /usr/local/apache2/cacti.lubingit.com/poller.php >/dev/null 2>&1 放入到任务计划里 刷新图像,根据实际安装路径进行修改。
http://blog.lubingit.com/Downing/cactipackname目录里下载
安装cacti 的步骤就不写了,去网上搜索有教程,本次试验软件版本为:
cacti-0.8.7e.tar.gz
rrdtool-1.2.26.tar.gz
snmpd centos5.3自带的,snmpd.conf文件只需修改三个地方:1 把default修改成cacit主机地址 2 把
access notConfigGroup "" any noauth exact roview none none 中的roview修改成all 就可以了 3 去掉
view all included .1 80 前面的注释号
*/5 * * * * root /usr/local/php5/bin/php /usr/local/apache2/cacti.lubingit.com/poller.php >/dev/null 2>&1 放入到任务计划里 刷新图像,根据实际安装路径进行修改。
Linux下通过iptables配置工具限制ip访问服务器
[
|
2010/05/14 16:57]
|
2010/05/14 16:57]
Linux下通过iptables配置工具限制ip访问服务器
2010年03月05日 星期五 16:55
通常限制ip访问服务器可以使用交换机限制,除此之外,windows通过访问安全策略限制,而linux则通过iptables配置工具进行设置。
语法:
iptables [-t table] command [match] [-j target/jump]
-t 参数用来指定规则表,内建的规则表有三个,分别是:nat、mangle 和 filter,当未指定规则表时,则一律视为是 filter。
个规则表的功能如下:
nat 此规则表拥有 Prerouting 和 postrouting 两个规则链,主要功能为进行一对一、一对多、多对多等网址转译工作(SNAT
DNAT),由于转译工作的特性,需进行目的地网址转译的封包,就不需要进行来源网址转译,反之亦然,因此为了提升改写封包的
率,在防火墙运作时,每个封包只会经过这个规则表一次。如果我们把封包过滤的规则定义在这个数据表里,将会造成无法对同一
包进行多次比对,因此这个规则表除了作网址转译外,请不要做其它用途。
mangle 此规则表拥有 Prerouting、FORWARD 和 postrouting 三个规则链。
除了进行网址转译工作会改写封包外,在某些特殊应用可能也必须去改写封包(TTL、TOS)或者是设定 MARK(将封包作记号,以
进行后续的过滤),这时就必须将这些工作定义在 mangle 规则表中,由于使用率不高,我们不打算在这里讨论 mangle 的用法。
filter 这个规则表是预设规则表,拥有 INPUT、FORWARD 和 OUTPUT 三个规则链,这个规则表顾名思义是用来进行封包过滤的
理动作(例如:DROP、 LOG、 ACCEPT 或 REJECT),我们会将基本规则都建立在此规则表中。
2010年03月05日 星期五 16:55
通常限制ip访问服务器可以使用交换机限制,除此之外,windows通过访问安全策略限制,而linux则通过iptables配置工具进行设置。
语法:
iptables [-t table] command [match] [-j target/jump]
-t 参数用来指定规则表,内建的规则表有三个,分别是:nat、mangle 和 filter,当未指定规则表时,则一律视为是 filter。
个规则表的功能如下:
nat 此规则表拥有 Prerouting 和 postrouting 两个规则链,主要功能为进行一对一、一对多、多对多等网址转译工作(SNAT
DNAT),由于转译工作的特性,需进行目的地网址转译的封包,就不需要进行来源网址转译,反之亦然,因此为了提升改写封包的
率,在防火墙运作时,每个封包只会经过这个规则表一次。如果我们把封包过滤的规则定义在这个数据表里,将会造成无法对同一
包进行多次比对,因此这个规则表除了作网址转译外,请不要做其它用途。
mangle 此规则表拥有 Prerouting、FORWARD 和 postrouting 三个规则链。
除了进行网址转译工作会改写封包外,在某些特殊应用可能也必须去改写封包(TTL、TOS)或者是设定 MARK(将封包作记号,以
进行后续的过滤),这时就必须将这些工作定义在 mangle 规则表中,由于使用率不高,我们不打算在这里讨论 mangle 的用法。
filter 这个规则表是预设规则表,拥有 INPUT、FORWARD 和 OUTPUT 三个规则链,这个规则表顾名思义是用来进行封包过滤的
理动作(例如:DROP、 LOG、 ACCEPT 或 REJECT),我们会将基本规则都建立在此规则表中。
一个通用的mysql备份脚本
[
|
2010/05/14 15:35]
|
2010/05/14 15:35]
可以将这个脚本放进crontab,每天凌晨执行一次,自动备份这个脚本每天最多只执行一次,而且只保留最近五天的备份(包括数据库和日志)在服务器上。
#!/bin/bash
for DBName in mysql boya ftpdb
do
DBUser=root
DBPasswd=000
BackupPath=/root/
LogFile=/root/"$DBName"$(date +%y%m%d).log
#DBPath=/var/lib/mysql/
BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"$DBName$(date +%y%m%d).tgz
DumpFile="$BackupPath"$DBName$(date +%y%m%d)
OldFile="$BackupPath"$DBName$(date +%y%m%d --date='5 days ago').tgz
#OldFile="$Mysql_bk_dir"/$i$(date -v -5d +%Y%m%d).tgz #freebsd
OldLogFile="$BackupPath"$DBName$(date +%y%m%d --date='5 days ago').log
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $OldLogFile ]
then
rm -f $OldLogFile >> $LogFile 2>&1
echo "[$OldLogFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldLogFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName > $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
esac
fi
sleep 20
echo "-------------------------------------------" >> $LogFile
done
mail -s "mysql backup is success!" lubingnba@163.com < 此处填写邮件内容地址
如果要备份服务器上所有的数据库,那么脚本最上面定义的数据库变量可以这么定义
for i in $(mysql -p$Passwd -e "show databases\G"|grep Database |awk '{print $2}')
do
这样 就不要都一一写上去了。
#!/bin/bash
for DBName in mysql boya ftpdb
do
DBUser=root
DBPasswd=000
BackupPath=/root/
LogFile=/root/"$DBName"$(date +%y%m%d).log
#DBPath=/var/lib/mysql/
BackupMethod=mysqldump
#BackupMethod=mysqlhotcopy
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"$DBName$(date +%y%m%d).tgz
DumpFile="$BackupPath"$DBName$(date +%y%m%d)
OldFile="$BackupPath"$DBName$(date +%y%m%d --date='5 days ago').tgz
#OldFile="$Mysql_bk_dir"/$i$(date -v -5d +%Y%m%d).tgz #freebsd
OldLogFile="$BackupPath"$DBName$(date +%y%m%d --date='5 days ago').log
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $OldLogFile ]
then
rm -f $OldLogFile >> $LogFile 2>&1
echo "[$OldLogFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldLogFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile
else
case $BackupMethod in
mysqldump)
if [ -z $DBPasswd ]
then
mysqldump -u $DBUser --opt $DBName > $DumpFile
else
mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
esac
fi
sleep 20
echo "-------------------------------------------" >> $LogFile
done
mail -s "mysql backup is success!" lubingnba@163.com < 此处填写邮件内容地址
如果要备份服务器上所有的数据库,那么脚本最上面定义的数据库变量可以这么定义
for i in $(mysql -p$Passwd -e "show databases\G"|grep Database |awk '{print $2}')
do
这样 就不要都一一写上去了。
linux 网易开源镜像站
[
|
2010/05/07 17:29]
|
2010/05/07 17:29]
今天在bbs.linuxtone.rog溜达溜达,发现几个好的linux开源镜像网站,特此发出来共享一下,希望能及时更新,
链接地址:
(1)http://mirrors.163.com/
(2)http://mirrors.sohu.com/
(3)ftp://gentoo.tom.com/pub/
链接地址:
(1)http://mirrors.163.com/
(2)http://mirrors.sohu.com/
(3)ftp://gentoo.tom.com/pub/





姓名:传奇
