1.我把服务器的mysql分区文件传到我客户端,外面的mysql数据库读取分区文件,我是用跟服务器的id一样的来处理(就是先创建分区,然后覆盖读取),这个有什么更好的解决方案吗?因为分区id去对应很容易出错。看后面就知道。
2.就是Mysql是文件流的数据库,有的时候我在读取数据的时候,因为非法关闭程序或者关机,会照成我当前的处理的mysql文件分区破坏点,而且我mysql分区是按顺序的,如果中间一个出错后面就执行不下去了,这个要怎么办呢?我现在是这样处理的,这个被破坏的分区Id丢弃掉,从id+1再重新开始开始。可是这个不怎么合理。
3.我原来想用表结构一样的表,然后分区id改名覆盖,可是这样多次覆盖很有问题,会出现ERROR 1194 (HY000): Table 'user' is ed as crashed and should be repaired错误 有什么更好的方案吗
高手们指点下  谢谢

解决方案 »

  1.   

    楼主看下手册的第18章:分区
    18.3. 分区管理
    18.3.1. RANGE和LIST分区的管理
    18.3.2. HASH和KEY分区的管理
    18.3.3. 分区维护
    18.3.4. 获取关于分区的信息看看有帮助没.
      

  2.   


    就是我服务器传出来的分区文件,我客户端向实时读取覆盖读取,不会出现错误。避免其他非法因素,能一直顺利的执行下去。
    过程是这样,我服务器传出的文件,我客户端,跟服务器分区id一致,创建读取然后删除分区,然后一直重复。可是就有按id会出现重新因为某些异常导出下面不能顺利下去。 3点是我另外思路,不要跟服务器分区Id统一的来,可是不能多次覆盖。
      

  3.   

    仍然没看明白。你的计算机A,上有MYSQL数据库,其中有一个分区表T,则相对应文件有 t.frm, t.par,t#P#p0.MYD,t#P#p0.MYI ...... 然后你要做什么? 你的客户机 B ?
    问题说明越详细,回答也会越准确!参见如何提问。(提问的智慧
      

  4.   

    我计算机A 表test是分区表  有问题test#P#p0.MYI test#P#p0.MYD test#P#p1.MYI test#P#p1.MYD ....然后我把计算机A 的 test#P#p0.MYI test#P#p0.MYD test#P#p1.MYI test#P#p1.MYD ....传到计算机B计算机B 我建了一个同样的test空分区表  然后从0开始创建分区 然后 test#P#p0.MYI test#P#p0.MYD 
    覆盖 读取 再删除分区0 新建分区1 有个配置文件保存这个id 然后就循环执行下去可是有的时候 就出现比如 分区id=3在读取的时候 机器关闭的  后面就照成 id=4以后的值 就执行不下去了
      

  5.   

    是这样子的我服务器A就是一直往mysql插入数据的
    可是如果读取也在上面的会就会照成插入的时候 有的数据插入不了 因为插入的数据量是非常大的所以我是用分区  把test的分区文件传出去 服务器B就是 把分区文件一个个读取 然后分类归档 归类后我就把分区文件给删除掉了再读取下一个分区文件  
    现在问题就是我分区文件是按顺序下来的 现在出现因非法关机什么原因呢 照成其中一个分区文件被破坏了
    这样我后面的分区文件可以覆盖 但是读取不了 这样怎么解决 我处理是重新初始化 可是这样感觉不怎么好 想问大家好什么好的解决方案 
    我上面说的第三点 就是另外一个方案 可是也是有点问题的 想咨询大家好什么好的方案
      

  6.   

    http://dev.mysql.com/doc/refman/5.1/zh/replication.htmlhttp://dev.mysql.com/doc/refman/5.1/zh/replication.html
      

  7.   


    可是复制的话 服务器还是保存数据呀 复制的肯定会占用mysql的性能吧
    我原来考虑分区就是想 直接移除 就可以了 不会影响mysql性能