真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql怎么重建表格,數(shù)據(jù)庫表重建方法

怎樣修復(fù)mysql表

也許很多人遇到過類似Can’t open file: ‘[Table]mytable.MYI’ 這樣的錯(cuò)誤信息,卻不知道怎么解決他,下面我們做個(gè)介紹,

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都做網(wǎng)站、封丘網(wǎng)絡(luò)推廣、小程序開發(fā)、封丘網(wǎng)絡(luò)營銷、封丘企業(yè)策劃、封丘品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供封丘建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

多數(shù)情況下,數(shù)據(jù)庫被破壞只是指索引文件受到了破壞,真正的數(shù)據(jù)被破壞掉的情況非常少。大多數(shù)形式的數(shù)據(jù)庫破壞的的修復(fù)相當(dāng)簡單。

和前面的校驗(yàn)一樣,修復(fù)的方式也有三種。

下面講的方法只對(duì)MyISAM格式的表有效。其他類型的損壞需要從備份中恢復(fù)。

1,REPAIR TABLE SQL statement(mysql服務(wù)必須處于運(yùn)行狀態(tài))。

2,命令mysqlcheck(mysql服務(wù)可以處于運(yùn)行狀態(tài))。

3,命令myisamchk(必須停掉mysql服務(wù),或者所操作的表處于不活動(dòng)狀態(tài))。

在修復(fù)表的時(shí)候,最好先作一下備份。所以你需要兩倍于原始表大小的硬盤空間。請(qǐng)確保在進(jìn)行修復(fù)前你的硬盤空間還沒有用完。

1用”repair table”方式修復(fù)

語法:repair table 表名 [選項(xiàng)]

選項(xiàng)如下:

QUICK 用在數(shù)據(jù)表還沒被修改的情況下,速度最快

EXTENDED 試圖去恢復(fù)每個(gè)數(shù)據(jù)行,會(huì)產(chǎn)生一些垃圾數(shù)據(jù)行,萬般無奈的情況下用

USE_FRM 用在.MYI文件丟失或者頭部受到破壞的情況下。利用.frm的定義來重建索引

多數(shù)情況下,簡單得用”repair table tablename”不加選項(xiàng)就可以搞定問題。但是當(dāng).MYI文件丟失或者頭部受到破壞時(shí),這樣的方式不管用,例如:

mysql REPAIR TABLE mytable;

+————————-+——–+———-+———————————————+

| Table | Op | Msg_type | Msg_text |

+————————-+——–+———-+———————————————+

| sports_results.mytable | repair | error | Can’t find file: ‘mytable.MYI’ (errno: 2) |

+————————-+——–+———-+———————————————+

修復(fù)失敗的原因時(shí)索引文件丟失或者其頭部遭到了破壞,為了利用相關(guān)定義文件來修復(fù),需要用USE_FRM選項(xiàng)。例如:

mysql REPAIR TABLE mytable USE_FRM;

+————————-+——–+———-+————————————+

| Table | Op | Msg_type | Msg_text |

+————————-+——–+———-+————————————+

| sports_results.mytable | repair | warning | Number of rows changed from 0 to 2 |

| sports_results.mytable | repair | status | OK |

+————————-+——–+———-+————————————+

我們可以看到Msg_test表項(xiàng)的輸出信息”ok”,表名已經(jīng)成功修復(fù)受損表。

2用mysql內(nèi)建命令mysqlcheck來修復(fù)

當(dāng)mysql服務(wù)在運(yùn)行時(shí),也可以用mysql內(nèi)建命令mysqlcheck來修復(fù)。

語法:mysqlcheck -r 數(shù)據(jù)庫名 表名 -uuser -ppass

%mysqlcheck -r sports_results mytable -uuser -ppass

sports_results.mytable OK

利用mysqlcheck可以一次性修復(fù)多個(gè)表。只要在數(shù)據(jù)庫名后列出相應(yīng)表名即可(用空格隔開)?;蛘邤?shù)據(jù)庫名后不加表名,將會(huì)修復(fù)數(shù)據(jù)庫中的所有表,例如:

%mysqlcheck -r sports_results mytable events -uuser -ppass

sports_results.mytable OK

sports_results.events OK

%mysqlcheck -r sports_results -uuser -ppass

sports_results.mytable OK

sports_results.events OK

3用myisamchk修復(fù)

用這種方式時(shí),mysql服務(wù)必須停掉,或者所操作的表處于不活動(dòng)狀態(tài)(選項(xiàng)skip-external-locking沒被使用)。記著一定要在相關(guān).MYI文件的路徑下或者自己定義其路徑。

語法:myisamchk [選項(xiàng)] [表名]

下面是其選項(xiàng)和描述

–backup, -B 在進(jìn)行修復(fù)前作相關(guān)表得備份

–correct-checksum 糾正校驗(yàn)和

–data-file-length=#, -D # 重建表時(shí),指定數(shù)據(jù)文件得最大長度

–extend-check, -e 試圖去恢復(fù)每個(gè)數(shù)據(jù)行,會(huì)產(chǎn)生一些垃圾數(shù)據(jù)行,萬般無奈的情況下用

–force, -f 當(dāng)遇到文件名相同的.TMD文件時(shí),將其覆蓋掉。

keys-used=#, -k # 指定所用的keys可加快處理速度,每個(gè)二進(jìn)制位代表一個(gè)key.第一個(gè)key為0

–recover, -r 最常用的選項(xiàng),大多數(shù)破壞都可以通過它來修復(fù)。如果你的內(nèi)存足夠大,可以增大參數(shù)sort_buffer_size的值來加快恢復(fù)的速度。但是遇到唯一鍵由于破壞而不唯一 的表時(shí),這種方式不管用。

–safe-recover -o 最徹底的修復(fù)方式,但是比-r方式慢,一般在-r修復(fù)失敗后才使用。這種方式讀出 所有的行,并以行為基礎(chǔ)來重建索引。它的硬盤空間需求比-r方式稍微小一點(diǎn),因 為它沒創(chuàng)建分類緩存。你可以增加key_buffer_size的值來加快修復(fù)的速度。

–sort-recover, -n mysql用它類分類索引,盡管結(jié)果是臨時(shí)文件會(huì)非常大

–character-sets-dir=… 包含字符集設(shè)置的目錄

–set-character-set=name 為索引定義一個(gè)新的字符集

–tmpdir=path, -t 如果你不想用環(huán)境變量TMPDIR的值的話,可以自定義臨時(shí)文件的存放位置

–quick, -q 最快的修復(fù)方式,當(dāng)數(shù)據(jù)文件沒有被修改時(shí)用,當(dāng)存在多鍵時(shí),第二個(gè)-q將會(huì)修改 數(shù)據(jù)文件

–unpack, -u 解開被myisampack打包的文件

myisamchk應(yīng)用的一個(gè)例子

% myisamchk -r mytable

- recovering (with keycache) MyISAM-table ‘mytable.MYI’

mysql如何在某個(gè)指定的數(shù)據(jù)庫中建表

1、首先打開mysql命令行編輯器。

2、打開之后輸入密碼,連接數(shù)據(jù)庫。

3、在命令行里先查看一下所有數(shù)據(jù)庫,是否有想要操作數(shù)據(jù)庫。

4、接著輸入指令“use?sss”使用想要?jiǎng)?chuàng)建表的數(shù)據(jù)庫。

5、接下來在表里面輸入數(shù)據(jù)列,使用create命令創(chuàng)建表,括號(hào)內(nèi)是表的類目名。

6、最后,輸入指令“show tables?”,就可以剛剛查看在數(shù)據(jù)庫中創(chuàng)建的表了。

請(qǐng)教一個(gè)mysql建表

打開MYSQL,如下。

首先必須在一個(gè)數(shù)據(jù)庫里面工作,所以你必須創(chuàng)建一個(gè)數(shù)據(jù)庫。利用create database +(數(shù)據(jù)庫名稱),來出創(chuàng)建數(shù)據(jù)庫。(紅色是輸入的代碼,綠色是電腦反饋的語句)

創(chuàng)建好了必須使用它,利用 use +(數(shù)據(jù)庫名稱) ?語句。(紅色是輸入的代碼,綠色是電腦反饋的語句)

你在這里可以熟悉一下顯示數(shù)據(jù)庫的語句,查看自己有多少個(gè)已經(jīng)創(chuàng)建的數(shù)據(jù)庫

(紅色是輸入的代碼,綠色是電腦反饋的語句)

接著可以創(chuàng)建表格了。利用create table +(表格名稱)。(紅色是輸入的代碼,綠色是電腦反饋的語句)

6

顯示如上(紅色是輸入的代碼,綠色是電腦反饋的語


名稱欄目:mysql怎么重建表格,數(shù)據(jù)庫表重建方法
轉(zhuǎn)載源于:http://weahome.cn/article/dsgeghp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部