Konular

Disable Strict Mode for MySQL-MARIADB

Disable Strict Mode for MySQL-MARIADBMySQL ile ilgili bir hatayı saydığımda Virtualmin, Nginx, PHP 7 ve MySQL 5.7 ile Ubuntu 16.04 LTS sunucusu üzerinde çalışıyordum. Birkaç MySQL sorgusu başarısız oldu ve üzerinde çalıştığım uygulama görüntülendi Yakalanmamış Hata: Boole üzerinde fetch_assoc () üye işlevine çağrı . Katı modu devre dışı bırakmak sorunu çözdü.

Bir istemci için kurduğum bir Prosper202 kurulumu üzerinde çalışıyordum. Sunucuyu Virtualmin ve Nginx ile oluşturdum . Ubuntu 16.04, MariaDB v10 ile birlikte gelse de Virtualmin, kurulum komut dosyasıyla MySQL 5.7'yi yükler. Prosper202, kampanyaya genel bakış sayfasında aşağıdaki hatayı görüntüledi.

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in /home/yesmediapro/public_html/202-config/class-dataengine.php:421

Bunun MySQL Strict modundan kaynaklandığını anlamam uzun sürmedi. Prosper202, MySQL katı modu ile uyumlu değildir. Devre dışı bırakmak hatayı düzeltti. MySQL Strict Mode ile uyumlu olmayan diğer uygulamalar arasında WHMCS 6 ve Craft 2 bulunur. Dolayısıyla, uygulamanız hatalı çalışıyorsa Katı modu devre dışı bırakmayı düşünmelisiniz.

MySQL Strict Mode nedir?

Katı mod, SQL sorgularında geçersiz veya eksik değerleri işler. Hem MySQL hem de MariaDB'de mevcuttur ve MySQL 5.7 ve MariaDB 10'da varsayılan olarak etkindir. Sorgulardaki geçersiz veya eksik veriler, katı modda uyarılara veya hatalara neden olurken, geçersiz veya eksik değerler ayarlanır ve katı modda basit bir uyarı oluşturur kapalı. Devre dışı bırakmak çoğu durumda güvenli olsa da, bazen veritabanı tablolarında beklenmeyen hatalara neden olabilir.

MySQL Strict (Katı) Modu Nasıl Devre Dışı Bırakılır?

Ubuntu 16.04 LTS'de MySQL katı modunu devre dışı bırakmak nispeten kolaydır. Bu, CentOS gibi Linux'un diğer sürümlerinde çalışabilir. Ama test etmiyorum. Yorum bölümünde çalışıp çalışmadığını başkalarına bildirebilirsiniz. SSH ile kök kullanıcı olarak VPS'nize giriş yaparak başlayın .

Yeni bir .cnf dosyası oluşturun.

nano /etc/mysql/conf.d/strict_mode.cnf
   

Aşağıdaki kodu o dosyaya yapıştırın,

[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

veya

[mysqld]
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

 

Dosyayı kaydedin ve kapatın. Ve sonra MySQL sunucusunu yeniden başlatın.

systemctl restart mysql
   

Uygulamanızı açın ve hatalar kaybolmuş olmalı.

Mysql Strict Mode Nasıl Tekrar Etkinleştirilir?

Uygulamanız onunla uyumlu hale gelirse gelecekte katı modu tekrar açabilirsiniz. Sadece daha önce oluşturduğunuz dosyayı silip MySQL'i yeniden başlatmak katı modu tekrar açacaktır. Aşağıdaki komut dosyayı silecektir,

rm /etc/mysql/conf.d/strict_mode.cnf
 
 
 

MySQL'i yeniden başlatın,

systemctl restart mysql
   

Bu kadar. MySQL Scrit (katı) modunu devre dışı bırakmakta veya yeniden etkinleştirmekte sorun yaşıyorsanız, yorumlar bölümünü kullanmaktan çekinmeyin.

 

Kaynak

 

Yorumunuzu Ekleyin

Mysql Türkçe Karakter Problemi

Php+Mysql Tabanlı Site Tasarımları hazırlayan yeni arkadaşların en büyük problemleridir, Mysql 4 üzerindeki karakter problemleri. Bu sadece Mysql 4 üzerinde oluşan bir durum. Yani Mysql 4'ler üstünde karakter kodlama seçenekleri söz konusu. Ayrıca türkçe karakter içeren sıralamalardada sorunlar çıkmaktadır.

52,434 Okunma 2 Yorum 14/04/2007 14:32:06 09/12/2014 14:32:21

Mysql Veri Tipleri

Mysqlde kullanılabilecek veri tipleri, anlamları ve alabilecekleri değerler

34,410 Okunma 2 Yorum 10/03/2008 20:27:44

Mysql Tablo Türleri

MyISAM, InnoDB...

24,734 Okunma Henüz yorum yapılmamış 13/10/2008 14:44:29 09/12/2014 14:45:36

MySQL ve Triggerlar

MySQL 5. 0 alpha'ya kadar trigger desteği bulunmayan bir veritabanı yönetim sistemi olduğundan çoğu kez bu nedenle çocukça bir uğraş olarak görülmüştür - abartmıyorum. Yeni sürümlerine entegre edilen trigger desteği sayesinde MySQL severler oldukça büyük bir huzura kavuşmuştur

22,979 Okunma Henüz yorum yapılmamış 19/10/2007 14:56:59

Mysql field tipleri

22,193 Okunma Henüz yorum yapılmamış 03/03/2008 10:46:06 11/01/2019 21:01:16

Mysql İle Türkçe Karakter Sıralaması

Yeni sürüm mysql veritabanlarında karakter kodları var bildiğiniz üzere. Çoğu kişi için sıkıntı olduğu düşünülse de, aslında tam tersi karakter kodları sayesinde veritabanımız daha hızlı çalışıyor ve gördüğünüz bu tarzda sıralama işlemlerini başarıyla yapabiliyoruz.

21,364 Okunma Henüz yorum yapılmamış 04/09/2008 18:22:12

Kalıcı Bağlantılı Veritabanı Bağlantıları (Persitent Connections)

Kalıcı bağlantılar betiğinizin çalışması bittiğinde kapanmayan bağlantılardır. Bir kalıcı bağlantı istendiğinde PHP evvelce açılmış eşdeğer bir kalıcı bağlantı var mı diye bakar ve varsa onu kullanır. Yoksa yeni bir bağlantı oluşturur. Bir 'eşdeğer' bağlantı, aynı konağa (uygulanabildiği takdirde) aynı kullanıcı adı ve parola kullanılarak açılmış bağlantıdır.

11,858 Okunma Henüz yorum yapılmamış 08/12/2014 11:11:14 08/12/2014 11:33:49

Yükleniyor...