本文目錄一覽:
求PHP被訪問時備份MySQL數據庫到PHP文件所在目錄代碼
MYSQL的數據庫是存放在磁盤上的,以文件的形式,位置一般是mysql安裝文件夾下的data,當然也可以通過MY.INI進行修改。那麼,備份MYSQL數據庫其實就是對data文件夾打包,在UNIX下可以用tar命令,在WINDOWS下可以用WINRAR等工具。所以,用PHP文件備份MYSQL數據庫,本質就是PHP文件用system調用tar或者rar.exe對MYSQL的數據庫文件夾進行打包,例如:
system(‘”c:\\program files\\winrar\\rar.exe” a db.rar e:\\mysql\\data’);
如何用PHP來實現MySQL備份
備份數據庫並下載到本地【db_backup.php】
?php
// 設置SQL文件保存文件名
$filename=date(“Y-m-d_H-i-s”).”-“.$cfg_dbname.”.sql”;
// 所保存的文件名
header(“Content-disposition:filename=”.$filename);
header(“Content-type:application/octetstream”);
header(“Pragma:no-cache”);
header(“Expires:0”);
// 獲取當前頁面文件路徑,SQL文件就導出到此文件夾內
$tmpFile = (dirname(__FILE__)).”\\”.$filename;
// 用MySQLDump命令導出數據庫
exec(“mysqldump -u$cfg_dbuser -p$cfg_dbpwd –default-character-set=utf8 $cfg_dbname “.$tmpFile);
$file = fopen($tmpFile, “r”); // 打開文件
echo fread($file,filesize($tmpFile));
fclose($file);
exit;
?
php備份恢復MYSQL數據庫
1、把數據庫sql文件查找 CHARACTER
替換成 CHARACTER SET utf8 或 CHARACTER = utf8
2、到phpmyadmin 創建一個新的數據庫的時候應該選 整理 latin1_swedish_ci
3、到phpmyadmin 進入新建的數據庫,導入數據庫文件
4、用UltraEdit轉換所有ANSI格式的php源碼文件為UTF-8格式:File — Conversions — ASCII to UTF-8
5、在php源碼文件中必須加入:
在head後加入
meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″
6、在連接數據DB的文件中找到類似一下代碼
$host=”localhost”; $DBname=”aa”; //數據庫名字$user= “root”; //用戶名$passwd = “”; //密碼$link = mysql_connect($host,$user,$passwd) or die (“Fail”);
$db = mysql_select_db($DBname, $link) or die (“Fail”); //連接
// 要在真正query DB取出資料前,必須加入下面3行mysql_query才可以:
mysql_query(“SET NAMES ‘utf8′”);
mysql_query(“SET CHARACTER_SET_CLIENT=utf8”);
mysql_query(“SET CHARACTER_SET_RESULTS=utf8”);
7、在php源碼中, 如有應用htmlentities和htmlspecialchars時需要注意:
要似如下格式:
$chars = htmlentities($chars,ENT_QUOTES,”UTF-8″);
$chars = htmlspecialchars($chars,ENT_QUOTES,”UTF-8″);
如有應用addslashes()或mysql_real_escape_string()記得用以下:
$chars = stripslashes($chars);
另外如果需要的話還可設置:
1、php.ini 設定php中的語係為 (記得restart)
default_charset = “utf-8”
2、my.ini 設定MySQL中的語係為 (記得restart)
[mysqld]
init_connect=’SET NAMES utf8′
default-character-set=utf8
[client]
default-character-set = utf8
本人剛接觸PHP+MySQL,才疏學淺,希望能給有需要的得到幫助。
請大家指點,謝謝!
PHP mysql 備份
這個是錯的呀,怎麼可能輸出到文件夾呢,應該下面這樣才對:
$mysqlstr = “C:\\AppServ\\MySQL\\bin\\mysqldump -uroot -hlocalhost -phwzero –opt -B gba ../bak/BAK20090323.SQL”
不能備份到../bak/文件夾,必須是這個文件夾下的某個文件。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192252.html