MySQL移动式表空间(传输表空间)使用详解

  
  
  
  
  
  
  
  
  
  
        
      <李>   
         李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>      李   
     
  
     李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>      李   <李>   
  李   <李>   
  李   <李>   
  李   <李>   
  李   <李>      李         
  ③对mysql1的测试。tts表做平表操作,此时会多了一个cfg文件:         
      <李>   
         李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>      李   
     
  ④开多一个终端,在vm1上将ibd和cfg文件scp到vm2上:         
      <李>   
         李   <李>   
         李   <李>   
         李   <李>   
         李   <李>      李   
     
  ⑤将mysql1的test.tts表做解锁操作(此时可发现cfg文件已被删除):         
      <李>   
         李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>      李   
     
  ⑥在vm2上将传过来的ibd和cfg文件修改权限:         
      <李>      李   
        
     ⑦将上述ibd文件进口到tts表中:         
      <李>   
         李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>   
      李   <李>      李   
     
  至此,已经将mysql1实例上的tts表中数据快速地迁移到mysql2实例上了。
  
  <人力资源/>      
  会在表上加上MDL锁,删除改变缓冲区所有相关的缓存项,设置表元数据信息,标志表空间为删除状态,重新生成表的id,保证基于表id的操作后续均会失败,再将idb文件干掉,在②中的两次杜可以看到.idb文件已经被删除了。这是一个十分危险的操作,慎重;此操作也会被记录到binlog中,若在复制结构可能会有很大的影响,切记先临时关闭binlog。         
  在错误日志中体现了这个过程:
  
  
  
  
  
  
  在错误日志中记录为:
  
  
  
  
  在错误日志中记录为:
  
  
  
  
  
  
  
  
  刷新表old_table出口美元;(关闭该表,并且生成cfg文件)

MySQL移动式表空间(传输表空间)使用详解