虚拟主机销售热线 全国销售热线:0374-8380055
光宇网络技术支持 售后服务热线:(0)13949036533
客户中心
客户中心
  • 销售:点击这里给我发消息
  • 销售:点击这里给我发消息
  • 销售:点击这里给我发消息
  • 销售:点击这里给我发消息
  • 销售:请确保XP版本以上的Windows并安装好MSN,或者手动添加地址,在线时间:AM9:00-PM6:00
  • 销售:点击这里给我发消息
  • 客服:点击这里给我发消息
  • 支持:点击这里给我发消息
  • 因临时对话经常发生发送超时等现象而导致无法正常联系,或者无法正常显示在线状态,请您尽量加入好友来进行对话,给您带来的不便,敬请谅解.光宇网络感谢您的支持.
  • 最新活动
    光宇网络帮助中心
    •     光宇网络成立多年以来,专业从事虚拟主机服务器托管服务器合租服务器租用域名注册等业务,获得了大量客户的肯定,也正是这些可爱的客户,使我们的工作在多年来一直在不断的改进,并积累了丰富的虚拟主机,服务器相关的经验。再加上目前功能完善的虚拟主机管理软件,使的我们的工作更加方面,效率更高。但我们深知,只有本着不断为客户服务的理念,才能获得市场的认可。我们将继续努力,一如既往的为客户用心服务。
    检查和维护MYSQL数据库表 (4)
    发表日期:2008-01-11 11:13:20  作者:光宇网络  来源:www.wowidc.com  浏览次数:75  
    在通过表修复实用程序修改表后重新打开该表。您必须从单个mysql会话中执行所有L O C K、FLUSH 和UNLOCK 语句。如果锁定一个表然后退出mysql,则该锁将释放,且运行myisamchk 或isamchk 将不再是安全的!
      如果保持打开两个窗口的状态,且一个运行mysql,而另一个运行myisamchk 或i s a m c h k,则运行锁定过程将会变得很容易。这样允许您很容易地在程序之间进行切换。如果不是运行在视窗环境中,当运行myisamchk 或isamchk 时,将需要使用外壳程序的作业控制工具暂停和恢复mysql。下面的指导显示出对myisamchk 或isamchk 的命令,可用与您正在使用的表相对应的那个命令。
      1. 对检查操作锁定表
      此过程只针对表的检查,不针对表的修复。在窗口1中,调用mysql并发布下列语句:
      % mysqldb_name
      mysql>LOCK TABLE tbl_name READ;
      mysql>FLUSH TABLES;
      该锁防止其他客户机在检查时写入该表和修改该表。FLUSH 语句导致服务器关闭表的文件,它将刷新仍然在高速缓存中的任何未写入的改变。
      当mysql空闲时,切换到窗口2 并检查该表:
      % myisamchk tbl_name
      % isamchk tbl_name
      当myisamchk 或isamchk 结束时,切换回到窗口1的mysql会话并释放该表锁:
      mysql>UNLOCK TABLE;
      如果myisamchk 或isamchk 指出发现该表的问题,将需要执行表的修复。
      2. 对修复操作锁定表
      修复表的锁定过程类似于检查表的过程,但有两个区别。第一,您必须得到写锁而非读锁。由于您将要修改表,因此根本不允许客户机对其进行访问。第二,必须在执行修复之后发布FLUSH TABLE 语句,因为myisamchk 和isamchk 建立了新的索引文件,除非再次刷新
    该表的高速缓存否则服务器将不会注意到它:
      % mysqldb_name
      mysql>LOCK TABLE tbl_name WRITE;
      mysql>FLUSH TABLES;
      利用mysql的空闲切换到窗口2,做该表的数据库文件的拷贝,然后运行myisamchk 或i s a m c h k:
      % cp tbl_name.* |some|other|directory
      % myisamchk --recover tbl_name
      % isamchk --recover tbl_name
      --recover 选项只是针对安装而设置的。这些特殊选项的选择将取决于您执行修复的类型。myisamchk 或isamchk 运行完成后,切换回到窗口1的mysql会话,再次刷新该表的高速缓存并释放表锁:
      mysql>FLUSH TABLES;
      mysql>UNLOCK TABLE;

    快速运行myisamchk 和i s a m c h k

      myisamchk 和isamchk 的运行可能会花很长时间,尤其是您正在处理一个大表或使用一个更广泛的检查或修复方法时。通过告诉这些程序在运行时使用更多的内存,能够提高它们的速度。这两个实用程序都有几个可设置的操作参数。其中最重要的是控制程序使用的缓冲
    区大小的变量:

    变量 含义
    key _ buffer _ s i z e 用于存放索引块的缓冲区大小
    r e a d _ buffer _ s i z e 读操作用的缓冲区大小
    sort _ buffer _ s i z e 排序用的缓冲区大小
    w r i t e _ buffer _ s i z e 写操作用的缓冲区大小

      要想查看任一个程序使用的这些变量的缺省值,可用--help 选项运行该程序。要想指定其他的值,可在该命令上使用--set-variable variable=value 或-O variable=value。您可以将变量的名字简化成key、r e a d、sort 和w r i t e。例如,可告诉myisamchk 使用16MB 的排序缓冲区和1MB 的读写缓冲区,其调用如下:
      % myisamchk -0 sort=16M -0 read=1M write=1M ...
      sort _ buffer_size 只能利用--recover 选项来使用(而不是利用-
    [1] [2] [3] [4] [5]
  • 付款方式
  • 代理加盟
  • 有问必答
  • 工作机会
  • 帮助中心
  • 网站地图
  • 联系我们
  • 光宇网络真诚为您服务
    光宇网络提示您:遵纪守法,创建和谐的网络环境