在A机器上有个库,想要移动到B机器上去,SQLServer 有附加数据库选项,那么mysql 是否能像SQL Server 那样附加数据库呢,答案是可以的
其实mysql的数据文件移动,也是很方便,首先要准备要移动的数据库
1.关闭数据库的连接,计算机-》管理-》服务-》找到mysql 关闭
2,找到要移动的数据源A,一般默认路径是C:\ProgramData\MySQL\MySQL Server 5.7\Data 首先要备份,然后在副本中删除.err错误文件
3.B机同样先关闭服务,方式如上。
4.找到B机数据库所存放的路径,一般默认路径是C:\ProgramData\MySQL\MySQL Server 5.7\Data ,也要先备份下(有备无患嘛)
然后把A机的数据源拷贝到这个文件夹下,注意一定要将ibdata1数据文件拷贝过去,如果只是移动了库的文件夹,没有带ibdata1文件,那么会出现下面的错误:
能看到有这个表,但是不能使用,把ibdata文件拷贝过去后就行了
show tables;
+—————————–+
| Tables_in_slow_query_log |
+—————————–+
| global_query_review |
| global_query_review_history |
+—————————–+
2 rows in set (0.00 sec)
select count(*) from global_query_review;
ERROR 1146 (42S02): Table ‘slow_query_log.global_query_review’ doesn’t exist
然后同样的计算机->管理-》服务-》找到Mysql服务重新启动
如果是有多个实例上的文件想要拷贝到同一个实例上,那么上面的额方法就不行了,需要使用传输表空间拷贝了
利用navcait很方便的可以导出数据和表结构