PHP脚本制作MYSQL数据库备份和恢复,顺便在数据库里面写上一条记录, <?php require_once("./sfadodb.php"); echo "sfdsdf"; www.shengfang.org $sff=new sfADODb(); www.shengfang.org $link = mysql_connect("localhost","root","123") or die("Could not connect : " . mysql_error()); mysql_select_db("astbill") or die("Could not select database"); $sql="set names 'utf-8'"; mysql_query($sql); $sql="insert into backupslst(name,time) values('s",'123')"; mysql_query($sql); mysql_close($link); www.shengfang.org #$sff->Execute($sql); ?> 结果报告: www.shengfang.org File 'c:\mysql\\share\charsets\?.conf' not found (Errcode: 2) Character set '#1' is not a compiled character set and is not specified in the ' c:\mysql\\share\charsets\Index' file www.shengfang.org 这明显不正确,因为我的MYSQL安装在O:\php\mysql41 下面,奇怪的是,在LINUX下面就正常,估计是WINDOWS安装包的问题 MYSQL数据库备份恢复 ,基本差不多 用mysqldump对MySQL数据库进行数据备份与恢复 数据库备份是很重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份,下面假设要备份tm这个数据库: #mysqldump -u root -p tm > tm_050519.sql 按提示输入密码,这就把tm数据库所有的表结构和数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下: #mysqldump -u root -p tm | gzip > tm_050519.sql.gz 系统崩溃,重建系统时,可以这样恢复数据: #mysql -u root -p tm < tm_050519.sql 从压缩文件直接恢复: #gzip < tm_050519.sql.gz | mysql -u root -p tm :#tar cvf - /var/mysql/mydb | gzip -9c > 050518_mydb.mysql.tar.gz #!/usr/bin/php -q www.shengfang.org <?php www.shengfang.org //echo $argv[1]; $user=$argv[1]; $pwd=$argv[2]; $pre=$argv[3]; $op=$argv[5]; www.shengfang.org $time=$argv[4]; $cmd="/usr/bin/mysqldump -u $user -p$pwd --opt astbill>"; $filename=date("YmdHis"); $filename=$filename.$pre; $cmd=$cmd."./backup/$filename.sql"; echo $cmd; system($cmd); www.shengfang.org if (file_exists("./backup/$filename.sql")) { require("./dbconfig.php"); $root=$config['dbhost']; www.shengfang.org $name=$config['dbuser']; $pwd=$config['dbpass']; $datatable=$config['dbname']; $link = mysql_connect($root,$name,$pwd) or die("Could not connect : " . mysql_error()); mysql_select_db($datatable) or die("Could not select database"); $sql="set names 'utf-8'"; mysql_query($sql); $sql="insert into backuplsts(name,time) values('$pre','$time')"; echo $sql; mysql_query($sql); mysql_close($link); } www.shengfang.org
if (file_exists("./backup/$name.sql")) { require("./dbconfig.php"); $pre=$_POST["name"]; $user=$config['dbuser']; $pwd=$config['dbpass']; #$cmd="./backupscmd.php $user $pwd $pre $filename '>'"; $cmd="/usr/bin/mysql -u $user -p$pwd astbill<"; $cmd=$cmd."./backup/$name.sql"; echo $cmd; } www.shengfang.org 字体:大 中 小 |