迁移数据库文件到另一台服务器
数据恢复
新开了一台虚拟机,把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