ApsaraDB RDS for MySQL örneğinizdeki veri dosyaları depolama kapasitesini doldurduğunda RDS, veri kaybını önlemek amacıyla örneği otomatik olarak kilitler. Örnek kilitliyken RDS örneğinize veri yazamazsınız.
Örneğin kilidini açmak için depolama kapasitesini genişletin veya geçmiş ve gereksiz verileri silin. Sorunu çözdükten sonra sorunun tekrar yaşanmaması için otomatik depolama genişletmeyi yapılandırın.
Ön koşullar
Veri dosyalarını silmeden önce örneğinizin küçük sürümünü kontrol edin. Örneğiniz MySQL 5.6, 5,7 veya 8,0 çalıştırıyorsa ve küçük sürüm 20190815'ten eskiyse öncelikle küçük sürümü güncelleyin.
Yönergeler için bkz. Küçük sürümü güncelleme.
Önemli notlar
Veri kaybını önlemek amacıyla tablo verilerini silmeden önce yedekleyin.
DELETEkomutu ApsaraDB RDS for MySQL üzerinde depolama alanı serbest bırakmaz. Bunun yerineDROP TABLEveyaTRUNCATE TABLEkullanın.OPTIMIZE TABLEkomutu çalıştırma sırasında tabloyu kilitler. Bu komutu yoğun olmayan saatlerde çalıştırın.Veri dosyalarını sildikten sonra depolama alanının serbest bırakılması için biraz bekleyin.
Depolama alanı boşaltıldıktan veya örnek teknik özellikleri değiştirildikten sonra RDS, örneğin kilidini yaklaşık 5 dakika içinde açar.
Örneğin kilidini açma
Aşağıdaki yöntemlerden birini seçin.
Seçenek 1: Depolama kapasitesini genişletme
Örneğin depolama kapasitesini genişletin. Yönergeler için bkz. Örnek teknik özelliklerini değiştirme.
Teknik özellik değişikliği etkinleştiğinde RDS, örneğin kilidini yaklaşık 5 dakika içinde açar.
Seçenek 2: Geçmiş veya gereksiz verileri silme
Data Management (DMS) kullanarak örneğe bağlanın. Yönergeler için bkz. ApsaraDB RDS for MySQL örneğinde oturum açmak için DMS kullanma.
-
SQL Console sekmesinde büyük veri dosyalarını belirlemek için aşağıdaki sorguyu çalıştırın:
SELECT file_name, concat(TOTAL_EXTENTS,'M') as 'FIle_size' FROM INFORMATION_SCHEMA.FILES ORDER BY TOTAL_EXTENTS DESC; -
Geçmiş veya gereksiz verileri silmek için aşağıdaki deyimlerden birini kullanın:
-
Tabloyu silme — Tabloyu ve tüm verilerini kalıcı olarak siler:
DROP TABLE <Database name>.<Table name>; -
Tabloyu kısaltma — Tablo yapısını koruyarak tablodaki tüm kayıtları siler:
TRUNCATE TABLE <Database name>.<Table name>;
-
Silme işlemi tamamlandığında RDS, örneğin kilidini yaklaşık 5 dakika içinde açar.
Sonraki adımlar
Örneğin kilidi açıldıktan sonra tekrar kilitlenmemesi için aşağıdaki adımları uygulayın:
Otomatik depolama genişletmeyi yapılandırın. Depolama kullanımı yapılandırılmış bir eşiğe ulaştığında RDS depolama kapasitesini otomatik olarak genişletir. Yönergeler için bkz. Otomatik depolama genişletmeyi yapılandırma.
-
Parçalanmış tablo alanını geri kazanın. Bir tabloda
DELETEdeyimi sık çalıştırılıyorsa tablo parçalanır ve boşaltılan alan işletim sistemine iade edilmez. Yoğun olmayan saatlerde bu alanı geri kazanmak içinOPTIMIZE TABLEdeyimini çalıştırın:OPTIMIZE TABLE <Database name>.<Table name>;Daha fazla bilgi için bkz. ApsaraDB RDS for MySQL örneğinin tablo alanını serbest bırakmak için OPTIMIZE TABLE deyimi nasıl kullanılır?