# mysqldump -u root -p dbfile >dbfile.sql
2、用rsync从新服务器获得备份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mydumpfolder/dbfile.sql
3、登陆新服务器的mysql客户端。
# mysql -u root -p
4. 建立数据库。
mysql>create database dbfile
5. 选择新数据库
mysql>use dbfile
6. 加载数据;
mysql>source dbfile.sql
或者
在Mysql程序中有我自己的一个数据库共5张表,里边数据不算太多。我现在想把他们全部弄到另一台电脑中去,该怎么弄,如果不用其它的软件工具,只用Mysql自已的程序不知可否?
注:不用考虑 *** 作系统。
---------------------------------------------------------------
在dos命令提示符下使用mysqldump命令进行备份.
如下:
C:\Documents and Settings\Administrator>mysqldump yinshi >c:\\backup.txt -uroot
-p12142022
说明:yinshi是我的数据库名,里面有5张表c:\\backup.txt 是我备份出来文件名和路径
-u,-p参数后面跟的分别是用户名和密码.
将你备份出来的文件我这里是backup.txt拷贝到另一台机上,再在dos命令提示符下用mysql命令,进行恢复,如下:
C:\Documents and Settings\Administrator>mysql <c:\\backup.txt -uroot -p12142022
or
mysql>source backup.txt(这里backup.txt在放在data目录下)
---------------------------------------------------------------
如果另一台机器上也安装了mysql,可以直接导入
C:\mysql\bin>mysqldump -h172.20.6.250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename
172.20.6.250源服务器ip
developer源服务器连接用户名
---------------------------------------------------------------
有两种办法。
1、在B机器上装mysql。
将A机器上的mysql/data下的你的数据库目录整个拷贝下来。
将B机器上的mysql服务停止。
找到B机器上的mysql/data目录,将你拷贝的目录粘贴进去,然后启动mysql服务就可以了。
2、使用SQL语句备份和恢复
你可以使用SELECT INTO OUTFILE语句备份数据,并用LOAD DATA INFILE语句恢复数据。这种方法只能导出数据的内容,不包括表的结构,如果表的结构文件损坏,你必须要先恢复原来的表的结构。
语法:
SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE ’file_name’
1.程序逻辑部分,新逻辑上线,注意对老逻辑的兼容,千万不要不管三七二十一暴力替换。2.数据库部分:
1)能建新表尽量建新表以避免对老数据的破坏。
2)如果老表有字段增加,千万不要做非空,唯一性的约束,否则后果自负。
3)假如需要减字段,那么请考虑临时替代的方案,比如新建一张临时表,让程序先取临时表数据,最后等新表建立后再切换过来,导入数据。
3.CACHE等需要序列化,反序列化的部分。一定要兼容原先在缓存中的数据,例如SID千万不要变化,否则反序列化失败,假如有字段需要增加,那么考虑第一次读入先取数据库。
4.外部接口相关的,能不要求外部接口联调,尽量就不做联调,一是麻烦,二是风险大。尽量对原接口传入和传出的数据保持兼容。假如有变化,考虑用适配器封装,实在没办法再实行下策。
5.注意 *** 作的先后顺序,这个也是非常重要,例如你先发了数据库,但是程序还是老的,并且会受到影响,那么就挂了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)