:::: MENU ::::
Posts tagged with: mysql

[Warning] Access denied for user ‘UNKNOWN_MYSQL_USER’@’localhost’ (using password: NO)

Mysql sistem logunda ” [Warning] Access denied for user ‘UNKNOWN_MYSQL_USER’@’localhost’ (using password: NO) ” hatasını görüyorsak ve bu hatayı görmek istemiyorsak;

Mysql değişkenlerinden log_warnings değerini sorgulamak için mysql konsoldan;

Sonuç:

[Warning] Access denied for user ‘UNKNOWN_MYSQL_USER’@’localhost’ (using password: NO)  uyarısını almamak için log_warnings parametresini 1 olarak set edin.

my.cnf dosyasına aşağıdaki satırı ekleyin;

 

 


Varsayılan MySQL Veri Dizini Değiştirme

Varsayılan MySQL Veri Dizini Değiştirme için aşağıdaki adımları izleyebilirsiniz.

1. Stop MySQL

ilk olarak mysql hizmetini durdurmamız gerekiyor.

2. Yeni MySQL dizini oluşturma ve eskisiyle değiştirme.

Şimdi MySQL varsayılan yapılandırma dosyasını  /etc/my.cnf  düzenleyelim.

3. Start MySQL

 


Mysql Error Code: 1418

Mysql kullanıcısı olarak aşağıdaki hata ile karşılaştığınızda yapmanız gereken aşağıdaki gibidir.

Bunu düzeltmek için MySQL konsolunda aşağıdaki komutu çalıştırın:

my.cnf  yapılandırma dosyasına aşağıdaki ekleyin:

mysql 5.0.16 versiyonu  itibariyle, bu seçenek önerilmiyor.


ERROR 1396 (HY000): Operation CREATE USER failed for ‘username’@’localhost’

Mysql’de ERROR 1396 (HY000): Operation CREATE USER failed for ‘username’@’localhost’ şeklinde bir hata ile karşılaştığınızda  yapmanız gereken örnek bir senaryo ile aşağıdaki gibi ifade etmeye çalıştım.

Örnek Senaryo:

Mysql’de yukarıda belirttiğim gibi bir senorya yaşadığınızı farzedelim. ilk yapmanız gereken;

1.Yöntem:

bu işlemde hatayı çözmenize yardımcı olmuyor ise mysql’de var ola bir bug ve çözümü şu şekilde;

2.Yöntem:

 


Mysql “ignoring query to other database”

Mysql’e bağlandınız ve arından “ignoring query to other database”  hatası aldıysanız;

Mysql’e bağlantı paremetrelerini yanlış yazdınız demektir.

Mysql “ignoring query to other database” için;

Doğru örnek:

Yanlış örnek: (Bu hatayı neden  yaptım ise =) )

veya


mysqld: Incorrect information in file: Hatası ve Çözümü

Mysql’de bazı durumlarda bazı tablolara erişemeyebilirsiniz. Tablonuzu check ettiniz ve mysqld: Incorrect information in file: hatasını aldınız.

Mysql hata logu aşağıdaki gibi:

Bu hatada test tablonuza ait frm dosyasının bozulduğuna dair bir hatadır.

.frm dosyasıda neyin nesi dersen;

Mysql Database Metadata dosyasıdır. Her oluşturduğunuz  tablonun adı ile bir frm dosyası oluşturulur.

Bir MySQL veri tabanı için biçimlendirme bilgisini veya yapı verisini içerir; veri tabanında
depolanan tabloları belirtir ve alanları ve her tablonun yapısını tanımlar.

FRM dosyaları beraberinde veri tabanında saklanan asıl veriyi içeren bir .MYD(data) dosyası ile kaydedilir. Her iki dosya da MySQL’in veri tabanını tanıması için gereklidir.

Eğer MySQL veri tabanı MyISAM tabloları kullanıyorsa, bir .MYI(index) dosyası da ayrıca kullanılır ve gereklidir.

.frm dosyaları mysql’in data dizininde bulunur. Data dizini neresi öğrenmek isterseniz aşağıdaki komut ile bunu öğrenebilirsiniz.

test tablosu için ilgili .frm dosyası Datadir/veritabanı_adı altındadır.

 hexadecimal-dump kullanarak test.frm dosyasına bakalım.

.frm dosyaları hakkında daha ayrıntılı bilgi için buraya bakabilirsiniz.

Bu bilgilerin ardından gelelim problemin çözümüne;

test tablosuyla aynı yapıya sahip test2 tablosu oluşturalım.

Daha sonra bir kayıt ekleyelim.

Sonra mysql’i durdurup ardından test.frm üzerine test2.frm kopyalayın.

Mysql yeniden başlattıktan sonra tabloya erişmi kontrol edin.


MySQL “read only” Yetkisi Verme

MySQL “read only” Yetkisi Verme, Slave node olarak yapılandırılmış bir Mysql veritababında sadece okunur modda “read only”  yani yazma(write) işlemlerinin binary log’tan göndermek ve replikasyonun data bütünlüğünü dışardan bozmamak için, slave sunucunun “read only” olup olmadığını kontrol etmek aşağıdaki komutu kullanabiliriz.

read_only değerinin 0(sıfır) olması durumunda replikasyon dışında yani binary log dışındada herhangi bir yetkili mysql kullanıcısı insert update vb. işlemler yapabilir.

1(bir) olması ile durumun tersi yani sadece binary log dan bu işlemlere izin verililir.

Değişikliğin kalıcı olarak yapılması için, my.cnf’ye  aşağıdaki satırı ekleyin:


Mysql Query Cache Nedir? ve Nasıl Kullanılır?

Mysql Query Cache sorguların hafızada tutularak daha sonra aynı sorguların daha hızlı sonuç vermesini sağlayan teknolojidir. Bellek ve limit değerleri tamamen sisteme bağlı olup ancak çalışan bir sistem ve ayrılmış bir donanım üzerinde zamanla ayarlama ve testler yapılarak en çok performansı sağlayabilecek değerlere ulaşılabilir.

Maliyeti ise bu teknoloji için ayrılacak bellek alanı kadardır.

MySQL komut satırına giriş yaptıktan sonra query cache ayarları kontrol edilir.

şeklinde have_query_cache=YES olarak set edilmiş olmalıdır. Continue Reading


Mysql Veritabanı ve Tablo Büyüklüğünü Öğrenmek

Mysql Veritabanı ve Tablo Büyüklüğünü Öğrenmek için aşağıdaki sql’leri kullanabilirsiniz.

Tüm veritabanı dosyalarının büyüklüğünü öğrenmek için:

Belirli bir veritabanının büyüküklüğü için:

Bir veritabanındaki tabloların büyüklüğü için:

 


MySQL’de Dump Alırken Limit Belirleme

Kimi zaman  çok yüksek boyuttaki veritabanlarından dump alınması gerekebiliyor. Ama genelde geliştirme yani test ortamları için veritabanının tamamı değilde bir kısmını almamız  yeterli olabiliyor.

Bu durumda MySQL’den dump alırken; her tablodan en fazla 100 satır getir şeklinde bir koşul belirtebiliyorsunuz.

Bu şekilde dump almanın yöntemi şöyle:


Sayfalar:123