• 締切済み

クラッシュからの復旧出来ない

ローカルに作られたMySQLのデータベースがあります。それは英語辞書をデータベース化したものです。 構造は head,body = 'computer', 'コンピューター' head,body = 'person', '人' ... という、単純なものです。 突然、使えなくなりました。 次の状態です。 mysql> SELECT body FROM dic WHERE head='computer'; ERROR 1194 (HY000): Table 'dic' is marked as crashed and should be repaired そこで、ネット情報を参考にして、 mysql> REPAIR TABLE dic; +--------------+--------+----------+-----------------------------------+ | Table | Op | Msg_type | Msg_text | +--------------+--------+----------+-----------------------------------+ | xxx.dic | repair | error | Table 'xxx.dic' is read only | +--------------+--------+----------+-----------------------------------+ 1 row in set, 1 warning (0.00 sec) としましたが、問題は解決されません。 どうすれば良いのでしょうか。

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5081/13278)
回答No.1

そのテーブルのデータが入ったファイルがread onlyの属性になっていると言われているので、ファイルのパーミッション等を確認しましょう。 このあたりが参考になるのではないでしょうか。 http://d.hatena.ne.jp/susan-style/20120914/1347602975

remokon
質問者

お礼

返答ありがとうございます ご指定のホームページに行ってみたのですが、 ご指定のページが見つかりません。 URLをもう一度お確かめ下さい。 と表示されました。

関連するQ&A

  • あるサイトが突然表示されなくなった

    VedicBooksというインドの本屋さんのサイトのFAQボタンをクリックしたところ、次のような画面が出て、それ以来、このサイトへのリンクをクリックしても、常にこの画面が出て、このサイトに入れません。 145 - Table './vbnet_db1/whos_online' is marked as crashed and should be repaired delete from whos_online where time_last_click < '1270899142' [TEP STOP] どうすればよいのでしょうか。 "delete from ..."とは、何をすればいいのでしょうか。

  • B9動画を見ようとするとエラーがでます。

    B9動画というサイトでアニメ(銀魂なんですが・・・)を見ようとするとこのようなエラーがでます↓ Error info: MySQL Query Error Time: 2010-11-27 6:30am Script: /search.php SQL: SELECT searchid, dateline, ('3'<>'0' AND useip='126.13.29.65' AND 1290839408-dateline<3) AS flood, (keywords='銀魂' AND expiration>'1290839408') AS indexvalid FROM [TableFront]searchcache WHERE ('3'<>'0' AND useip='126.13.29.65' AND searchtable='video' AND 1290839408-dateline<3) OR (keywords='銀魂' AND searchtable='video' AND expiration>'1290839408') ORDER BY flood Error: Table '[TableFront]searchcache' is marked as crashed and should be repaired Errno.: 1194 ほぼパソコン初心者に等しいのでググっても難しすぎて意味わかんないです だれかこんな僕に対処方法を教えてください

  • PHP+MySQL で検索結果を横並びに表示させたい

    PHPとMySQLを独学で勉強し始めたところなのですが 下記の様に書いてみたところ 結果(画像)の表示が縦並びになってしまいます。 どうにか横並びに表示できないでしょうか? <html> <head><title>タイトル</title></head> <body> <table> <?php $host = "localhost"; if (!$conn = mysql_connect($host, "ユーザー", "パス")){ die("MySQL接続エラー.<br />"); } mysql_select_db("データベース名", $conn); $sql = "SELECT * FROM 01_table WHERE on ='1'"; $res = mysql_query($sql,$conn); while($row = mysql_fetch_array($res)) { print("<tr>"); print("<td>".$row["img"]); print("</td>"); print("</tr>"); } mysql_free_result($res); ?> </table> </body> </html> ※01_tableのonには「0」か「1」を入れてあり  imgには 「<a href="リンク先アド"><img src="画像のアド"></a>」  を入れてあります。 基礎が無く、勘だけで作ってますので根本的に間違ってるかもしれないのですが よろしくお願いします。

    • ベストアンサー
    • MySQL
  • タグ組み、教えて下さい。

    ランダムにメッセージを表示する・・というのに挑戦中ですが、メッセージが出ません。 私の作ったソースは、こういうのです↓ ************************************************** <html> <head><title>占いの館^_^</title></head> <body background="image/0023.jpg"text="#000000"> <table><tr><td><img src="image/0024.gif"wigth="239"height="467"></td><td align="middle"> <SCRIPT language="JavaScript"> msg=new Array(); msg[0]="大吉"; msg[1]="中吉"; msg[2]="小吉"; msg[3]="吉"; msg[4]="凶"; i=Math.floor(Math.random() * msg.length); document.write(msg[i]);      </SCRIPT>   </td></tr></table> </center></body></html> ************************************************** 間違いが分からなくて、詰まってます>_< よろしくお願いします。。。

  • php+MYSQL

    タイトル 本文 書き込み後保存を押すと 下に書き込み保存されていく形です タイトル 本文 書き込み日時 タイトル 本文 書き込み日時 エラー自体は出てないのですが書き込みが反映されません val_dunpで調べたところ resource(7) of type (mysql result) > このように出てきましたなにか文自体に必要なものがないのでしょうか? <?php $link = mysql_connect('localhost','user','pass'); if (!$link) { die('接続に失敗しました。'.mysql_error()); } $db_selected = mysql_select_db('ogawa',$link); if(!$db_selected) { die('データベース選択に失敗しました。'.mysql_error()); } $res = mysql_query('SELECT * FROM test'); if (!$res) { die('クエリーが失敗しました。'.mysql_error()); } if ( $link !==false) { $msg =''; $err_msg =''; if ( isset( $_POST['send'] )=== true) { $subject =$_POST['subject']; $honbun =$_POST['honbun']; $kakikomi = $_POST['kakikomi']; if ( $subject !=='' && $honbun !=='' && $kakikomi !=='' ) { $query = " INSERT INTO test ( " ."subject," ."honbun," ."kakikomi," .") VALUES ( " . "'" . mysql_real_escape_string( $link, $subject ) ."', " . "'" . mysql_real_escape_string( $link, $honbun )."'," . "'" . mysql_real_escape_string( $link, $kakikomi)."'," ." ) "; $kakikomi = date('Y-m-d h:i:s'); $res = mysql_query($query,$link); if ($res !==false) { $msg = '書き込みに成功しました。'; }else{ $err_msg = '書き込みに失敗しました。'; } }else{ $err_msg = 'タイトルと本文を書き込んで下さい。'; } } $query = 'SELECT id,subject,honbun,kakikomi FROM test'; $res = mysql_query($query,$link); $data = array(); var_dump($res); if ($res) { while($row = mysql_fetch_assoc($res)) { array_push($data,$row); } } arsort($data); }else{ echo"データベースの接続に失敗しました"; } mysql_close($link); ?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF8;" /> </head> <body>> <table border="1"> <form action="test6.php" method="POST"> <tr><th>タイトル<td><input type="text" name="text" size="50"></td></tr> <tr><th>本文<td><textarea name="subject" cols="52" rows="8"></textarea> <tr><td><input type="submit" value="保存 する" /></td><tr> </table> </form> <?php if ($msg !=='')echo'<p>'.$msg.'</p>'; if ($err_msg !=='')echo'<p style="color:#f00;">'.$err_msg.'</p>'; foreach($data as $key =>$val) { echo $val['subject'].''.$val['honbun'].''.$val['kakikomi'].'<br>'; } ?> </body> </html>

  • SQLiteで全文検索はANDできない?

    環境は WindowsXP SP2 Python 2.7, sqlite3 です。 次のSQL文は成功します。 SELECT head, body FROM dic WHERE body MATCH 'foo bar' しかし、次がエラーになります。 SELECT head, body FROM dic WHERE body MATCH 'foo bar' AND head MATCH 'bar' 解決方法はありますか。

  • Insert文がうまく実行されません

    データベースへの書込みを試みています。 先日質問させていただき、この状態で問題なく動いているのですが 入力フィールドを増やすと送信後、send_data.phpのソースが表示されてしまいます。 どなたかよろしくお願いします。 【index.html】 <head><script LANGUAGE="JavaScript"> <!--// function check(){ var strMSG; strMSG = document.search.msg.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title></title>'); document.writeln('</head>'); document.writeln('<body>'); document.writeln('<form method="POST" action="send_data.php">'); document.writeln(strMSG); document.writeln('<input type="hidden" name="MSG" value="' + strMSG + '">'); document.writeln('<br>\n<br>\n<input type="submit" value="送信"> '); document.writeln('<input type="button" value="修正" onclick="history.back()">\n</form>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form name="search" method="POST"> ご意見<br> <textarea name="msg"></textarea><br> <input type="button" value=" 確認 " onClick="check()"> <input type=reset value=" 取消 "><br> </form></body> 【send_data.php】 <?php $con = mysql_connect("localhost","root",""); $selectdb = mysql_select_db("bri_db",$con); $sql = "insert into t_research(msg) values('$_POST[MSG]')"; mysql_query($sql,$con); mysql_close($con); ?> <html> <head></head> <body> 完了<br> <a href="index.html">続けて入力 </body> </html>

    • ベストアンサー
    • PHP
  • フォームからのデータ送信について

    プログラミングの初心者です。 以下のソースでフォーム画面を作成しました。 これでデータベースへの書き込みができるのかどうかを教えてください。 よろしくお願いします。 <head> <script LANGUAGE="JavaScript"> <!--// function check(){ var strMSG; strMSG = document.search.MSG.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title>送信内容確認</title>'); document.writeln('</head>'); document.writeln('<body>'); document.writeln('<form method="POST" action="send_data.php">'); document.writeln(Rsei); document.writeln(strMSG); document.writeln('<br>\n<br>\n<input type="submit" value="送 信"> '); document.writeln('<input type="button" value="修 正" onclick="history.back()">\n</form>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form name="search" method="POST"> ご意見お聞かせください<br> <textarea name="MSG"></textarea><br> <input type="button" value=" 確認 " onClick="check()"> <input type=reset value=" 取消 "><br> </form> </body> send_data.phpは以下の通りです。 <?php $con = mysql_connect("localhost","root",""); $selectdb = mysql_select_db("test",$con); $sql = "insert into table(msg) values('$_POST[MSG]')"; $result = mysql_query($sql,$con); mysql_free_result($result); mysql_close($con); ?> <html> <head><title>送信終了</title></head> <body>送信完了しました</body></html>

    • ベストアンサー
    • PHP
  • mysql_num_rowsなどのWarningの原因がわからない

    以下のプログラム、何が誤っているのでしょうか。 違う箇所で使ったPHPの使いまわし(そちらは問題なく動いている) なのですが、サーバー上で実行しても Warning: mysql_num_rows(): supplied argument is not a valid MySQL result ... Warning: mysql_free_result(): (以下同上) となり、どうしても原因が究明できません。。 以下、省略してますが、本質は変わりません。SQL文($sql)を phpMyAdminで通すとなんら問題なく問い合わせ結果が得られます。 <?php  $con = mysql_connect(localhost, username, pss);  $selectdb = mysql_select_db(mydb, $con);  $sql = "SELECT Kaisya FROM MYTABLE";  $rst = mysql_query($sql, $con);  $recmax = mysql_num_rows($rst);//■←この行がWarning■  $body = "<table border='1'>";  $body .= "<tr>";  $body .= "<td style=\"text-align: center;\">会社名</td>";  for ($recnum = 0; $recnum < $recmax; $recnum++) {   $col = mysql_fetch_array($rst);   $body .= "<tr>";   $body .= "<td>" . $col['Kaisya'] . "</td>";   $body .= "</tr>";  }  $body .= "</table>";  mysql_free_result($rst);//■←この行がWarning■  $con = mysql_close($con); ?> <html><head></head><body> <?= $body ?> </body></html>

    • ベストアンサー
    • PHP
  • Read Onlyで無かった

    今までの経緯は以下です: http://okwave.jp/qa/q8863196.html http://okwave.jp/qa/q8863915.html 実は、当該問題が消えました。 特段、対処はしていません。 その後、問題発生前と同様に使っていました。 そして先ほど、同問題が発生しました。 前回までの助言を参照し、データベース本体を発見しました。 C:>dir "C:\Program Files\MySQL\MySQL Server 5.0\data\XXX" /B db.opt dic.frm dic.MYD dic.MYI list.txt dic.MYDとdic.MYIの2つだと思われます。 そして、その両方が読み込み専用で無いことが分かりました。 もう殆ど諦めていますが、何か対処方法があってら教えて下さい。