亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

備份恢復(fù) - php備份mysql數(shù)據(jù)庫方案有哪些?

瀏覽:117日期:2022-06-16 09:07:43

問題描述

問題解答

回答1:

用工具啊 navicat 什么的如果要自動化導(dǎo)出備份sql,一般是通過命令行crontab執(zhí)行mysqldump 來導(dǎo)出

回答2:

工具能干的事就交給工具吧!php代碼實現(xiàn):提供兩種方法,僅供研究使用。第1種方法:復(fù)制代碼 代碼如下:

<?php$host='localhost';$user='root';$password='';$dbname='dbname';mysql_connect($host,$user,$password);mysql_select_db($dbname);$mysql= 'set names utf8;';mysql_query($mysql);$q1=mysql_query('show tables');while($t=mysql_fetch_array($q1)){$table=$t[0];$q2=mysql_query('show create table $table');$sql=mysql_fetch_array($q2);$mysql.=$sql[’Create Table’].';n';$q3=mysql_query('select * from $table');while($data=mysql_fetch_assoc($q3)){$keys=array_keys($data);$keys=array_map(’addslashes’,$keys);$keys=join(’,’,$keys);$keys=''.$keys.'';$vals=array_values($data);$vals=array_map(’addslashes’,$vals);$vals=join('’,’',$vals);$vals='’'.$vals.'’';$mysql.='insert into $table($keys) values($vals);n';}$mysql.='n';}$filename=$dbname.date(’Ymj’).'.sql';$fp = fopen($filename,’w’);fputs($fp,$mysql);fclose($fp);echo '數(shù)據(jù)備份成功,生成備份文件'.$filename;?>第2種方法:復(fù)制代碼 代碼如下:

<?php$host='localhost';$user='root';$password='';$dbname='dbname';backup_tables($host,$user,$password,$dbname);/ backup the db OR just a table /function backup_tables($host,$user,$pass,$name,$tables = ’*’){

$link = mysql_connect($host,$user,$pass);mysql_select_db($name,$link);

//get all of the tablesif($tables == ’*’){$tables = array();$result = mysql_query(’SHOW TABLES’);while($row = mysql_fetch_row($result)){$tables[] = $row[0];}}else{$tables = is_array($tables) ? $tables : explode(’,’,$tables);}$return = ’’;//cycle throughforeach($tables as $table){$result = mysql_query(’SELECT * FROM ’.$table);$num_fields = mysql_num_fields($result); $return.= ’DROP TABLE ’.$table.’;’;$row2 = mysql_fetch_row(mysql_query(’SHOW CREATE TABLE ’.$table));$return.= 'nn'.$row2[1].';nn';

for ($i = 0; $i < $num_fields; $i++) {while($row = mysql_fetch_row($result)){$return.= ’INSERT INTO ’.$table.’ VALUES(’;for($j=0; $j<$num_fields; $j++) {$row[$j] = addslashes($row[$j]);$row[$j] = ereg_replace('n','n',$row[$j]);if (isset($row[$j])) { $return.= ’'’.$row[$j].’'’ ; } else { $return.= ’''’; }if ($j<($num_fields-1)) { $return.= ’,’; }}$return.= ');n';}}$return.='nnn';}

//save file$handle = fopen(’db-backup-’.time().’-’.(md5(implode(’,’,$tables))).’.sql’,’w+’);fwrite($handle,$return);fclose($handle);}?>

回答3:

public function uploadAction(){$root = $this->config->database->username;$pass = $this->config->database->password;$dbname = $this->config->database->dbname;$timestr = date(’YmdHis’);$fileName = 'backupMysqlFile-$timestr.sql.gz';$filePath = '/backup/mysql/$fileName';$command = 'mysqldump -h127.0.0.1 -u$root -p$pass $dbname | gzip > $filePath';exec($command);$ret = $this->qiniuuploadMgr->putFile($this->qiniuToken,$fileName,$filePath); }

> #crontab -e02 00 * * * /bin/sh /alidata/script/crontab/backupmysql.sh#定義一個每天晚上00:02執(zhí)行腳本的任務(wù)

backupmysql.sh里面只有一個請求CURL請求php action

相關(guān)文章:
主站蜘蛛池模板: 在线精品日韩一区二区三区 | 337d欧美人体大胆瓣开下面 | 久久国产亚洲观看 | 未成人禁止视频高清在线观看 | 国产在线拍国产拍拍偷 | 欧美精品国产制服第一页 | 久久中文字幕久久久久 | 永久福利盒子日韩日韩免费看 | 日本免费看片在线播放 | 国产毛片片精品天天看视频 | 精品精品国产高清a毛片 | 国产福利免费视频 | 欧美日韩第三页 | 亚洲人交性视频 | 特一级黄色大片 | 久久精品30 | 国产精久久一区二区三区 | 最新国产精品自拍 | 久久亚洲一级毛片 | 日韩精品电影一区 | 成人性生交大片免费看软件 | 黄色三级a| 亚洲国产国产综合一区首页 | 国产成人亚洲综合一区 | 欧美成人爽毛片在线视频 | 免费观看国产精品视频 | 一级做a爰片久久毛片免费看 | 日本xxxx韩国护士 | 视频一区二区在线 | 蝌蚪91视频| 日本免费的一级绿象 | 欧美在线视频网站 | 亚洲一区二区三区日本久久九 | 欧美激情精品久久久久久久 | 国产精品色 | 找国产毛片 | 精品日韩一区二区 | 欧美成人久久 | 欧美一级做a爰片免费 | 久久国产精品老女人 | 99精选视频 |