爲了測試,我最近幾乎每天都重新構建新設計的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)
還是一樣,沒有任何變化。
謝謝@Yak,我做了你的建議,但沒有任何改變。 – user1342336
這很奇怪。可能是一個愚蠢的問題,但我去...你確定你重新啓動了正確的服務器?也就是說,如果你發出「服務mysql停止」,mysql是否真的無法連接? – RandomSeed
我相信我重新啓動了正確的服務器。我只在我的Ubuntu中安裝了mysql 5.5。 – user1342336