首页 > 数据库 > MySQL > 正文

修复MYSQL可能会使用到的实用程序列表

2024-07-24 12:40:04
字体:
来源:转载
供稿:网友

因为myisamchk有许多功能,它在其自己的章节中描述。

make_binary_release 制作一个编译MySQL的一个二进制的版本。这能用FTP传送到在ftp.tcx.se网站的“/pub/mysql/Incoming”以方便其它MySQL用户。

msql2mysql
一个外壳脚本,转换mSQL程序到MySQL。它不能处理所有的情况,但是当转换时,它给出一个好起点。

mysql
mysql是一个简单的SQL外壳(具有GNU readline 能力),它支持交互式和非交互式使用。当交互地使用时,查询结果以ASCII表的格式被表示。当非交互地使用时(例如,作为一个过滤器),结果是以定位符分隔的格式表示。(输出格式可以使用命令行选项改变)你可以简单地象这样运行脚本:
shell> mysql database < script.sql > output.tab

如果你在客户中由于内存不足造成问题,使用--quick选项!这迫使mysql使用mysql_use_result()而非mysql_store_result()来检索结果集合。

mysqlaccess
一个脚本,检查对主机、用户和数据库组合的存取权限。

mysqladmin
执行管理操作的实用程序,例如创建或抛弃数据库,再装载授权表,清洗表到磁盘中和再打开日志文件。mysqladmin也可以被用来从服务器检索版本,进程和状态信息。见12.2 管理一个 MySQL 服务器。

mysqlbug
MySQL错误报告脚本。当填写一份错误报告到MySQL邮件列表时,应该总是使用该脚本。

mysqld
SQL守护进程。它应该一直在运行。

mysqldump
以SQL语句或定位符分隔的文本文件将一个MySQL数据库倾倒一个文件中。这是最早由Igor Romanenko编写的自由软件的增强版本。见12.3 从MySQL数据库和表倾倒结构和数据。

mysqlimport
使用LOAD DATA INFILE将文本文件倒入其各自的表中。见12.4 从文本文件导入数据。

mysqlshow 显示数据库,表,列和索引的信息。

mysql_install_db 以缺省权限创建MySQL授权表。这通常仅被执行一次。就是在系统上第一次安装MySQL时。

replace 一个实用程序,由msql2mysql使用,但是有更一般的适用性。replace改变文件中或标准输入上的字符串。使用一台有限状态机首先匹配更长的字符串,能被用来交换字符串。例如,这个命令在给定的文件中交换a和b:
shell> replace a b b a -- file1 file2 ...

safe_mysqld 一个脚本,用某些更安全的特征启动mysqld守护进程,例如当一个错误发生时,重启服务器并且记载运行时刻信息到一个日志文件中。
--------------------------------------------------------------------------------


注意:在修复表之前要拷贝他们,注意备份,切记! 

1.标准的表修复 
a.试着用  --recover选项修复表,可以加上  --quick选项试图只根据索引的内容进行修复,这样做不触及数据文件。 
    %  myisamchk  --recover  --quick  table_name 
    or   
    %  myk  --recover  --quick  table_name 
b.如果问题还存在,在试一下上一步命令,但是要忽略  --quick选项,这样允许修改数据文件。 
    %  myisamchk  --recover  table_name 
    or   
    %  myimchk  --recover  table_name 
c.如果还不工作,试一下  --safe-recover  修复方法。但这种方法比普通方法要慢,但能修复  --recover不能修复的问题。 
    %  myisamchk  --safe-recover  table_name 
    or   
    %  myisamchk  --safe-recover  table_name 
如果在myisamchk  or  isamchk  由于一个"can't  create  new  temp  file:file_name"的错误消息在任何一步停止,应该重复该命令并 
加入  --force选项强迫清除临时文件。 

2.如果标准修复失败这样做 
a.定位到包含崩溃表的数据库目录中。 
b.将该表的数据文件移到安全的地方。 
c.调用mysql并通过执行下列语句重新创建新的空表,该语句使用表的描述文件 
    tbl_name.frm重新开始生成新的数据和索引文件。 
    mysql>delete  from  tbl_name; 
d.退出mysql,将原始的数据文件移回到数据目录中,替换刚建的新的空文件。 
e.在世这样用标准修复方法。 

为了修复表的描述文件,可先从备份文件中恢复,然后再用标准修复方法。 
如果由于某些原因没有备份,如果知道create  table  语句,仍然可以恢复该文件: 
a.定位到包含崩溃表的数据库目录中。 
b.将该表的数据文件移到安全的地方。如果想使用用索引的话,还需要把索引文件移走。 
c.调用mysql  发布create  table  语句重建表。 
d.退出mysql,将原始的数据文件移回到数据目录中,替换刚才新建的数据文件。如果在第2不中移动了索引文件,则也要讲起移回到数据库目录中。 
e.在尝试标准表修复方法。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表