1. 問題報錯:table is marked as crashed and should be repaired
2. 解析: 某些不可測的問題造成表的損壞(頻繁查詢和更新)。進而造成無法讀取資料。
3. 處理:
check table tbname -- 用來檢查出現問題的表的狀態,出現錯誤就正常(tbname--出現錯誤的表)repair table tbname -- 修理
check table tbname -- 用來檢查是否修理好
4. 情景 :由於同事清理乙個二十多g的表直接使用 truncate tbname 清理,導致資料庫程序堵塞,然後表被破壞。(原因不一定是這個原因,但結果是這個結果)
1. 問題 wait millis 60000, active 50, maxactive 50, creating 0, runningsqlcount 41
2. 解析: 資料庫活動的連線數與最大連線數相同,連線用完了,在等待新的連線,卻沒有新連線可用,然後超時了
3. 處理:查詢資料庫程序
show full processlist; --檢視資料庫程序kill 528094; -- 殺死堵塞程序(程序編號)
show open tables where in_use > 0; -- 檢視被鎖住的表
4. 情景 :資料庫表被破壞,然後修改表的sql程序堵塞,造成死鎖,複製堵塞語句,殺死堵塞程序,修復表,執行程序語句
總結:不當操作引起 ,錶壞了,阻塞了程序!!
報錯:
mysql> set global slow_query_log=on;開啟慢查詢日誌,報錯如下:error 29 (hy000): file '/data/log/mysql/slow.log' not found (errcode: 13 - permission denied
解決辦法:
# cd /data/log/mysql# touch slow.log
#chmod 777 -r slow.log
清空大量資料表技巧:
create table a like b ; -- 複製表結構drop table b ; -- 徹底刪除
alter table a rename to b ; -- 重新命名空表
資料庫可疑問題處理
今天oa系統資料庫 sql server2008 64位 提示可疑,參考網上資料進行了維護。原因 伺服器意外關閉後重啟 檢查 開啟 事件檢視器 檢視系統日誌 eventlog 6013 系統啟動時間為 26 秒。eventlog 6005 eventlog 6009 eventlog 6008 上一...
SQL SERVER資料庫使用問題處理
1.離線不了或要等很久 select from master.sys.sysprocesses where dbid db id 資料名 然後會查詢到具體有哪個在連線到此資料庫 直接kill spid的具體數值就可以了 kill 51 有些使用者連線可以在kill掉後自動重建,但期間有一段時間,如果...
sql 資料庫孤立問題處理
在從乙個資料庫服務把資料庫檔案複製到另乙個資料庫服務附加進去。解決方法 第一步 首先選擇新建的資料庫,進行 新建查詢操作 exec sp change users login report 查詢該資料庫是否為孤立使用者。如果有 username,userid會分別列出,孤立使用者名稱與孤立使用者id...