在下寫的轉(zhuǎn) 用戶的 程序,發(fā)出來給你參考下吧! 懸賞才5分,真吝嗇!
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供涇源網(wǎng)站建設(shè)、涇源做網(wǎng)站、涇源網(wǎng)站設(shè)計、涇源網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、涇源企業(yè)網(wǎng)站模板建站服務(wù),10年涇源做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
$next = intval($_GET['start']);
if ($next == NULL)
{
$next = 0;
}
$x = new Mysql($conf['xoops']);
$u = new Mysql($conf['ucenter']);
$start = $num*$next;
$m = $num*($next+1);
echo 'p/pfont color="red"開始轉(zhuǎn)換:第bfont color="blue"'.($start+1).'/font/b到bfont color="blue"'.$m.'/font/bbr/fonthr style="width:20%;" align="left" /';
//從xoops中提取數(shù)據(jù)
$sql = "SELECT `uid`,`uname`,`email`,`pass`,`user_regdate` FROM `{$xoops['prefix']}users` ORDER BY `uid` ASC LIMIT {$start},{$num}";
$rs = $x-oneRow($sql);
if(empty($rs)){
echo 'p/pfont color="blue"全部轉(zhuǎn)換完畢/font';
die();
}
$result = $x-query($sql);
while ($x_data = mysql_fetch_array($result,MYSQL_ASSOC)){
$user = $x_data;
//從ucenter中讀取數(shù)據(jù)
$sql = "SELECT `uid` FROM `".$ucenter['prefix']."members` WHERE `uid` = '".$user['uid']."' LIMIT 1";
$u_data = $u-oneRow($sql);
if(!empty($u_data)){
@$time_log = file_get_contents('uid_err_log.txt');
$time_log.="\r\n".'------------------------------------';
$time_log.="\r\n".'UID為'.$user['uid'].'的用戶'.$user['uname'].'在Ucente中已經(jīng)存在這個uid,可能已經(jīng)轉(zhuǎn)換過了。';
$time_log.="\r\n".'SQL語句:'.$sql;
$time_log.="\r\n".'------------------------------------';
@file_put_contents('uid_err_log.txt',$time_log);
}else{
$sql = "SELECT `uid` FROM `".$ucenter['prefix']."members` WHERE `username` = '".$user['uname']."' LIMIT 1";
$u_data = $u-oneRow($sql);
if (!empty($u_data)) {
echo 'br'.$user['uname'].'已經(jīng)在Ucenter中存在了!/b';
@$time_log = file_get_contents('uid_err_log.txt');
$time_log.="\r\n".'------------------------------------';
$time_log.="\r\n".'UID為'.$user['uid'].',用戶名為'.$user['uname'].'的用戶在xoops中已經(jīng)存在這個用戶名,可能已經(jīng)轉(zhuǎn)換過了。';
$time_log.="\r\n".'SQL語句:'.$sql;
$time_log.="\r\n".'------------------------------------';
@file_put_contents('uid_err_log.txt',$time_log);
}
}
//向Ucenter中插入用戶
$salt = substr(uniqid(rand()), -6);
$password = md5($user['pass'].$salt);
$sql = "INSERT INTO `".$ucenter['database']."`.`".$ucenter['prefix']."members` (`uid` ,`username` ,`password` ,`email` ,`myid` ,`myidkey` ,`regip` ,`regdate` ,`lastloginip` ,`lastlogintime` ,`salt` )
VALUES ('".$user['uid']."' , '".$user['uname']."', '".$password."', '".$user['email']."', '', '', '', '".$user['user_regdate']."', '0', '0', '".$salt."')";
if(!$u-query($sql)){
@$time_log = file_get_contents('insert_err_log.txt');
$time_log.="\r\n".'------------------------------------';
$time_log.="\r\n".'Ucenter插入新用戶錯誤';
$time_log.="\r\n".'SQL語句:'.$sql;
$time_log.="\r\n".'------------------------------------';
@file_put_contents('insert_err_log.txt',$time_log);
}
continue;
}
$next+=1;
echo 'meta http-equiv="Refresh" content="2; url=x2u.php?start='.$next.'" /';
exit();
?
用phpmyadmin導(dǎo)出,然后在新空間導(dǎo)入?;蛘哒宜麄兊墓芾韱T幫你操作。
我想到的有三種思路吧
1.如果服務(wù)器允許mysqldump 并且沒有禁止PHP的shell_exec()這個函數(shù)的話
直接在PHP里面執(zhí)行mysqldump就可以了。
2.通過mysql_query('show tables')的返回值遍歷每個表,循環(huán)對每個表使用查詢語句
select * into outfile '路徑/文件名' from 表名
缺點是這樣得到的是純數(shù)據(jù),恢復(fù)數(shù)據(jù)的時候你需要額外再寫腳本
3.同樣通過show tables返回表名,遍歷每個表,通過select 語句查詢,然后逐條結(jié)果處理,比如手工添加drop table 和create table 以及insert into等等,然后再寫入文件。這樣得到的備份數(shù)據(jù)是比較接近mysqldump的結(jié)果的,各種工具都可以用來恢復(fù)數(shù)據(jù)。缺點是如果數(shù)據(jù)庫太大的話,效率不好說
總之我不推薦用PHP來實現(xiàn)mysql數(shù)據(jù)的備份,如果可能的話還是用mysqldump吧
把A中的q1倒出來 mysqldump -uadmin1 -padmin111 Q1 Q1.sql
然后再B中新建Q2,create database Q2
應(yīng)用Q2 use Q2
導(dǎo)入Q1 source Q1.sql
賦予用戶 grant all privileges on Q2.* to 'admin2'@localhost identified by 'admin2222'
這樣就可以了!