Home  >  Article  >  Database  >  Linux系统下备份MySQL的详细笔记

Linux系统下备份MySQL的详细笔记

WBOY
WBOYOriginal
2016-06-07 16:51:38938browse

试了一天,在Linux系统下用MySQL的备份工具就是备份不了,现在详细记录下备份步骤用SQLyogEnt工具备份,数据量大了出问题的,害了我好多次了

试了一天,在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

即 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 表名) 

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn