成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

php高效備份大數(shù)據(jù)庫(kù),php 備份數(shù)據(jù)庫(kù)

php中數(shù)據(jù)庫(kù)怎樣備份數(shù)據(jù)庫(kù)文件

$msgs[]="服務(wù)器備份目錄為backup";

創(chuàng)新互聯(lián)公司專(zhuān)業(yè)成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),集網(wǎng)站策劃、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營(yíng)銷(xiāo)、軟文發(fā)稿等專(zhuān)業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計(jì),讓網(wǎng)站在運(yùn)行后,在搜索中有好的表現(xiàn),專(zhuān)業(yè)設(shè)計(jì)制作為您帶來(lái)效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

$msgs[]="對(duì)于較大的數(shù)據(jù)表,強(qiáng)烈建議使用分卷備份";

$msgs[]="只有選擇備份到服務(wù)器,才能使用分卷備份功能";

show_msg($msgs);

大俠們PHP到底如何備份mysql數(shù)據(jù)庫(kù)啊?能發(fā)我一份源碼嗎?

搜一下phpMyAdmin放到你的網(wǎng)站上,然后以數(shù)據(jù)庫(kù)賬號(hào)和密碼登錄,就有備份的選項(xiàng)了。

你郵箱?

如何導(dǎo)入超大mysql數(shù)據(jù)庫(kù)備份文件

在mysql中導(dǎo)入/導(dǎo)出超大的sql文本文件,我們可以使用很多方法實(shí)例,如有:客戶(hù)端直接命令操作,分塊導(dǎo)入,客戶(hù)端用source命令操作等等。

在實(shí)際工作中,有時(shí)經(jīng)常地時(shí)行mysql數(shù)據(jù)庫(kù)的導(dǎo)入和導(dǎo)入操作,但對(duì)于大型sql文件導(dǎo)入時(shí),phpmyadmin是不行的,有太多限制,比如記錄,內(nèi)存等!

多種方案收集,如下:

方案一:客戶(hù)端直接命令操作(此方法是我比較喜歡的)

剛恢復(fù)一個(gè)電商網(wǎng)站mysql備份數(shù)據(jù),此備份文件有300多M,因?yàn)閜hpmyadmin支持上傳有限,文件太大IE停止響應(yīng),所以在本地用

代碼如下

復(fù)制代碼

mysql -u root -p root jiahuibuydb

c:/yebihai.sql

但沒(méi)導(dǎo)入進(jìn)去,出來(lái)一大堆mysql的參數(shù)提示,不認(rèn)輸入的命令參數(shù),后來(lái)寫(xiě)成下面這個(gè)樣子,就是去掉了參數(shù)和數(shù)據(jù)之間的空格

代碼如下

復(fù)制代碼

mysql -uroot -proot jiahuibuydb

c:/yebihai.sql

導(dǎo)入就OK了

導(dǎo)出命令:

a)導(dǎo)出整個(gè)庫(kù)

mysqldump -u 用戶(hù)名 -p 數(shù)據(jù)庫(kù)名 導(dǎo)出的文件名

代碼如下

復(fù)制代碼

mysqldump -u root -p student

d:/yebihai.sql

b)導(dǎo)出一個(gè)表

mysqldump -u 用戶(hù)名 -p 數(shù)據(jù)庫(kù)名 表名 導(dǎo)出的文件名

方案二:分塊導(dǎo)入

代碼如下

復(fù)制代碼

?

//用來(lái)快速M(fèi)ysql的大數(shù)據(jù)備份

//使用前請(qǐng)首先按照代碼注釋修改要導(dǎo)入的SQL文件名、數(shù)據(jù)庫(kù)主機(jī)名、數(shù)據(jù)庫(kù)用戶(hù)名、密碼、數(shù)據(jù)庫(kù)名

//同時(shí)將數(shù)據(jù)庫(kù)文件和本文本一起ftp導(dǎo)網(wǎng)站目錄,然后以web方式訪(fǎng)問(wèn)此文件即可

$file_name="sql.sql"; //要導(dǎo)入的SQL文件名

$dbhost="localhost"; //數(shù)據(jù)庫(kù)主機(jī)名

$dbuser="user"; //數(shù)據(jù)庫(kù)用戶(hù)名

$dbpass="pass"; //數(shù)據(jù)庫(kù)密碼

$dbname="dbname";

//數(shù)據(jù)庫(kù)名

set_time_limit(0); //設(shè)置超時(shí)時(shí)間為0,表示一直執(zhí)行。當(dāng)php在safe

mode模式下無(wú)效,此時(shí)可能會(huì)導(dǎo)致導(dǎo)入超時(shí),此時(shí)需要分段導(dǎo)入

$fp = @fopen($file_name, "r") or

die("不能打開(kāi)SQL文件 $file_name");//打開(kāi)文件

mysql_connect($dbhost, $dbuser,

$dbpass) or die("不能連接數(shù)據(jù)庫(kù) $dbhost");//連接數(shù)據(jù)庫(kù)

mysql_select_db($dbname)

or die ("不能打開(kāi)數(shù)據(jù)庫(kù) $dbname");//打開(kāi)數(shù)據(jù)庫(kù)

mysql_query('set names utf8');

echo "正在執(zhí)行導(dǎo)入操作";

while($SQL=GetNextSQL()){

if

(!mysql_query($SQL)){

echo

"執(zhí)行出錯(cuò):".mysql_error()."

";

echo

"SQL語(yǔ)句為:

".$SQL."

";

};

}

echo

"導(dǎo)入完成";

fclose($fp) or die("Can’t close file $file_name");//關(guān)閉文件

mysql_close();

//從文件中逐條取SQL

function GetNextSQL() {

global $fp;

$sql="";

while ($line =

@fgets($fp, 40960)) {

$line =

trim($line);

//以下三句在高版本php中不需要,在部分低版本中也許需要修改

$line =

str_replace("http:////","http://",$line);

$line =

str_replace("/’","’",$line);

$line =

str_replace("http://r//n",chr(13).chr(10),$line);

// $line

= stripcslashes($line);

if (strlen($line)1)

{

if ($line[0]=="-" $line[1]=="-")

{

continue;

}

}

$sql.=$line.chr(13).chr(10);

if

(strlen($line)0){

if

($line[strlen($line)-1]==";"){

break;

}

}

}

return $sql;

}

?

方案三:客戶(hù)端用source命令操作

比較好的辦法仍是用mysql的source命令:

一、在客戶(hù)端下操作:

1、進(jìn)行入客戶(hù)端

代碼如下

復(fù)制代碼

2、mysqluse 數(shù)據(jù)庫(kù)名(如果沒(méi)有,先建一個(gè))

3、mysqlset names 'utf8'; (一般看導(dǎo)入的是什么格式的文件)

4、mysqlsource d:/aaa.sql;

即可正常導(dǎo)入,如果有錯(cuò),可以看出錯(cuò)提示

二、PHP文件操作:

建立a.php

里面有下面內(nèi)容

 

代碼如下

復(fù)制代碼

 mysql_connet('xxxx');

mysql_query("set names 'utf8'");

mysql_query("source d:/aaa.sql'");

原理同上,主要方便了無(wú)法使用命令行用戶(hù)的操作

方案四:下面教大家一個(gè)簡(jiǎn)單有效的辦法,適合不會(huì)使用命令窗口的非技術(shù)人員,可以導(dǎo)入任意大小的mysql數(shù)據(jù)庫(kù),理論上不論您的數(shù)據(jù)庫(kù)備份文件多大,都可以導(dǎo)入

方法如下:

1.將數(shù)據(jù)庫(kù)備份文件(如backup.sql)上傳至網(wǎng)站根目錄。

2.將以下代碼保存為mysql.php文件,上傳至網(wǎng)站根目錄。

代碼如下

復(fù)制代碼

system("mysql -hdbhost -udbuser -ppassword dbname backup.sql");

print "導(dǎo)入成功";

其中

dbhost 改為您的數(shù)據(jù)庫(kù)服務(wù)器地址(小提示:一般主機(jī)默認(rèn)數(shù)據(jù)庫(kù)服務(wù)器地址是:localhost)

dbuser 改為您的數(shù)據(jù)庫(kù)用戶(hù)名

password 改為您的數(shù)據(jù)庫(kù)用戶(hù)密碼

dbname 改為您的數(shù)據(jù)庫(kù)名(導(dǎo)入的時(shí)候此庫(kù)必須先建立好,否則會(huì)失敗并且不會(huì)進(jìn)行任何提示)

backup.sql表示通過(guò)ftp上傳到網(wǎng)站根目錄下數(shù)據(jù)庫(kù)文件的文件名(該文件是解壓縮后的文件)

3.在瀏覽器里面訪(fǎng)問(wèn)mysql.php, 那么就在瀏覽器里面輸入/mysql.php,只要瀏覽器一訪(fǎng)問(wèn)這個(gè)mysql.php文件,數(shù)據(jù)就開(kāi)始導(dǎo)入,數(shù)據(jù)導(dǎo)入結(jié)束后,就會(huì)顯示“導(dǎo)入成功”的字樣。這個(gè)時(shí)間根據(jù)您要導(dǎo)入的數(shù)據(jù)大小決定,一般時(shí)間很短

php+mysql在數(shù)據(jù)庫(kù)里數(shù)據(jù)大的話(huà)查詢(xún)很慢

1.建立索引,盡可能把索引建立到你你經(jīng)常比較的字段上,如select

a,b,c,d

from

a

where

索引字段=值,這個(gè)索引字段最好是數(shù)值型數(shù)據(jù)

2.慢有更多情況,

情況1:遠(yuǎn)程查詢(xún),其實(shí)可能查詢(xún)不慢,由于數(shù)據(jù)量大,傳輸過(guò)程慢

情況2:WHERE

后面的比較數(shù)據(jù)太多,比如

like

類(lèi)的語(yǔ)句

情況3:需要哪個(gè)字段只取那個(gè)字段就行了,比如select

*

from

a與select

b,c,d

from

a速度是有差距的

3.數(shù)據(jù)庫(kù)定期維護(hù),壓縮,把不常用的數(shù)據(jù)備份后放入備份庫(kù)里,查詢(xún)時(shí)查備份庫(kù)等

問(wèn)題補(bǔ)充:

.第一條:建立索引,怎么建立,我也聽(tīng)說(shuō)過(guò),但不知道怎么使用

答:每種數(shù)據(jù)建立索引的方法有差異,比如SQL

SERVER

2000中可對(duì)多個(gè)字段進(jìn)行索引,比如SQL

SERVER2000中有命令

CREATE

INDEX

為給定表或視圖創(chuàng)建索引。

只有表或視圖的所有者才能為表創(chuàng)建索引。表或視圖的所有者可以隨時(shí)創(chuàng)建索引,無(wú)論表中是否有數(shù)據(jù)??梢酝ㄟ^(guò)指定限定的數(shù)據(jù)庫(kù)名稱(chēng),為另一個(gè)數(shù)據(jù)庫(kù)中的表或視圖創(chuàng)建索引。

語(yǔ)法

CREATE

[

UNIQUE

]

[

CLUSTERED

|

NONCLUSTERED

]

INDEX

index_name

ON

{

table

|

view

}

(

column

[

ASC

|

DESC

]

[

,...n

]

)

[

WITH

index_option

[

,...n]

]

[

ON

filegroup

]

index_option

::=

{

PAD_INDEX

|

FILLFACTOR

=

fillfactor

|

IGNORE_DUP_KEY

|

DROP_EXISTING

|

STATISTICS_NORECOMPUTE

|

SORT_IN_TEMPDB

}

第三條:數(shù)據(jù)庫(kù)定期維護(hù),壓縮:怎么個(gè)壓縮法?及時(shí)備份數(shù)據(jù)到備份庫(kù)查詢(xún)備份庫(kù),那查詢(xún)時(shí)不是還慢嗎?

答:這個(gè)有壓縮工具,基本上每種數(shù)據(jù)庫(kù)都有自己的壓縮數(shù)據(jù)庫(kù)的工具

當(dāng)前名稱(chēng):php高效備份大數(shù)據(jù)庫(kù),php 備份數(shù)據(jù)庫(kù)
文章分享:http://jinyejixie.com/article46/hojphg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司軟件開(kāi)發(fā)、電子商務(wù)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
商洛市| 襄城县| 宁远县| 闽侯县| 水富县| 大石桥市| 静海县| 罗田县| 平潭县| 浏阳市| 龙胜| 客服| 松原市| 福建省| 松原市| 六安市| 兰溪市| 眉山市| 龙口市| 固镇县| 松桃| 瓮安县| 陆丰市| 龙游县| 泾川县| 宁陵县| 梅河口市| 旺苍县| 达拉特旗| 都兰县| 光泽县| 上林县| 旬阳县| 白山市| 娄底市| 疏勒县| 任丘市| 瑞昌市| 甘洛县| 岗巴县| 高雄县|