اذهب إلى المحتوى

السؤال

نشر

لقد قمت بتحميل النسخة الأخيرة من mySQL 8.0 و نسخة node.js. ولكن لا استطيع الاتصال مع قاعدة البيانات. يظهر لي الخطأ التالي:

C:\Users\myproject>node app.js
    C:\Users\myproject\node_modules\mysql\lib\protocol\Parse
    r.js:80
            throw err; // Rethrow non-MySQL errors
            ^

Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
    at Handshake.Sequence._packetToError (C:\Users\myproject\node_modules\mysql\lib\protocol\sequences\Sequence.js:52:14)

والكود بسيط فقط اتصال مع قاعدة البيانات:

var mysql = require('mysql');

    var connection = mysql.createConnection({
      host: "localhost",
      user: "root",
      password: "",
      insecureAuth : true
    });

    connection.connect(function(err) {
      if (err) throw err;
      console.log("Connected to database!");
    });

كيف يمكنني حل المشكلة؟

Recommended Posts

  • 0
نشر

يجب عليك تنفيذ هذا الأمر داخل MySQL

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

قم بإستبدال root الى رابط localhost الخاص بك ، وايضا قم بإستبدال password بكلمة السر الخاصة بك

ومن ثم قم بتنفيذ هذا الإستعلام لإعادة تحديث الصلاحيات

flush privileges;

حاول الاتصال ب node بعد الإنتهاء من السابق

إذا لم يعمل لديك قم بإزالة 'localhost'@ في الأمر السابق

  • 0
نشر

يمكنك تنفيذ الاوامر التالية لحل المشكلة

$ mysql -u root -p
Enter password: (enter your root password)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';
mysql> FLUSH PRIVILEGES;
mysql> quit

كما يمكنك أيضا انشاء مستخدم جديد واستخدامه للاتصال 

CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...