欧美极品在线观看不卡|国产精品Va免费视频|国产国产人无码在线免费|亚洲精品无码九九九九九|亚洲国产综合精品久久久久|成人国产在线观看高清不卡|制服诱惑一区二区三区六区|国产一区二区精品高清在线观看

新聞中心

如何批量修改mysql的表前綴名稱

作者 / 無(wú)憂主機(jī) 時(shí)間 2012-08-30 04:58:22

mysql數(shù)據(jù)庫(kù)表前綴,這個(gè)是我們區(qū)分其它表的一個(gè)方式,當(dāng)我們同一個(gè)數(shù)據(jù)庫(kù)中含有多個(gè)系統(tǒng)的的時(shí)候,表前綴就卻分的唯一標(biāo)識(shí)。我們使用php開(kāi)源程序安裝建站的時(shí)候,一般數(shù)據(jù)庫(kù)表前綴都是默認(rèn)設(shè)置好的,如:wordpress的默認(rèn)數(shù)據(jù)庫(kù)表前綴是wp_,echosp的默認(rèn)數(shù)據(jù)庫(kù)表前綴是ecs_,discuz的默認(rèn)數(shù)據(jù)庫(kù)表前綴是pre_,織夢(mèng)內(nèi)容管理系統(tǒng)(dede)的默認(rèn)數(shù)據(jù)庫(kù)表前綴是dede_。在其官方安裝教程中或開(kāi)源系統(tǒng)安全安裝方法中,都建議在安裝的時(shí)候,建議修改這個(gè)天下人皆知的默認(rèn)表前綴。如果您不留神,已經(jīng)使用了默認(rèn)的表前綴怎么辦?有辦法改嗎?無(wú)憂主機(jī)(m.gle-technology.com)小編,今天就用ecshop網(wǎng)店開(kāi)源系統(tǒng)演示,如何修改ecshop的mysql數(shù)據(jù)庫(kù)表前綴名。 涉及數(shù)據(jù)庫(kù)的修改都是要非常危險(xiǎn)的,所以備份不可少。建議使用兩種以上的方法在php虛擬主機(jī)中備份你的網(wǎng)站數(shù)據(jù)庫(kù)。無(wú)憂主機(jī)空間的控制面板也提供備份功能,你可以參考“網(wǎng)站整站一鍵備份與恢復(fù)”。教程中將涉及兩種方法修改,一種是批量修改(使用php腳步完成)一種是精確修改(使用sql查詢語(yǔ)句完成)。 方法一:使用sql語(yǔ)句修改mysql數(shù)據(jù)庫(kù)表前綴名 首先我們想到的就是用sql查詢語(yǔ)句來(lái)修改,這個(gè)方法也很方便,只需進(jìn)入無(wú)憂主機(jī)控制面板——phpmyadmin登入后,在運(yùn)行 SQL 查詢框中輸入如下語(yǔ)名就可以了。 ALTER TABLE 原表名 RENAME TO 新表名; 如: ALTER TABLE old_post RENAME TO new_post; Sql查詢語(yǔ)句有一個(gè)缺點(diǎn),那就是一句SQL語(yǔ)句只能修改一張數(shù)據(jù)庫(kù)的表名,如果你要精確修改某一張表,很好用。如果數(shù)據(jù)庫(kù)表很多的話,不推薦使用。有木有,批量修改多個(gè)數(shù)據(jù)庫(kù)表前綴名稱的方法類?有的,請(qǐng)看下面的介紹 方法二:php腳本批量修改mysql數(shù)據(jù)庫(kù)表前綴 下面無(wú)憂主機(jī)(m.gle-technology.com)小編收集的一個(gè)快速批量的修改數(shù)據(jù)表前綴的方法,小編已經(jīng)測(cè)試,成功修改。如果你需要,請(qǐng)參考借鑒如下: 1、將下面的代碼復(fù)制到記事本,根據(jù)自己人情況修改好數(shù)據(jù)庫(kù)信息,并保存了51php.php。再上傳您網(wǎng)站的根目錄。您可以直接下載mysql數(shù)據(jù)庫(kù)前綴名批量修改腳本:修改mysql數(shù)據(jù)庫(kù)表前綴名

<?php
//設(shè)置好相關(guān)信息
$dbserver='localhost';//連接的服務(wù)器一般為localhost
$dbname='y8n9nghmze_shop';//數(shù)據(jù)庫(kù)名
$dbuser='y8n9nghmze_user';//數(shù)據(jù)庫(kù)用戶名
$dbpassword='admin';//數(shù)據(jù)庫(kù)密碼
$old_prefix='ecs_';//數(shù)據(jù)庫(kù)的前綴
$new_prefix='51php_';//數(shù)據(jù)庫(kù)的前綴修改為
if (
 !is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) )
{
return false;
}
if (!mysql_connect($dbserver,
 $dbuser, $dbpassword)) {
print 'Could not connect to mysql';
exit;
}

//取得數(shù)據(jù)庫(kù)內(nèi)所有的表名

$result =
 mysql_list_tables($dbname);

if (!$result) {

print "DB Error, could not
 list tables\n";

print 'MySQL Error: ' .
 mysql_error();

exit;

}

//把表名存進(jìn)$data

while ($row =
 mysql_fetch_row($result)) {

$data[] = $row[0];

}
//過(guò)濾要修改前綴的表名
foreach($data as $k => $v)
{
$preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i",
 $v, $v1);
if($preg)
{
$tab_name[$k] =
 $v1[2];
//$tab_name[$k]
 = str_replace($old_prefix, '', $v);
}
}
if($preg)
{
//        echo '<pre>';
//        print_r($tab_name);
//        exit();
//批量重命名
foreach($tab_name as $k =>
 $v)
{
$sql = 'RENAME TABLE
 `'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`';
mysql_query($sql);
}
print  數(shù)據(jù)表前綴:.$old_prefix."<br>".已經(jīng)修改為:.$new_prefix."<br>";
}
else
{ print 您的數(shù)據(jù)庫(kù)表的前綴.$old_prefix.輸入錯(cuò)誤。請(qǐng)檢查相關(guān)的數(shù)據(jù)庫(kù)表的前綴;
if ( mysql_free_result($result) ) {
return true;
}
}
?>
2、 在瀏覽器輸入訪問(wèn)您的網(wǎng)址/51php.php.數(shù)據(jù)庫(kù)表的前綴就可以修改成功了。 2013年5月28日更新: 無(wú)憂主機(jī)小編(m.gle-technology.com)今天更新一個(gè)mysql數(shù)據(jù)庫(kù)表前綴的另一個(gè)方法,這個(gè)方法使用也非常簡(jiǎn)單,就是用第三方工具——帝國(guó)備份王進(jìn)行修改。操作方法如下: 1、登錄帝國(guó)備份后臺(tái),選擇“備份數(shù)據(jù)”—— “批量替換表名”,然后執(zhí)行操作就可以完成批量替換了,也非常簡(jiǎn)單。如下圖:   以上方法都可修改網(wǎng)站前綴,不過(guò)大多數(shù)的開(kāi)源程序修改表綴后,再需要修改網(wǎng)站程序的數(shù)據(jù)庫(kù)配置文件,才會(huì)讓網(wǎng)站網(wǎng)站的運(yùn)行。如何修改網(wǎng)站的數(shù)據(jù)庫(kù)可以參考各個(gè)開(kāi)源程序幫助文檔,如果您有什么不懂的地方,歡迎加咨詢與我交流(qq:340555005)。   純Linux環(huán)境下高端免備案【香港獨(dú)立IP地址】php空間,僅僅只需199元一年起。商務(wù)中國(guó)域名核心代理直銷50元注冊(cè)國(guó)際頂級(jí)域名

本文地址:http://m.gle-technology.com/mysql/7967.html

1
1
1
1
1
1
1

客戶服務(wù)熱線

0791-8623-3537

在線客服