迁移数据库文件到另一台服务器

数据恢复

新开了一台虚拟机,把mysql/data下面的 文件进行复制替换。

复制完之后执行service mysqld start 报错:Starting MySQL… ERROR! The server quit without updating PID file (/data/mysql/mysql.pid). 如图

百度。。。一大堆方法,不管用。

突然想到 是不是权限问题?

直接 chown -R mysql /data/mysql/

然后 启动mysql servic mysqld start

早该想到的。。。

除了这个原因,还有可能是你的mysql配置文件my.cnf出现了问题。

注意:进行数据文件替换之后,原有数据和配置(数据库账户、部分配置)会被覆盖,所以这里是新开了一个虚拟机进行操作。

数据导出

原本用Navicat软件转储sql文件进行导出的,不过在进行数据导入的时候发现执行效率非常低,1-3s才能执行一条查询语句,通过对比Navicat转储的文件和mysqldump导出的文件可以发现,软件转储得到文件一个insert语句只插入了一条数据,而mysqldump导出的数据一条insert语句插入了很多数据:

所以还是选择mysqldump导出,效率更高

1
mysqldump -u 用户名 -p 数据库 > 导出文件路径

数据导入

将导出的sql文件传到要迁移的服务器

进入mysql

1
mysql -u用户名 -p 

选择所要恢复的目标数据库

1
use 数据库名;	

数据导入

1
source 文件路径

Over

评论