mysql数据库迁移到另一台电脑上

解决办法

mysql要转换到另一台机器上面,最重要的要考虑以下几个问题

1、数据库使用什么存储引擎,如果是myisam的话,可以把data目录复制移走。但如果是innodb的话,千万不要用这种方法,会存在种种问题的。至于innodb引myisam的区别,百度一下详细点。

2、本地的操作系统是否引目标操作系统相同,如果是linux与windows之间的转移,因为平台的的不台,注意大小写表名字段的兼性。也可以在my.ini或者my.cnf中忽略大小写。

3、比较安全的做法,还是用mysqlmp的方法导出来,再用mysqlmp的方法导进去,这是一种比较保险安全兼性高的做法,请考虑。
实际操作实例:

 停止两个数据库的mysql服务,将A数据库中的data文件夹拷贝到B数据库中,B数据库事先把原有的data文件夹改名备份,然后再重启B数据库服务,(注意这时登录密码可能是A数据库的了,需要事先知道A数据库的密码,否则迁移完数据库登录不进去)

mysql数据库从一台服务器迁移到另一台服务器上

一、应用场景
      由于要把测试服务器上的数据库迁移到正式服务器上,因此需要做数据库的迁移。这里记录一下。

二、数据库迁移
1、新建数据库test

create database test;
1
2、进入数据库,创建数据表test

create table test1(id int(10) primary key, name varchar(30), age int(10));
1
3、生成.sql文件

(1)这里生成.sql文件,需要用到mysqldump,如果找到该命令的话,建立一个软连接到/usr/bin 下。例如,你的mysql 路径为:/usr/local/mysql,则执行
ln -fs /usr/local/mysql /usr/bin (PS:这里不需要进入到mysql执行命令)

(2)执行mysqldump命令

1)为某个数据库生成.sql文件

mysqldump -u 用户名 -p 数据库>你想要生成.sql文件的路径

2)只要数据库的表结构

mysqldump -u 用户名 -p -d 数据库>你想要生成.sql文件的路径

3)生成某个数据库下面对应某个表的表结构

mysqldump -u 用户名 -p -d 数据库名 表名>你想要生成.sql文件的路径

4)生成某个数据库下面对应某个表的表结构+表数据

mysqldump -u 用户名 -p -d 数据库名>你想要生成.sql文件的路径

我这里执行的命令是:

mysqldump -u xx -p pzsh>/home/pzsh/test.sql
1
然后去/home/pzsh下面看看,就会发现已经生成.sql文件了

4、使用ftp工具,把生成的.sql文件放到新服务器上去

(1)使用FTP工具下载.sql文件
(2)使用FTP工具把.sql文件上传到指定路径
(3)我这边是把.sql文件上传到新服务器的/home/pzsh目录下

5、导入到服务器

(1)进入到新服务器的mysql中

mysql -u 用户名 -p

(2)先创建数据库,按照.sql文件中的数据库名字。

create database test;

//进入到创建的数据库中
use test;
//查看当下的数据表
show tables;
//此时数据库中是没有任何表的
(3)执行source命令,导入.sql文件

source /home/pzsh/test.sql
(4)查看test数据库中的表

show tables;

此时发现我们已经把表都转移过来了。

6、如果两台服务器的数据库版本不兼容,则在root用户下执行下面的命令

mysql_upgrade -u root -p
1
输入密码即可。

end

//*********

导出单个数据库

mysqldump -u root -p database_name > outfile_name.sql

导出所有数据库

mysqldump -u root -p --all-databases > outfile_name.sql

导出数据库表

 

mysqldump -u root -p database_name table_name > outfile_name.sql

导入.sql文件

导入数据库

    mysql -u root -p 进入mysql  执行source  outfile_name.sql(包含存储路径)

    b. 导入数据库表

    mysql -u root -p 进入mysql 

    mysql>use database_name;

    mysql>source outfile_name.sql(包含存储路径)

以上是命令行方式,如果操作系统时windows,可以选择用mysql客户端工具,如Sqlyog操作导出数据和导入数据。

你可能感兴趣的:(数据库)