1 #!/bin/bash2#此指令碼的主要用途是檢測mysql伺服器上所有的db或者單獨db中的壞表
3#變數說明 pass mysql賬戶口令 name mysql賬號名稱 data_path mysql目錄路徑 directory_list 目錄列表 file_list檔案列表 db_name 資料庫名稱 repair_count單庫中待修復的表總數
4#變數說明 repair_count_all所有庫中待修復的表總數 mysql_version mysql版本 _file_name 資料表名稱
5echo -e "
此指令碼的主要用途是檢測mysql伺服器上所有的資料庫或者單獨資料庫中的壞表\n\n
"6 pass=123456
7 name=root
8 read -p "
輸入mysql儲存路徑:
"choose
9 data_path=$choose
10unset choose
11 read -p "
請輸入mysql命令路徑:
"mysql_version
12 #標準輸入、標準輸出、標準錯誤輸出的檔案標示符 由 0、1
、2標識
13 read -p "
請選擇是檢查伺服器上所有資料庫還是指定的資料庫 1:檢查全部資料庫 2:只檢查指定資料庫:
"choose
14if[ $choose ==1];then
15cd $data_path
16for directory_list in $(ls)17
do18
if[-d $directory_list ];then
19if["
mysql
"!="
$"-a "
test
"!="
$"];then
20cd $
21echo
"當前檢查資料庫為:"$
22for file_list in $(ls *.frm)
23do
24 _file_name=$
25echo -e "
\n">>/tmp/check_table_all.log
26 $-h 127.0.0.1-u$-p$-e "
check table
"$.$2>&1>>/tmp/check_table_all.log
27done
28cd ..
29fi
30fi
31done
32cat /tmp/check_table_all.log | grep
"table is marked as crashed
">/tmp/check_table_repair.log
33 repair_count_all=` awk
'end
' /tmp/check_table_repair.log `
34echo -e "
所有資料庫用有$張表需要修復!"35
more /tmp/check_table_repair.log
36else
37 read -p "
請輸入要檢查的資料庫名稱:
"db_name
38 cd $/$
39for file_list in $(ls *.frm)
40do
41 _file_name=$
42echo -e "
\n">>/tmp/check_$.log
43 $-h 127.0.0.1-u$-p$-e "
check table
"$.$_file_name 2>&1>>/tmp/check_$.log
44done
45cat /tmp/check_$.log | grep
"table is marked as crashed
">/tmp/check_$_repair.log
46 repair_count=`awk
'end
' /tmp/check_$_repair.log`
47echo -e "
$中共有$個表需要修復!\n "48
more /tmp/check_$_repair.log
49fi
來自為知筆記(wiz)
檢查資料庫是否存在某物件(SQLserver)
objectproperty 返回當前資料庫中物件的有關資訊 語法 objectproperty id property 例如 objectproperty object id n authors n istable 1 或select from dbo.sysobjects where objec...
mysql判斷資料庫或表是否存在
1 判斷資料庫存在,則刪除 drop database if exists db name 2 判斷資料表存在,則刪除 drop table if exists table name 注 db name,table name可用 1鍵旁邊那個鍵 號引起來,也可不引起來.1 如果單純顯示是否存在資料庫...
判斷資料庫中表是否存在
sql server if exist select from sysobjects where id object id table1 then drop table1 if exists select top 1 id from tablename1 用 if exists select 1 f...