• 31-05-2024, 15:00:47
    #1
    arkadaşlar selamlar.

    yaklaşık 25 bin kayıttan oluşan bir users tablom var. tabloya hiçbir şekilde erişemiyorum. tabloya erişim olmayınca sitede oturum açılamıyor. phpmyadmin ile de tablo açılmıyor, yedeklenmiyor. veritabanı listeleniyor. bütün tablolar listeleniyor. diğer tabloları görebiliyorum. sadece users tablosuna tıklayınca belli bir süre sonra timeout hatası çıkıyor. tablo onarılmıyor da ayrıca.

    sebep ne olabilir. nasıl düzeltebiliriz. teşekkürler.
  • 31-05-2024, 15:03:24
    #2
    dbyi parçalayın db parçalama programlarıyla parçalayın parça parça açın.
  • 31-05-2024, 15:06:09
    #3
    FinansalOzgurluk adlı üyeden alıntı: mesajı görüntüle
    dbyi parçalayın db parçalama programlarıyla parçalayın parça parça açın.
    hocam var mı önereceğiniz bir program. bir deneyeyim.
  • 31-05-2024, 15:15:09
    #4
    stbolen adlı üyeden alıntı: mesajı görüntüle
    hocam var mı önereceğiniz bir program. bir deneyeyim.
    Balık tutmayı öğrettim hocam kalanı sizde, çok önceden yapmıştım o yüzden hatırlamam ama yöntem buydu.

    Rastgele
  • 31-05-2024, 15:23:23
    #5
    php time out ayarlarına baktınızmı
  • 31-05-2024, 15:28:34
    #6
    stbolen adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar selamlar.

    yaklaşık 25 bin kayıttan oluşan bir users tablom var. tabloya hiçbir şekilde erişemiyorum. tabloya erişim olmayınca sitede oturum açılamıyor. phpmyadmin ile de tablo açılmıyor, yedeklenmiyor. veritabanı listeleniyor. bütün tablolar listeleniyor. diğer tabloları görebiliyorum. sadece users tablosuna tıklayınca belli bir süre sonra timeout hatası çıkıyor. tablo onarılmıyor da ayrıca.

    sebep ne olabilir. nasıl düzeltebiliriz. teşekkürler.
    chatgpt 4.o verdiği cevap hocam



    Bu tür bir sorun genellikle veritabanı dosyasında veya tabloda bir bozulma olduğunu gösterir. MySQL veya MariaDB'de böyle bir sorunla karşılaştığınızda izleyebileceğiniz bazı adımlar şunlardır:

    1. MySQL/MariaDB Servisini Yeniden Başlatma


    İlk adım olarak, MySQL veya MariaDB servisini yeniden başlatmayı deneyin. Bu, geçici bağlantı sorunlarını çözebilir.

    sudo service mysql restart

    2. MySQL/MariaDB Loglarını Kontrol Etme


    MySQL veya MariaDB log dosyalarını kontrol ederek sorunun kaynağı hakkında daha fazla bilgi edinebilirsiniz.

      
    sudo tail -f /var/log/mysql/error.log

    3. MySQL veya MariaDB'yi Komut Satırından Kontrol Etme


    MySQL komut satırına bağlanarak tabloyu onarmayı veya bilgilerini almayı deneyin.
    sh

    mysql -u root -p
    USE veritabani_adi;
    CHECK TABLE users;
    REPAIR TABLE users;

    4. MySQLDump ile Tabloyu Dışa Aktarma


    Eğer tabloyu phpMyAdmin üzerinden yedekleyemiyorsanız, mysqldump komutunu kullanarak tabloyu dışa aktarmayı deneyebilirsiniz. Bu, tabloyu yedeklemenize ve ardından sorunları gidermeye çalışırken bir kopyaya sahip olmanıza yardımcı olabilir.

    mysqldump -u root -p veritabani_adi users > users_backup.sql

    5. MyISAM veya InnoDB ile Sorun Giderme


    Tablonuzun depolama motoruna göre farklı onarma yöntemleri uygulayabilirsiniz.

    MyISAM için:


    Eğer tablo MyISAM motorunu kullanıyorsa, myisamchk aracıyla tabloyu onarabilirsiniz.

    sudo myisamchk -r /var/lib/mysql/veritabani_adi/users.MYI

    InnoDB için:


    Eğer tablo InnoDB motorunu kullanıyorsa, InnoDB tablo bozulmalarını düzeltmek için farklı bir yöntem gerektirebilir. InnoDB tabloları için tam bir tablo yedeklemesi ve ardından tabloyu düşürüp (drop) yeniden oluşturma gerekebilir. Ancak bu çok dikkatli yapılmalıdır.

    ALTER TABLE users ENGINE=InnoDB;

    6. InnoDB Recovery Modunu Kullanma


    MySQL veya MariaDB'nin InnoDB tablolarında bozulma varsa, innodb_force_recovery seçeneğini kullanarak veritabanını kurtarma modunda başlatmayı deneyebilirsiniz. Bu çok dikkatli yapılmalıdır, çünkü veri kaybına neden olabilir.
    /etc/mysql/my.cnf veya /etc/my.cnf dosyasına şu satırı ekleyin:

    [mysqld]
    innodb_force_recovery = 1
    Daha sonra MySQL servisini yeniden başlatın:

    sudo service mysql restart
    Verilerinizi kurtardıktan sonra bu satırı kaldırmayı unutmayın.

    Sonuç


    Yukarıdaki adımlar genellikle veritabanı tablo bozulmalarını çözmek için yeterli olur. Ancak, veri kaybını önlemek için her zaman öncelikle yedekleme yapmayı unutmayın. Eğer sorunlar devam ederse, daha ileri düzeyde veritabanı yönetimi ve inceleme gerektirebilir.
    Herhangi bir adımı uygulamadan önce veritabanınızı yedeklemenizi tavsiye ederim.
  • 31-05-2024, 15:34:17
    #7
    stbolen adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar selamlar.

    yaklaşık 25 bin kayıttan oluşan bir users tablom var. tabloya hiçbir şekilde erişemiyorum. tabloya erişim olmayınca sitede oturum açılamıyor. phpmyadmin ile de tablo açılmıyor, yedeklenmiyor. veritabanı listeleniyor. bütün tablolar listeleniyor. diğer tabloları görebiliyorum. sadece users tablosuna tıklayınca belli bir süre sonra timeout hatası çıkıyor. tablo onarılmıyor da ayrıca.

    sebep ne olabilir. nasıl düzeltebiliriz. teşekkürler.
    Repair edemiyorsanız tablo motoru MyISAM değil InnoDB'dir. bana erişim bilgisi iletin bakalım.