参考资料:
https://www.cnblogs.com/advocate/archive/2013/11/19/3431606.html
本文要解决的一个问题是数据库文件进行物理迁移时遇到的问题。
首先,创建一个数据库文件:
create database guojun;
use guojun;
create table Students(id int UNSIGNED AUTO_INCREMENT, name VARCHAR(20), sex CHAR(1), PRIMARY KEY (id));
insert into Students values(0, 'S1','M');
其中, insert into Students values(0, 'S1','M'); 语句可以重复输入,比如输入10多次。
在本机中安装了两个MySQL数据库(A B),相同配置,其中 B 是 从 A 中 copy过来的, 然后对两个数据库初始化(先初始化A,然后停止A服务,再初始化B,然后停止B服务),然后再开启A服务,执行上面的SQL语句。
其中 A为上图 mysql, B 为上图 mysql2 。
然后停掉A服务。
根据 网上的资料, 即 : https://www.cnblogs.com/advocate/archive/2013/11/19/3431606.html
中的方案三进行操作。
其中,操作三具体为:
面介绍一下第三种方案d迁移步骤:
- 保证Mysql版本一致,安装配置基本一致(注意:这里的数据文件和库表结构文件都指定在同一目录data下)
- 停止两边的Mysql服务(A服务器--迁移-->B服务器)
- 删除B服务器Mysql的data目录下所有文件
- 拷贝A服务器Mysql的data目录下除了ib_logfile和.err之外的文件到B服务器data下
- 启动B服务器的Mysql服务,检测是否发生异常
启动 B 服务:
发现报错。
总之,发现 采用如此方式进行数据迁移 虽然速度极快,但是往往会出现很多不确定的问题,如果没有较深的对MySQL的具体设计的了解往往会出现错误,这里也是建议大家不要采用这种方式进行迁移,本人进行此种方式也是花费了数个小时,最终还是报出错误。