Aşağıda gördüğünüz hatayı almaktayım. Sebebini araştırdığımda MySQL serverinin sürümünün 8.0.30 olması sebebiyle yaşandığını öğrendim. Şimdi çözüm için denediğim yöntemler ile birlikte karşılaştığım sonuçları sizlere sunayım.
mysql --version
mysql Ver 8.0.30 for FreeBSD12.3 on amd64 (Source distribution)
Buradan MySQL versiyonumun 8.0.30 olduğunu gördüm ve hemen eski tip kullanıcı ve şifre oluşturma yoluna ilerledim.
koduyla mysql serverime Navicat için ayarlanmış olan kullanıcı ile bağlandım ve şifresini girdim.
CREATE USER 'ayar'@'%' IDENTIFIED WITH mysql_native_password BY '12345';
ayar kullanıcısı 12345 şifresi ile oluştu.
Query OK, 0 rows affected (0.00 sec)
Yukarıda verdiğim alıntıda geçen tepki ile oluştuğuna da emin oldum.
GRANT ALL PRIVILEGES ON . TO 'ayar'@'%';
Tüm ayrıcalıkları ve yetkileri alması için bu kodu kullandığımda aşağıdaki tepkiyi aldım.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '. T O 'ayar'@'%'' at line 1
Bu tür bir hatanın sebebine inmeye çalıştığımda bir çözüme erişemedim. MySQL için bağlandığım hesabın yetkilerinin yetmediğini düşündüm ve kullanıcı listesine baktım.
Koduyla tekrar mysql serverine bağlandım ve şifresini girdim. Aşağıdaki kod ile kullanıcı listelerine eriştim.
SELECT User, Host FROM mysql.user;
Kodunu kullandım ve aşağıda bulunan kullanıcılara eriştim.
+------------------+-----------+
| User | Host |
+------------------+-----------+
| anan | % |
| ayar | % |
| sqluser | % |
| turkmmo | % |
| mt2 | localhost |
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
9 rows in set (0.00 sec)
Yukarıda bulunan kullanıcılar için şifre değişikliği yapmayı denediğimde mysql farklı hatalar verdi. Bu durumlar karşısında pes edip yardım alma yoluna ilerledim ve sizlerle paylaşıyorum. Lütfen bu hatadan nasıl kurtulacağım konusunda bana yardım edin bu saçma hatanın çözümü bu kadar derin ve saçma olamaz elbette daha kolay bir yolu vardır diye umuyorum. Şimdiden teşekkürler.