2013-05-22 18 views
0

爲了測試,我最近幾乎每天都重新構建新設計的MySQL數據庫,我也有一個基於此的Php應用程序。對於我的瞭解,一些系統變量值已累計在每個重建,如:如何在mysql數據庫重建後清空或清除一些系統變量值?

mysql> show global status like '%tmp%'; 
+-------------------------+-------+ 
| Variable_name   | Value | 
+-------------------------+-------+ 
| Created_tmp_disk_tables | 14062 | 
| Created_tmp_files  | 437 | 
| Created_tmp_tables  | 20854 | 
+-------------------------+-------+ 
3 rows in set (0.00 sec) 

Created_tmp_disk_tables和Created_tmp_tables正在成長不斷地根據每個重建。當然還有其他一些變量做同樣的事情。我想知道如何在每次重建中安全地清理它們,所以我們不會被這些價值所欺騙。我們將看到真正的價值。

如果問題不明確,請隨時告訴我。謝謝。

測試@ dwjv的建議後,做 '刷新狀態',得到了:

mysql> flush status; 
Query OK, 0 rows affected (0.02 sec) 

mysql> show global status like '%tmp%'; 
+-------------------------+-------+ 
| Variable_name   | Value | 
+-------------------------+-------+ 
| Created_tmp_disk_tables | 14062 | 
| Created_tmp_files  | 0  | 
| Created_tmp_tables  | 20856 | 
+-------------------------+-------+ 
3 rows in set (0.00 sec) 

變量 'Created_tmp_files' 被清除,但另外兩個沒有改變。 '刷新狀態'只會重置會話狀態,一些但不是所有的全局狀態變量。

mysql> show status like '%tmp%'; 
+-------------------------+-------+ 
| Variable_name   | Value | 
+-------------------------+-------+ 
| Created_tmp_disk_tables | 0  | 
| Created_tmp_files  | 0  | 
| Created_tmp_tables  | 0  | 
+-------------------------+-------+ 
3 rows in set (0.00 sec) 

然後我followd &犛牛的建議 '的服務mysql的重啓',得到了:

mysql> show global status like '%tmp%'; 
+-------------------------+-------+ 
| Variable_name   | Value | 
+-------------------------+-------+ 
| Created_tmp_disk_tables | 14062 | 
| Created_tmp_files  | 0  | 
| Created_tmp_tables  | 20857 | 
+-------------------------+-------+ 
3 rows in set (0.00 sec) 

還是一樣,沒有任何變化。

回答

1

您只需重新啓動服務器即可。

+0

謝謝@Yak,我做了你的建議,但沒有任何改變。 – user1342336

+0

這很奇怪。可能是一個愚蠢的問題,但我去...你確定你重新啓動了正確的服務器?也就是說,如果你發出「服務mysql停止」,mysql是否真的無法連接? – RandomSeed

+0

我相信我重新啓動了正確的服務器。我只在我的Ubuntu中安裝了mysql 5.5。 – user1342336

2
FLUSH STATUS; 

這將刷新許多全局變量。

+0

謝謝,我剛剛那樣做,看到我的更新。 – user1342336