经常会遇到mysql数据要迁徙的情况 ,逻辑导出是可以的 但是就是太慢 第三方工具也同样可以用 也是操作麻烦,最简单粗暴的方式就是直接拷贝物理文件来的最快 也很简单 当然 前提是远程服务器和目标服务器是相同的文件系统和mysql版本,不然还是没法这么干的 ,可以参考MySQL数据库迁移(直接复制文件),参考是参考,还是要动手实践。
1、拷贝目标数据库文件 拷贝方式也是很多,可以用ftp,scp,rcp,rsync 参考:linux服务器之间传输文件的四种方式,这里我采用rsync
[root@localhost mysql]# service mysqld stop [root@localhost mysql]# cp -a /var/lib/mysql /home/mysql
*****记得把数据/home/mysql目录下的ib_logfile(这个有待进一步验证 最好是操作前做好备份)和.err文件删除
目标服务器的数据目录替换 首先停止mysql并对数据目录进行备份以防止操作失败能回滚 [root@localhost mysql]# service mysqld stop [root@localhost mysql]# mv /var/lib/mysql /var/lib/mysql_bak
从源服务器上拷贝备份文件到目标服务器:
[root@localhost lib]# rsync -r /home/mysql root@192.168.153.44:/var/lib/ root@192.168.153.44‘s password: skipping non-regular file “mysql/mysql.sock”
不要忘记参数 -r 需要输入一次拷贝文件的目标服务器密码 就是192.168.153.44的密码,拷贝结束去目标服务器上看下文件是不是缺