Pymysql localhosta bağlanmıyor

arkadaşlar hata


pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 2] No such file or directory)")

kod:

# Veritabanı bağlantı bilgileri
import pymysql
db = pymysql.connect(host="localhost",
                             user='dbkullaniciadi',
                             password='dbparolasi',
                             db='dbadı',
                             charset='utf8mb4',
                             unix_socket = '/var/run/mysqld/mysqld.sock',
                             cursorclass=pymysql.cursors.DictCursor)

# İşaretçimizi oluşturalım
baglanti = db.cursor()

Yardımcı olabilecek var mı?

Yardımcı olmaya çalışayım.

  1. Önce mysql-server'ı indirip kuruyoruz.
$ sudo apt-get install mysql-server
  1. Daha sonra aşağıdaki komutu çalıştırıyoruz. Komutu çalıştırdıktan sonra sizden bazı bilgiler istenecektir. Yazıları dikkatlice okuyun ve seçimlerinizi ona göre yapın, bu adımda ayrıca bir şifre de belirleyeceksiniz. Tavsiyem güçlü bir şifre seçin.
$ sudo mysql_secure_installation
  1. root'a yetki vermek için mysql'e giriyoruz:
$ sudo mysql
  1. mysql> ile başlayan satıra aşağıdaki komutu yazarak root'un auth_socket olan plugin özelliğini mysql_native_password olarak ayarlıyoruz. Ve burada da aynı güçlü şifreyi yazabilirsiniz.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'güçlü_bir_şifre';
  1. Sonra FLUSH PRIVILEGES komutunu çalıştırıp server’ın imtiyaz tablolarını yeniden yüklemesini ve yeni yapılan değişikliklerin etkinleştirmesini sağlıyoruz.
mysql> FLUSH PRIVILEGES
  1. mysql'den exit komutu ile çıkıyoruz.

  2. Artık isterseniz pymysql modülünü veya bu modüle alternatif olarak da mysql-connector-python modülünü kullanabilirsiniz.

2 Beğeni

hata verdi ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
Ayrıca python konsolunda da
pymysql.err.OperationalError: (1045, "Access denied for user 'dbkullaniciadi'@'localhost' (using password: YES)")
verdi

@dildeolupbiten bu mysql beni çıldırtcak en sonunda pcye vurucam önerdiğiniz başka server db var mı?

Vur. Ben şimdiye vurmuştum.

Bence Sqlite.

Güçlü bir şifre girin; içinde hem sayı, hem sembol hem büyük-küçük harf olsun.

Şifreyi doğru girene kadar bu hatayı alacaksınız.

Önerebileceğim başka server db var mı… Hiç kullanmadım ama PostgreSQL’ye bakabilirsiniz. @aib bir kaç defa mesajlarında bu ilişkisel veritabanı yönetim sisteminden bahsetmişti.

Eğer çok karmaşık bir iş yapmıyorsanız ve SQL konusunda fazla bilginiz yoksa bence MongoDB kullanın, hem SQL kullanmak zorunda kalmazsınız :slight_smile:

https://www.w3schools.com/python/python_mongodb_create_db.asp

1 Beğeni

olacak olan şey üyeleri tutmak ve program için gereken problem sorularını tutmak
(program CodeDuel)

zaten doğru girmiştim şifreyi :frowning:

mysql’de aldığınız aşağıdaki hatayı çözmeden, python scriptinizi çalıştırmayın.

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Şu adımı tekrar yapmanız lazım:

1 Beğeni

@dildeolupbiten root yazıyor ya orası veritabanına hangi isimle girdiğin yer değil mi

Oyle evet, zaten siz rootsunuz. Tek yapmanız gereken plugin özelliğini değiştirmek.

1 Beğeni

off çıldırıcam mysql_secure_installation yapıcam şifre istedi doğru girdim acces denied mi ne dedi :man_facepalming:

Sudo mysql yazın öyle girin.

sudo mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Şifre doğrulaması kapalı mı?

bilmiyorum şuan mysqli tekrar kurmaya çalışıyorum
ya allahım ya neden böyle oluyor tek yaptığım sudo mysql_secure_installation dan sonra sudo mysql yapıp dediklerinizi yapmam ama sonra

FLUSH PRIVILEGES

yaptım fakat çalışmadı bende baştan başlattım sonra bu oldu

Bu başlıkta paylaştığım adımları tekrar izleyin.

mysql_secure_installation çalıştırıldıktan sonra şifre ayarı “güçlü” olarak seçin isterseniz, yani 0, 1, 2 seçeneklerinden 2’yi seçin. Güçlü şifre içib şifreniz sayı, karakter, büyük küçük harf içermeli.