Mysql: لا يمكن حل عنوان الشبكة بسلسلة الاتصال

تم إنشاؤها على ٢٧ فبراير ٢٠١٦  ·  8تعليقات  ·  مصدر: go-sql-driver/mysql

وصف المشكلة

لقد بدأت للتو في تجربة Go ، وأتطلع إلى إعادة تنفيذ خادم API مكتوب في العقدة به.

لقد واجهت عقبة مع مكتبة MySQL لا يمكنني حلها. أحاول فتح اتصال بمثيل AWS RDS ولديه سلسلة الاتصال:

db, err := sql.Open("mysql", "username:[email protected]:3306/db_name")

مع ذلك أحصل على هذا الخطأ:

default addr for network 'dbinstance.eu-west-1.rds.amazonaws.com:3306' unknown

لقد حاولت تغليف uri بـ tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306) داخل السلسلة ، ثم أحصل على:

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) ( * * جزء من عنوان الشبكة الذي لا أضعه هنا)

هذا هو في الأساس مزود الكابل الخاص بي - يبدو أنه يتوقف عند أول قفزة على طول الطريق.

إذا قمت بتغييره إلى tcp(ipaddress) يبدو أنه متصل.

يعمل إصدار العقدة من تطبيقي جيدًا مع اتصال السلسلة

إعدادات

* إصدار برنامج التشغيل (أو بوابة SHA): الإصدار 1.2

* إصدار Go: go version go1.6 windows / amd64

* إصدار الخادم: MySQL 5.6.23

* نظام تشغيل الخادم: Amazon RDS

التعليق الأكثر فائدة

يجب أن يكون db, err := sql.Open("mysql", "username:password@tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306)/db_name") صحيحًا.

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) هو رد من خادم MySQL. يبدو أن اسم المستخدم أو كلمة المرور خاطئين أو أن الخادم لا يقبل الاتصالات من IP الخاص بك. هل يعمل مع نفس بيانات الاعتماد ومن نفس العميل مع مكتبات أخرى مثل تلك الخاصة بالعقدة أو مكتبة c الرسمية؟

ال 8 كومينتر

يجب أن يكون db, err := sql.Open("mysql", "username:password@tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306)/db_name") صحيحًا.

Error 1045: Access denied for user 'mysql'@'****.2-4.cable.virginm.net' (using password: YES) هو رد من خادم MySQL. يبدو أن اسم المستخدم أو كلمة المرور خاطئين أو أن الخادم لا يقبل الاتصالات من IP الخاص بك. هل يعمل مع نفس بيانات الاعتماد ومن نفس العميل مع مكتبات أخرى مثل تلك الخاصة بالعقدة أو مكتبة c الرسمية؟

لا بأس ، لقد كتبت بالفعل أنه يعمل إذا كنت تستخدم عنوان IP بدلاً من المجال.

يحصل DSN أيضًا على غرامة تحليلية: User:username Passwd:password Net:tcp Addr:dbinstance.eu-west-1.rds.amazonaws.com:3306 DBName:db_name .
أعتقد أن الخطأ يجب أن يكون على جانب الخادم. يبدو أن السائق متصل بشكل جيد.

إذا استمرت المشكلة ، يرجى الرد

لست متأكدًا مما إذا كان هذا هو المكان المناسب ، لكن هذا لا يزال يمثل مشكلة بالنسبة لي. حاولت الاتصال بكل من عنوان url وعنوان IP بنفس النتيجة.

خطأ 1045: تم رفض الوصول للمستخدم '"@".fios.verizon.net '(باستخدام كلمة المرور: نعم)

برنامج التشغيل ليس هو المشكلة وتكوين URL_STRING الخاص بك صحيح (مع بروتوكول TCP).

مثال على التكوين الصحيح:

db, err := sql.Open("mysql", "username:password@tcp(dbinstance.eu-west-1.rds.amazonaws.com:3306)/db_name")

ربما تكون مشكلتك في تكوين قاعدة البيانات الخاصة بك (mysql / mariadb). ارتباط مرفق بمرجع هذه المشكلة: MYSQL ERROR 1045

لقد واجهت نفس المشكلة أثناء الاتصال بـ RDS. إضافة tcp () في البروتوكول لم تنجح. شكرا

عليك فقط إضافة نوع net ، مما يعني أن المستخدم: pass @ net (url) / db

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات