实现win2003下mysql数据库每天自动备份
终于让服务器每天早上备份一次 MySQL 数据库并自动打包,同时删除 5 天前的备份文件. 分享如下.
1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 .
2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为 D:/mysql.
3. 在 D:/php 下建立目录 WinRAR, 把你 winrar 安装目录下的 WinRAR.exe 和 RARReg.KEY 复制到 D:/php/WinRAR .
4. D:/php 下建立文件 mysql_backup.php:
/*/////////////////////////
#FileName: mysql_backup.php
#Author: faisun
#Website: http://www.softpure.com
////////////////////////*/
//保存目录,路径要用反斜杠.您需要手动建立它.
$store_folder = 'D:databse_backup'; //用户名和密码
//该帐号须有操作[所有]的数据库及FILE的权限
//否则有些数据库不能备份.
$db_username = "root";
$db_password = ""; $time=time(); $nowdir = "$store_folder".date("Ymd",$time)."";
if(file_exists("$nowdir.rar")) die("File exists.n");
@mkdir($nowdir); mysql_connect("localhost","$db_username","$db_password");
$query=mysql_list_dbs(); while($result=mysql_fetch_array($query)){
system (dirname(__FILE__).'..mysqlbinmysqldump --opt '."$result[Database] -u ".($db_password?"-p":"")." > $nowdir$result[Database].sql");
echo "dumping database `$result[Database]`...n";
}
echo "nWinrar loading...n"; system( dirname(__FILE__)."WinRARWinRAR.exe a -ep1 -r -o+ -m5 -df "$nowdir.rar" "$nowdir" " ); //删除 5 天前的文件
@unlink("$store_folder".date("Ymd",$time-86400*5).".rar"); echo "nOK!n"; >
5. D:/php 下建立文件 mysql_backup.bat,内容只有一句:
php.exe mysql_backup.php
6. 双击该 bat 文件运行,如果能备份了,OK,下一步添加任务计划.
7. 把 D:/php/mysql_backup 添加到任务计划,时间选每天. 根据服务器的监测结果,每天早上 5-8 时为流量低峰期. 由于 5-7 时有些数据库的清理工作,我把时间定在了早上 8 点整.
相关文档:
遇到一个问题是在MySQL命令行插入中文数据或者查询中文数据时出现乱码,或者显示不对。
在命令行输入:show variables like ‘character_set_%’;
查看当前配置的编码;
在命令行输入 :set names utf8;
则等同于
set character_set_client=utf8;
set character_set_results ......
MySQL Administrator 是什么软件?
MySQL Administrator 是一个专门用于管理 My SQL 4.X 和 5.X My SQL数据库的软件,可以使用这个软件备份My SQL数据库,还原My SQL数据库。
注:如果你的数据库是 MS SQL 2000 数据库,请参考这里,使用 MS SQL 2000 企业管理器管理
下载 MySQL Administrator 软件
http://61.139.76 ......
MySQL的字符集问题。Windows下可通过修改my.ini内的
CODE:
# CLIENT SECTION
[mysql]
default-character-set=utf8
#
SERVER SECTION
[mysqld]
default-character-set=utf8
这
两个字段来更改数据库
的
默认字符集。第一个是客户端默认的字符集,第二个是服务器端默认的字符集。假设我们把两个都设为utf8,然后 ......
EXPLAIN 是mysql解释select查询的一个关键字,可以很方便的用于调试
语法格式如下
EXPLAIN tbl_name
或者:
EXPLAIN SELECT select_options
EXPLAIN 语句可以被当作 DESCRIBE 的同义词来用,也可以用来获取一个MySQL要执行的 SELECT 语句的相关信息。
EXPLAIN tbl_name 语法和 DESCRIBE tbl_name 或 SHOW COLUMNS ......
windows下:
解决办法:
1.检查你的Mysql目录有没有给系统的System用户权限。
2.删除掉你的 %WINDOWS%/my.ini 文件。
3.检查你的 c:/my.cnf 文件配置是否正确。
修改%windir%\my.ini,增加
[mysqld]
#设置basedir指向mysql的安装路径
basedir=D:\Program\Tools\mysql
datadir=D:\Program\Tools\mysql\data& ......