試了一天,在Linux系統下用MySQL的備份工具就是備份不了,現在詳細記錄下備份步驟
用SQLyogEnt工具備份,資料量大了出問題的,害了我好多次了,容易出錯,用mysql內建的工具備份就不錯。下面是步驟
1.先用工具SQLyogEnt連上mysql伺服器
2.然後編輯下root·localhost使用者的密碼
3.在Linux伺服器上建個目錄用來存放備份檔案/backdata/
cd /usr/local/mysql/bin/
mysqldump -u使用者名稱 -p密碼 --databases 庫名 >/backdata/ddd07-11-15.sql
恢複文法
mysqladmin create target_db_name
mysql target_db_name < backup-file.sql
即 mysql 庫名 < 檔案名稱
OK,注意,-u後面沒有空格, 你只需要把上面的中文換成你的相關資訊就可以了!
下面是遊戲合區的相關sql語句,是蘇楓寫的,有待完善
帳號伺服器上的修改
update `ACCSTORE0000` set ACCOUNT=Rtrim(ACCOUNT) + '2q'
到另一個區的伺服器裡找出最大的UID
SELECT max(UID) FROM `ACCSTORE0000`
比如是 1000066668
然後替換
update `ACCSTORE0000` set UID=UID + 1000066668
-------------------------
在遊戲伺服器上修改
update CHARBASE set name=CONCAT(rtrim(name),'1q')
update `CHARBASE` set ACCID=ACCID + 1000066668
update `ARMY` set NAME=Rtrim(NAME) + '2q'
update `ARMY` set GENNAME=Rtrim(GENNAME) + '2q'
好像GENID也要修改的,修改方法同UID,取另一伺服器的最大值得加上
-------------------------
update ``BALANCE`` set ACCOUNT=Rtrim(ACCOUNT) + '2q'
update ``BALANCE`` set ACCID=ACCID + 1000066668
其他要改的表一樣處理
重名的話,先吧另一個區的人名表導到要修改的區的資料庫裡,不過表名別一樣,然後就用
where 人名 not in (select 人名 from 表名)