对于个人网站而言,要想完整的迁移数据库,最好是先停止网站运行。
关键就是要停止对数据库的读写占用,防止数据不完整
然后做数据库备份为bak文件
备份文件传送到新服务器。
服务器上导入bak文件还原为数据库数据即可。
# mysqldump -u root -p dbfile > dbfilesql
2、用rsync从新服务器获得备份的文件(SCP或WGET也可以)。
# rsync -avr root@myolddbserver:/home/mydumpfolder/dbfilesql
3、登陆新服务器的mysql客户端。
# mysql -u root -p
4 建立数据库。
mysql> create database dbfile;
5 选择新数据库;
mysql> use dbfile;
6 加载数据;
mysql> source dbfilesql
或者
在Mysql程序中有我自己的一个数据库共5张表,里边数据不算太多。我现在想把他们全部弄到另一台电脑中去,该怎么弄,如果不用其它的软件工具,只用Mysql自已的程序不知可否?
注:不用考虑 *** 作系统。
---------------------------------------------------------------
在dos命令提示符下使用mysqldump命令进行备份
如下:
C:\Documents and Settings\Administrator>mysqldump yinshi >c:\\backuptxt -uroot
-p12142022
说明:yinshi是我的数据库名,里面有5张表; c:\\backuptxt 是我备份出来文件名和路径;
-u,-p参数后面跟的分别是用户名和密码
将你备份出来的文件我这里是backuptxt拷贝到另一台机上,再在dos命令提示符下用mysql命令,进行恢复,如下:
C:\Documents and Settings\Administrator>mysql < c:\\backuptxt -uroot -p12142022
or
mysql>source backuptxt;(这里backuptxt在放在data目录下)
---------------------------------------------------------------
如果另一台机器上也安装了mysql,可以直接导入
C:\mysql\bin>mysqldump -h172206250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename
172206250源服务器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_nametxt’ [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT INTO OUTFILE ’file_name’
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)