Hướng dẫn Backup, restore database, chuyển host cho VBB

Asakura Love You

Nho Tia Chớp :* :x
Lão Làng GVN
Tham gia ngày
13/7/04
Bài viết
6,321
Reaction score
2
HI VỌNG NHỮNG TOPIC MỚI SẼ KHÔNG BỊ XOÁ ĐI HOẶC SỬA LẠI.
LÀM ƠN HÃY GIỮ BẢN QUYỀN CHO ALY. THANKS SO MUCH.



Trong thời gian vừa qua trong box có rất nhiều những lộn xộn, ALY sẽ cố gắng giúp box trở lại hoạt động bình thường. Nói mà không làm thì cũng không được tích sự gì nên ALY sẽ mở màn bằng các post những bài viết sưu tầm, do ALY viết,... về VBB (cái này ALY gọi là tàm tạm hiểu biết thôi)

Dưới đây là cách chuyển database sang host mới. Nếu bạn chỉ muốn backup database và restore ngay trên database đó thì ALY sẽ hướng dẫn ở cuối.

Bước 1: Đầu tiên bạn vào adminCP và backup database lại.

Bước 2: Tạo 1 database mới trong host mới của bạn

Bước 3: Bạn sửa lại file includes/config.php cho trùng khớp với database mà bạn tạo mới trên host. (cái này bạn đã từng cài forum VBB nên sẽ biết)

Bước 4: Bạn phải upload lại forum lên host mới (có thể upload bản chưa hack MOD cũng được) và xoá file install/install.php đi

Bước 5: Bạn upload file database mà bạn mới backup (có dạng .sql) lên cùng thư mục với index.php

Bước 6: Copy đoạn code này vào một file mới là phuchoi.php và đặt nó trong cùng thư mục với index.php
Lưu ý: Phần in đỏ bạn nhập cho trùng khớp với file includes/config.php mà bạn đã sửa ở trên

<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "forum";


$link = @mysql_connect($db_host, $db_user, $db_pass);

mysql_select_db($db_name, $link);
$file="Tên file database mà bạn backup";
$ndfile = file($file);
$type="NONE";
$drop_a=array();
$table_q=array();
$data_q=array();
$tables_q=0;
echo "Xin cho doi trong giay lat...<br>";
foreach($ndfile as $line) {
$line=chop($line);
if ($type=="NONE") {
if(strtolower(substr($line,0,6))=="insert") {
$data_q[]=substr($line,0,strlen($line)-1);
} elseif(strtolower(substr($line,0,6))=="create") {
$type="TABLE";
$table_q[$tables_q]=$line."\n";
} elseif(strtolower(substr($line,0,4))=="drop") {
$type="NONE";
array_push($drop_a, $line);
}
} elseif ($type=="TABLE") {
if(strtolower(substr($line,0,1))==")") {
$type="NONE";
$table_q[$tables_q] .= substr($line,0,strlen($line)-1)."\n";
$tables_q++;
} else {
$table_q[$tables_q] .= $line."\n";
}
}
}
$sql_error=0;
foreach($drop_a as $q_data) {
if($q_data != "") {
$q=mysql_query($q_data);
if($q == 0) $sql_error=1;
}
}

foreach($table_q as $q_data) {
if($q_data != "") {
$q=mysql_query($q_data);
if($q == 0) $sql_error=1;
}
}

foreach($data_q as $q_data) {
if($q_data != "") {
$q=mysql_query($q_data);
if($q == 0) $sql_error=1;
}
}
if($sql_error==1) {
echo "Da co loi !<br>Vui long kiem tra lai.";
echo mysql_error();
} else {
echo "Chuc mung ban! Da cap nhat thanh cong.<br>\n";
echo "Cap nhat <b>".sizeof($table_q)."</b> tables , va <b>".sizeof($data_q)."</b> fields.";
}
print("<br><br><br><center>Asakura Love You</center> ");
?>

Bước 7: Bạn chay đường dẫn sau:
www.yoursite.com/forum/phuchoi.php
và nếu có thông báo
Xin cho doi trong giay lat...
Chuc mung ban! Da cap nhat thanh cong.
Cap nhat xxx tables , va xxxx fields.

Bước 8: Bạn xoá hoặc đổi tên file phuchoi.php là có thể chạy bình thường.
 
Nếu bạn chỉ muốn backup và restore trên database cũ thì hãy làm như sau:
Bước 1: Đầu tiên bạn vào adminCP và backup database lại.

Bước 2: Vào phpMyAdmin, xoá hết các table trong database đang dùng đi.

Bước 3: Bạn upload file database mà bạn mới backup (có dạng .sql) lên cùng thư mục với index.php

Bước 4: Bạn làm tiếp từ bước 6 trong phần trên.
 
:hug: Good !!! Made In Asakura à #>:) ;;)
Ngoài cách trên có thể dùng cron để backup database định kỳ . Các bạn có thể tham khảo qua bài này ( MrSleep )

I. Với Cpanel hosting bạn vào Cron Jobs:
http://www.yoursite.com:2082/frontend/cont...cron/index.html

Có hai loại cron của Cpanel cho bạn chọn là:
+Standard:

a.Command to run:

Mã:
mysqldump --add-drop-table -h localhost -u dbuser -p"dbpass" dbname >  /home/path/to/your/backup/mysql.`date +%Y.%m.%d.`sql


b. Chọn thời gian cho công việc (excute cmd time)
Ví dụ bạn muốn thời gian thực hiện là mỗi ngày vào lúc 3h AM thì bạn chọn:
Minute(s): 0
Hour(s): 3
Day(s): Every Day

Các phần khác để nguyên.

c. Please enter an email address where the cron output will be sent:

Đây là email đươc gửi thông báo mỗi khi cron work.

Save Crontabs.

Done!

+Advanced:
Tương tự

*Giải thích:
Với mỗi thời gian mà bạn setting cho cron thì đúng vào thời điểm đó (chẳng hạn vào lúc 3h GMT vào mỗi ngày). Server sẽ tự động run command

Mã:
mysqldump --add-drop-table -h localhost -u dbuser -p"dbpass" dbname >  /home/path/to/your/backup/mysql.`date +%Y.%m.%d.`sql


để xuất dữ liệu của bạn ra thu mục /home/path/to/your/backup/:
Ex: /home/path/to/your/backup/mysql.2005.06.21.sql

Lưu ý: nếu hacker biết được thư mục backup của bạn thì cũng như không, him sẽ xóa. Nên bạn giấu nó thật kỹ, chẳng hạn trong thư mục images/FRGFYF/jjd/

Chú ý dung lượng hosting của bạn để setting thời gian và định kỳ download về để xóa bớt các database đã backup.

II. Plesk:

Vào crontab. chọn "Add new task", điền đầy đủ các form tương tự ở trên:
Minute *
Hour *
Day of the Month *
Month *
Day of the Week *

Command *:

Mã:
mysqldump --add-drop-table -h localhost -u dbuser -p"dbpass" dbname >  /home/path/to/your/backup/mysql.`date +%Y.%m.%d.`sql


Ok. Done!
 
đây chỉ là em viết lại trong quá trình sử dụng thôi chứ đâu có trình độ mà đòi viết lấy.
Trong thời gian tới em sẽ cố gắng post hết những bài mà em đã viết hoặc sưu tầm được.
 
ASAKURA LOVE YOU nói:
đây chỉ là em viết lại trong quá trình sử dụng thôi chứ đâu có trình độ mà đòi viết lấy.
Trong thời gian tới em sẽ cố gắng post hết những bài mà em đã viết hoặc sưu tầm được.
:D Làm gì có ai dám nhận mình là pro hả em ( Nếu nhận thì có thể là rất pro hoặc nói láo :D ) Trong 1 diễn đàn game mà có 1 bài về lập trình do thành viên viết thì có thể coi là đỉnh rồi :D .

Thanks - Baby Arthas !!!
 
Khi backup như vậy thì nó có lưu user, bài viết ,... lại không bạn
Và bước 6 là mình tạo 1 file text rồi lưu lại với nội dung như trên với tên là phuchoi.php đúng hok bạn
Khi backup forum có gặp lỗi gì không? như font, bug ,...
 
chạy file phuchoi.php như trên thì lỗi này :(
Xin cho doi trong giay lat...
Da co loi !
Vui long kiem tra lai.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


Asakura Love You
 
$file="Tên file database mà bạn backup";

Cái này là cái file dạng .sql phải không? Điền tên file.sql vào đây à?
 
Back
Top