任務(wù)調(diào)度計(jì)劃 php 定時(shí)完成數(shù)據(jù)庫的備份: ?1 、手動(dòng)備份數(shù)據(jù)庫 (表)的方法: cmd 控制臺(tái): mysqldump-uroot-p123 數(shù)據(jù)庫 (temp) 文件保存路徑 (d:\temp.bak) ;備份數(shù)據(jù)庫的某幾張表: mysqldump-uroot-p123 數(shù)據(jù)庫 [ 表名 1 ,表名 2..](tempdept) 文件
任務(wù)調(diào)度計(jì)劃
php定時(shí)完成數(shù)據(jù)庫的備份:
? 1、手動(dòng)備份數(shù)據(jù)庫(表)的方法:cmd控制臺(tái):mysqldump -u root -p123 數(shù)據(jù)庫(temp) >文件保存路徑(d:\temp.bak);備份數(shù)據(jù)庫的某幾張表:mysqldump -u root -p123 數(shù)據(jù)庫 [表名1,表名2..] (temp dept)>文件路徑(d:\temp.dept.bak)。
? 使用備份文件恢復(fù)數(shù)據(jù):MySQL控制臺(tái):source d:\temp.dept.bak(如果不成功,\可能需要轉(zhuǎn)義)
? 2、使用定時(shí)器自動(dòng)完成。把備份數(shù)據(jù)庫的指令,寫入到bat文件,然后通過任務(wù)管理器去定時(shí)調(diào)用bat文件:創(chuàng)建mytask.bak文件,在文件中寫如下指令:”D:\wamp\bin\mysql\mysql5.6.12\bin\mysqldump” -u root -p123 temp dept >d:\temp.dept.bak(如果mysqldump.exe文件路徑有空格要用雙引號(hào)引起來)。在控制面板->系統(tǒng)和安全->計(jì)劃任務(wù)->創(chuàng)建基本任務(wù)。(缺點(diǎn)是每次都覆蓋原來的文件)
? 3、使用PHP調(diào)度。1、建立一個(gè)PHP文件(mytask.php):
d:\\$bakfilename”; exec($command); //執(zhí)行命令 ?>
2、建立mytask2.bat文件,用于定時(shí)執(zhí)行上面建立的PHP文件(php.exe可以再控制臺(tái)解析 php 文件:php.exe php文件路徑),mytask2.bat內(nèi)容如下: D:\wamp\bin\php\php5.4.16\php.exe D:\wamp\www\mytask.php
? insert into dept select deptno,dname,loc from dept;主從復(fù)制。
? PHP完成定時(shí)發(fā)送郵件功能。
? 發(fā)送郵件有兩種方法:搭建自己的服務(wù)器、讓已有的服務(wù)器(如163的)代為轉(zhuǎn)發(fā)。
? 1、設(shè)計(jì)一張郵件表:
create table maillist
(id int unsigned primary key auto_increment,
getter varchar(64) not null default '',
sender varchar(64) not null default '',
title varchar(32) not null default '',
content varchar(2048) not null default '',
sendtime int unsigned not null default 0,
flag tinyint unsigned not null default 0
)engine=myisam charset utf8;
2、插入一些數(shù)據(jù):
insert into maillist values
(null,'464839522@qq.com','hzn.itself@gmail.com','hello100','abc,hello100',unix_timestamp()+10*3600,0);
insert into maillist values
(null,'464839522@qq.com','hzn.itself@gmail.com','hello200','abc,hello200',unix_timestamp()+10*3600,0);
3、建立一個(gè)php文件(mytask.php):
更新數(shù)據(jù)庫成功'; } } } mysql_free_result($res); mysql_close($con); ?>
4、配置php.ini
[mail function]
; For Win32 only.
; http://php.com/smtp
SMTP = localhost
; http://php.com/smtp-port
smtp_port = 25
; For Win32 only.
; http://php.com/sendmail-from
sendmail_from = 464...522@qq.com //可以寫多個(gè)
表的分割技術(shù)
? 水平分割:
uuid表用于生成id。
addUser.php:
可以認(rèn)為是qq號(hào) $sql="insert into uuid values(null)"; if(mysql_query($sql,$con)){ $uuid=mysql_insert_id(); $tablename='qqlogin'.$uuid%3; //3張表 $sql="insert into ".$tablename." values('$uuid','aaa','aaa')"; if(mysql_query($sql,$con)){ echo '添加用戶成功'; } }else{ die('添加失敗'); } mysql_close($con); ?>
checkUser.php:
在'.$tablename.'表中存在這個(gè)用戶'.$row['name']; }else{ die('沒有用戶'); } mysql_free_result($res); mysql_close($con); ?>
? 我們?cè)谔峁z索時(shí),應(yīng)該根據(jù)業(yè)務(wù)的需求,找到分表的標(biāo)準(zhǔn),并在檢索頁面,約束用戶用戶檢索方式-》分頁,如果有大表檢索的需求,也是少數(shù)的。
? 表的垂直分割:
某個(gè)表的某些字段,在查詢時(shí),并不是經(jīng)常使用,但是數(shù)據(jù)量很大,建議把這些字段單獨(dú)放到另一張表。
? 修改my.ini:端口號(hào)port=3306、最大連接數(shù)(并發(fā)數(shù))max_connections=1000、
? tinyint(1)括號(hào)里的數(shù)據(jù)表示零填充:
create table test(id1 tinyint(2) zerofill,id2 tinyint(3) zerofill);
insert into test values(2,3);
? 增量備份:mysql數(shù)據(jù)庫會(huì)議二進(jìn)制的形式,把用戶對(duì)mysql的操作,記錄到文件中。
? 增量備份會(huì)記錄(dml語句,創(chuàng)建表的語句,不會(huì)記錄select);記錄的是:操作語句本身、操作的時(shí)間、操作的位置。
? 如何啟用增量備份:(1)配置mysql.ini文件或my.cof,啟用二進(jìn)制備份log-bin=mysql-bin(存放路徑)(默認(rèn)把文件存放在data目錄下);(2)啟動(dòng)mysql得到文件:
mysql-bin.index 索引文件,有哪些增量備份文件
mysql-bin.000001 存放用戶對(duì)數(shù)據(jù)庫操作的文件
(3)可以使用mysql/bin/mysqlbinlog程序查看備份文件。cmd: mysqlbinlog 備份文件路徑
? 可以通過位置或時(shí)間恢復(fù)
時(shí)間點(diǎn):stop 表示從開始恢復(fù)到該時(shí)間點(diǎn)的操作,start表示從該時(shí)間點(diǎn)恢復(fù)到最后的操作;
恢復(fù)時(shí)間段:mysqlbinlog --start-datetime=”2013-01-14 18:20:21” --stop-datetime=”2013-01-14 18:40:35”
恢復(fù)位置段:mysqlbinlog --start-postion=”110” --stop-postion=”230”
? reset master:清理二進(jìn)制日志;expire_logs_days=過期天數(shù),設(shè)置到了過期時(shí)間自動(dòng)清理的功能,my.ini中添加
? 如何在工作中將全備份和增量備份配合使用:每周做一個(gè)全備份:mysqldump,啟用增量備份(把過期時(shí)間設(shè)為大于或等于7的天數(shù))。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com