虚拟主机销售热线 全国销售热线:0374-8380055
光宇网络技术支持 售后服务热线:(0)13949036533
客户中心
客户中心
  • 销售:点击这里给我发消息
  • 销售:点击这里给我发消息
  • 销售:点击这里给我发消息
  • 销售:点击这里给我发消息
  • 销售:请确保XP版本以上的Windows并安装好MSN,或者手动添加地址,在线时间:AM9:00-PM6:00
  • 销售:点击这里给我发消息
  • 客服:点击这里给我发消息
  • 支持:点击这里给我发消息
  • 因临时对话经常发生发送超时等现象而导致无法正常联系,或者无法正常显示在线状态,请您尽量加入好友来进行对话,给您带来的不便,敬请谅解.光宇网络感谢您的支持.
  • 最新活动
    光宇网络帮助中心
    •     光宇网络成立多年以来,专业从事虚拟主机服务器托管服务器合租服务器租用域名注册等业务,获得了大量客户的肯定,也正是这些可爱的客户,使我们的工作在多年来一直在不断的改进,并积累了丰富的虚拟主机,服务器相关的经验。再加上目前功能完善的虚拟主机管理软件,使的我们的工作更加方面,效率更高。但我们深知,只有本着不断为客户服务的理念,才能获得市场的认可。我们将继续努力,一如既往的为客户用心服务。
    检查和维护MYSQL数据库表 (3)
    发表日期:2008-01-11 11:13:20  作者:光宇网络  来源:www.wowidc.com  浏览次数:75  
    BR>  5) 再试试标准表修复方法。
      为了恢复该表的描述文件,可先从备份文件中恢复,然后再试着用标准修复方法。如果由于某些原因没有备份,但知道建立表的CREATE TABLE 语句,则仍可以恢复该文件:
      1) 定位到包含崩溃表的数据库目录中。
      2) 将该表的数据文件移动到安全的地方。如果想要使用索引的话,还需将索引文件移走。
      3) 调用mysql并发布CREATE TABLE 语句建立该表。
      4) 退出mysql,将原始数据文件移回数据库目录中,替换刚才新建的数据文件。如果在步骤2移动了索引文件,则也要将其移回数据库目录中。
      5) 再试试标准表修复方法。

    避免与MySQL服务器交互作用

      当您正在运行表的检查/修复实用程序时,您或许不想让MySQL服务器和实用程序同时访问一个表。如果两个程序都向表中写数据显然是一件坏事,但是,当一个程序在写入时另一个程序在读取也不是件好事。如果表正由一个程序写入,同时进行读取的另一个程序会被
    搞乱。
      如果您关闭服务器,就可以保证在服务器和myisamchk 或isamchk 之间没有交互作用。但是管理员极不愿意使服务器完全地脱机,因为这使得没有故障的数据库和表也不可用。本节中讨论的过程将帮助您避免服务器和myisamchk 或isamchk 之间的交互作用。
      服务器有两种类型的锁定方法。它使用内部锁定避免客户机的请求相互干扰──例如,避免客户机的SELECT 查询被另一个客户机的UPDATE查询所干扰。服务器还使用外部锁定(文件级锁)来防止其他程序在服务器使用表时修改该表的文件。通常,在表的检查操作中服务器将外部锁定与myisamchk 或isamchk 组合使用。但是,外部锁定在某些系统中是禁用的,因为它不能可靠地进行工作。对运行myisamchk 和isamchk 所选择的过程取决于服务器是否能使用外部锁定。如果不使用,则必须使用内部锁定协议。
      如果服务器用--skip-locking 选项运行,则外部锁定禁用。该选项在某些系统中是缺省的,如L i n ux。可以通过运行mysqladmin variables 命令确定服务器是否能够使用外部锁定。检查skip_locking 变量的值并按以下方法进行:
      如果skip_locking 为o ff,则外部锁定有效。您可以继续并运行任一个实用程序来检查表。服务器和实用程序将合作对表进行访问。但是,在运行任何一个实用程序之前,应该用mysqladmin flush-tables 刷新表的高速缓存。为了修复表,应该使用表的修复锁定协议。
      如果skip_locking 为o n,则禁用外部锁定,但在myisamchk 或isamchk 检查或修复一个表时服务器并不知道,最好关闭服务器。如果坚持使服务器保持开启状态,需要确保在您使用此表时没有客户机来访问它。必须使用恰当的锁定协议告诉服务器使该表独处,并阻塞客户机对其访问。
      这里所描述的锁定协议使用服务器的内部锁定机制,以防止服务器在您利用my i s a m c h k或isamchk 工作时访问表。通常的办法是调用mysql并对要检查或修复的表发布L O C K TABLE 语句。然后,在mysql空闲时(即运行,但除了保持该表锁定外不用它做任何事情),运行myisamchk 或i s a m c h k。在myisamchk 或isamchk 结束后,可以切换到mysql会话中并释放该锁以告诉服务器程序执行完毕此表可以再次使用了。
      检查和修复的锁定协议有点区别。对于检查,您只需要获得读锁。在这种情况下,只能读取表,但不能修改它,因此它也允许其他客户机读取它。读锁足以防止其他客户机修改表。对于修复,您必须获得写锁以防止任何客户机在您对表进行操作时修改它。
      锁定协议使用LOCK TABLE 和UNLOCK TABLE 语句获得并释放锁。协议还使用F L U S H TABLES 告诉服务器刷新磁盘中任何未决的改变,并
    [1] [2] [3] [4] [5]
  • 付款方式
  • 代理加盟
  • 有问必答
  • 工作机会
  • 帮助中心
  • 网站地图
  • 联系我们
  • 光宇网络真诚为您服务
    光宇网络提示您:遵纪守法,创建和谐的网络环境