Arama
 
 

En Yeni Yazılar...
Mysql'de 'Client does not support authentication protocol' Hatası
2005-11-30 16:07:57
PHP5 + Mysql 5 Türkçe Karakter Problemi
2005-12-22 11:15:43
Mysql5'teki 'LEFT JOIN' kullanım değişikliği
2006-01-08 00:37:05

Yazılar...
Mysql'de 'Client does not support authentication protocol' Hatası
   2005-11-30 16:07:57
Bu problem mysql sunucuya bağlanmaya çalıştığınız client tarafında genelde ortaya çıkar. Mysql 'in resmi sitesinde de bu konuda çeşitli çözüm yolları bildirilmektedir. Bu yazıda bunların listesini ve uygulanamasını  söylüyoruz:



  • Mysql clientların sürümünü güncellemek

  • Bütün şifreleri Set PASSWORD methodu ile yenilemek

  • Mysql 'i --old-passwords parametresi ile başlatmak ve aşağıdaki yöntem ile problemli kullanıcı şifrelerini bularak 'SET PASSWORD' işleminden geçirmek.


#> SELECT Host, User, Password FROM mysql.user WHERE LENGTH(Password) > 16;
#> SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
#> flush privileges;

Yazan : Burak Sönmez
MySqlLinux; Yorumlar
PHP5 + Mysql 5 Türkçe Karakter Problemi
   2005-12-22 11:15:43
PHP5 + MYSQL 5 ikilisinin kurulu olduğu bir sunucuda şu şekilde bir sorun ile karşılaşmıştım. Bu problemi linux listelerindeki arkadaşlara da sordum ve saolsunlar yardımcı oldular. Bende şimdi sizlerle paylaşmak istedim.

Site üzerinden mysql 'den veri çeken php dosyasını çağırdığımda Türkçe karakterler ? şeklinde gözüküyordu. Bunun bir çok nedeni olabilirdi başlangıçta. Mysql 'i latin5 charset ile başlatmak sorunu çözebilirdi ama yetmedi. Daha sonra bu problemin mysql in bir bug 'ı olduğunu ve mysql i çalıştırırken verilen bir parametre ile bunun düzeltilebildiğini öğrendim. Doğruymuş:)

/etc/my.cnf dosyamı şu şekilde düzenledim:

[root@~~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysql.sock
default-character-set=latin5
#character-sets-dir=/usr/share/mysql/charsets
#default-collation=latin5_turkish_ci
max_connections = 400

[mysql.server]
user=mysql
default-character-set=latin5

[safe_mysqld]
err-log=/var/log/mysqld.log

[mysql]
default-character-set=latin5


ve bu conf. dosyasına ek olarak mysql sürecini başlatan betiğe aşağıdaki parametre yi de ekliyorsunuz.

--skip-character-set-client-handshake

Bu parametre, varsayılan server karakter setini kullanan ve clientlar tarafından gönderilen karakter set bilgisini yok sayar.

Yazan : Burak Sönmez
ProgramlamaMySqlLinux; Yorumlar
Mysql5'teki 'LEFT JOIN' kullanım değişikliği
   2006-01-08 00:37:05

Mysql5 ile birlikte gelen birçok yenilikle beraber bir takım syntax değişikliğide gelmiş durumda :)

Örneğin, bugs.mysql.org adresinde cevabını bulduğum bir değişiklik :

mysql 5 'ten düşük versiyonlarında çalışan aşağıdaki örnek sorgu mysql 5'te "unknown column XXX in 'on clause' when column exists" şeklinde hata veriyor.


SELECT 1 FROM student s, slp_calendar scal, subject LEFT JOIN slp_commentary sc ON sc.sid=s.id LIMIT 1;

mysql> SELECT 1 FROM student s, slp_calendar scal, subject LEFT JOIN slp_commentary sc -> ON sc.sid=s.id LIMIT 1;
ERROR 1054 (42S22): Unknown column 's.id' in 'on clause'


Ancak sorgudaki FROM deyiminden sonra gelen tablo isimlerini () parantez işaretleri arasına alınca düzgün olarak çalışyor.

mysql> SELECT 1 FROM (student s, slp_calendar scal, subject) LEFT JOIN slp_commentary sc -> ON sc.sid=s.id LIMIT 1;
Empty set (0.00 sec)


Bu soruna ait orjinal adres : http://bugs.mysql.com/bug.php?id=15606

Bu arada bu bir bug değilmiş, bilginiz olsun:)

Yazan : Burak Sönmez

MySql; Yorumlar

Google