الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الاتصال بقاعدة بقاعدة بيانات موجودة على الشبكة

بدأه Keyser_Soze في 29 سبتمبر 2010 · 31 رد · 4,220 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي جهاز موجود على الشبكة IP: 192.168.1.3 أريد أن أتّصل بقاعدة البيانات MySQL الموجودة عليه لكن يظهر لي error عند محاولة الاتّصال :blink:

أستعمل برنامج Netbeans و الاتصال على localhost يعمل ... المشكل في الاتصال بالجهاز الاخر

jdbc:mysql://192.168.1.3:3306/car_database

اليكم صورة توضح المشكل

post-233890-093020200 1285761501_thumb.j

الرجاء التوضيح و شكرا

المرفقات
err.jpg
1110917454.jpg
#2

ممكن توضح كيف يتم الاتصال

ايه هيا التقنية يلي بتتعامل معها , ممكن تكون نسخة ال jdk

عالجهاز الاخر مختلفة وانت بحاجة دي الوقتي لل java policy

يا ريت توضح عشان نقدر نفيدك

#3

غالبا المشكل من ال privileges الخاصة بالمستخدم. عادة يكون له الحق في الوصول إلى القاعدة من localhost فقط.

إذا كنت تستعمل phpmyadmin، اذهب إلى privileges وقم بتعديل المستخدم root بحيث يصبح ال host هو %

#4

السلام عليكم

شكرا herch و لارا مهدي على الرّدود :happy:

عندي اضافة ... أعتقد أنّي اقتربت من الحلّ :unsure:

قرأت في أحد المنتديات أنه يجب علي أن:

1 - أدخل على اعدادت MySQL التابع ل easyPHP

2 - أبحث عن bind-adress - التي هي 127.0.0.1 localhost -

3 - أغيرها الى 0.0.0.0 لكي يقبل اتصال أي adress خارجي

http://www.developpez.net/forums/d184709/bases-donnees/mysql/installation/mysql-connexion-distance

بعد التّنفيذ يظهر لي هذا الخطأ:

post-233890-027616100 1285776971_thumb.j

بانتظار ردودكم و شكرا

المرفقات
not allowed.jpg
1110917454.jpg
#5

قم بتعديل المستخدم root لكي يصبح له الحق في الدخول من أي جهاز

1
#6
herch كتب:

قم بتعديل المستخدم root لكي يصبح له الحق في الدخول من أي جهاز

لم أستطع التعديل أخي الكريم :blink:

جربت عديد الفرضيات لكن لم تعمل :wacko:

ممكن تشرح لي ... و شكرا

:happy:

1110917454.jpg
#7

تم الاتصال بقاعدة البيانات بنجاح :cry:

:P

كما أشار الاخ herch دخلت على privileges و أضفت جهازي ك user جديد

و الخطأ الاخر عوضا عن root في الصورة أضع اسم الجهاز (user) الذي أضفته سابقا و أتصل به على قاعدة البيانات

مشكورين على المساعدة

:D

1110917454.jpg
#8
Keyser_Soze كتب:

تم الاتصال بقاعدة البيانات بنجاح :cry:

:D

مبررررررروك

امال بتعيط ليه

ولا دموع الفرحه :)

طيب ممكن بقا تشرحها بقا

ازاى ربطت جهازين مع بعض

علشان عاوزين نتعلمها ولا هتبخل عنا :wacko:

Software Developer
Mahmoudkelany.com


 

#9
Mahmoud Kelany كتب:

مبررررررروك

امال بتعيط ليه

ولا دموع الفرحه :)

طيب ممكن بقا تشرحها بقا

ازاى ربطت جهازين مع بعض

علشان عاوزين نتعلمها ولا هتبخل عنا :wacko:

نعم دموع الفرحة :P

بالطبع ممكن أشرحلك ... و لو انّي أعتقد ان كل شيء موجود بالصّور :happy:

لكن ان شاء الله سأضع لك شرح في أقرب فرصة ...

:wink:

1110917454.jpg
#10
Keyser_Soze كتب:

نعم دموع الفرحة :P

بالطبع ممكن أشرحلك ... و لو انّي أعتقد ان كل شيء موجود بالصّور :happy:

لكن ان شاء الله سأضع لك شرح في أقرب فرصة ...

:wink:

منتظرك :)

بالتوفيق ان شاء الله

Software Developer
Mahmoudkelany.com


 

#11
Mahmoud Kelany كتب:

منتظرك :)

بالتوفيق ان شاء الله

الشرح

هذه المراحل على الجهاز الذي عليه قاعدة البيانات .. أنا استعملت قواعد بيانات الموجودة على easyPHP

1 - تختار MySQL من القائمة

post-233890-033220800 1285857525_thumb.j

2 - تضع 0.0.0.0 ليقبل الجهاز جميع الاتصالات الخارجية

post-233890-001002200 1285857542_thumb.j

3- تصنع مستعمل جديد وهو الجهاز الاخر الذي سيتصل بقاعدة البيانات

post-233890-017383600 1285857558_thumb.j

على الجهاز الاخر الذي عليه برنامجك على Netbeans

تتصل بقاعدة البيانات

post-233890-020310100 1285857572_thumb.j

أظن الشرح واضح

:wink:

المرفقات
1.jpg2.jpg3.jpg4.jpg
1
1110917454.jpg
#12

جميل تسلم لى عيونك يا اخى الكريم :)

وفققك الله الى كل خير

سوال بس

الملف دا جبته منين ؟

ولا انت اللى عامله ولا ايه بالظبط

post-233890-001002200%201285857542.jpg

وشكرا جزيلا على سرعه استجابتك لطلبى :)

Software Developer
Mahmoudkelany.com


 

#13

لا أظن أن تغيير ال bind-address ضروري. أعد القيمة القديمة 127.0.0.1 وجرب إذا كان البرنامج يشتغل أو لا.

@Mahmoud

إذا كنت تعمل في Linux فستجده في المسار التالي

 /etc/mysql/my.cnf
#14
herch كتب:

@Mahmoud

إذا كنت تعمل في Linux فستجده في المسار التالي

 /etc/mysql/my.cnf

مرحبا اخى عصام :)

حياك الله

اممم يعنى دا خاص بالـMySQL

تمام هاشوفه ان شاء الله :)

تسلم لى يا غالى

يارب تكون بخير

Software Developer
Mahmoudkelany.com


 

#15
Mahmoud Kelany كتب:

جميل تسلم لى عيونك يا اخى الكريم :) وفققك الله الى كل خير سوال بس الملف دا جبته منين ؟ ولا انت اللى عامله ولا ايه بالظبطpost-233890-001002200%201285857542.jpgوشكرا جزيلا على سرعه استجابتك لطلبى :)

السلام عليكم

أخي محمود كما هو مكتوب فوق الصورة الاولي للشرح تختار Mysql يظهر لك هذا الملف :)

herch كتب:

لا أظن أن تغيير ال bind-address ضروري. أعد القيمة القديمة 127.0.0.1 وجرب إذا كان البرنامج يشتغل أو لا.@Mahmoudإذا كنت تعمل في Linux فستجده في المسار التالي

 /etc/mysql/my.cnf

صباح الخير

حاولت أرجّع القيمة 127.0.0.1 لكن لم يتمّ الاتصال بقاعدة البيانات :wink:

1110917454.jpg
#16

اخى الكريم احاول استخدام هذا الاسلوب

لكن مع برنامج mySQL وليس مع الحزمه التى استخدمتها انت

من اين حصلت على الـ ip 192.168.3.1

ازاى اجعل الجهاز الاخر جاهز للاتصال ؟؟

Software Developer
Mahmoudkelany.com


 

#17
Mahmoud Kelany كتب:

اخى الكريم احاول استخدام هذا الاسلوب

لكن مع برنامج mySQL وليس مع الحزمه التى استخدمتها انت

من اين حصلت على الـ ip 192.168.3.1

ازاى اجعل الجهاز الاخر جاهز للاتصال ؟؟

صباح الخير

يعني الاي بي هو: 192.168.1.3 و ليس 192.168.3.1 :P

لو تلاحظ الايبي هو تابع للشبكة المحلّية ...

هذا الاي بي هو عنوان الجهاز الموجود عليه قاعدة البيانات ... يعني عند الاتصال بقاعدة البيانات عوضا عن:

jdbc:mysql://127.0.0.1:3306/databaseName

نستعمل

jdbc:mysql://192.168.1.3:3306/databaseName

لم أفهم جيّدا :

اقتباس

ازاى اجعل الجهاز الاخر جاهز للاتصال ؟؟

يعني هذه المرحلة التي أخبرتك بها ...

أي وضع الاي بي للاتصال هي تكون على المشروع الموجود على جهاز المستعمل و ليس السيرفر

أما بالنسبة للسيرفر كما أخبرتك:

* نضع الConfiguration لل MySQL ... التي هي BindServer = 0.0.0.0 لكي يقبل الاتصال من ip الموجودة على الشبكة

* و نضيف مستعمل جديد لقاعدة البيانات مثال mobarak و نعطيه كل الصلاحيات >>> الان نعود للمشروع و بعد وضع:

jdbc:mysql://192.168.1.3:3306/databaseName

نغير اسم المستعمل ليكون الاسم الذي اضفناه سابقا:


private static String password = "";
private static String username = "mobarak";

لو عندك استفسار أنا جاهز ... و لو تريد أعملّك هذه الخطوات على جهازك

أنا تحت أمرك ... نزّل برنامج teamviewer و سأقوم بالعملية أمامك و ترى كم هي سهلة

لأنه ربما يكون تفسيري رديء :wacko:

:wink:

1110917454.jpg
#18

لا انا فاهمك وكل حاجه

بس انا الاجهزه اللى عندى

منهم جهاز عادى والتانى جهاز وهمى باستخدام sun VirtualBox

والـ ip وضعته للجهاز الـ Virtual لكن لم يتصل به ايضا

وانا شغال على برنامج my SQL وليس البرنامج اللى كنت بتقول عليه

ارجوا التوضيح ان كان لديك معرفه فى هذا المووضوع او لاى من اعضائنا الكرام

وشكرا لك :)

Software Developer
Mahmoudkelany.com


 

#19
Mahmoud Kelany كتب:

لا انا فاهمك وكل حاجه

بس انا الاجهزه اللى عندى

منهم جهاز عادى والتانى جهاز وهمى باستخدام sun VirtualBox

والـ ip وضعته للجهاز الـ Virtual لكن لم يتصل به ايضا

وانا شغال على برنامج my SQL وليس البرنامج اللى كنت بتقول عليه

ارجوا التوضيح ان كان لديك معرفه فى هذا المووضوع او لاى من اعضائنا الكرام

وشكرا لك :)

السلام عليكم

أوّلا بالنسبة لبرنامج MySQl ليس عندي به معرفة ... يعني لم أجرّبه من قبل

لكن حاول أن تبحث عن configuration لتعدّل ال bind-adress

لو تحبّ جرّب easyphp البرنامج صغير 15 MB و لو نجح الاتّصال, بامكانك تعود لتشتغل على My SQL

بالنسبة للجهاز الوهمي أيضا لم أجرّبه :P لكن حسب تصوّري هو سيكون مثل أي جهاز عادي على الشبكة

حاول تشوف ال firewall و أعملّه desactivate لانه ربّما يعطّل الاتّصال

و لتتأكّد من أن الاتصال يعمل بين الجهازين

أدخل على msdos و أعمل هذا ال test

ping ip على عنوان الجهاز الاخر مثال ping 192.168.1.3

post-233890-055854500 1286640590_thumb.p

مثال في الصورة ping الاول يقول بان الاتصال غير ممكن

4 sent

recieved 0

lost 4

اما ال ping الثاني فالاتصال يعمل بشكل سليم

sent 4

recieved 4

lost 0

لو هناك سؤال لا تتردد ... ما دمت أعرف الاجابة فتأكد أني لن أبخل عليك

:wink:

المرفقات
Ping_deny.png
1110917454.jpg
#20

مش عارف اتعامل معاه بردوا :(

مش عارف فيه ايه ؟

بعمل ping على الجهاز التانى مش راضى

بس سوال انا الجهاز الاول مش عليه ip هل دا يسبب مشكله ؟؟

Software Developer
Mahmoudkelany.com


 

#21
Mahmoud Kelany كتب:

مش عارف اتعامل معاه بردوا :(

مش عارف فيه ايه ؟

بعمل ping على الجهاز التانى مش راضى

بس سوال انا الجهاز الاول مش عليه ip هل دا يسبب مشكله ؟؟

الحقيقة لا أعرف حكاية الجهاز الافتراضي, أخي محمود

لكن كلّ جهاز موجود على الشبكة المحلية المفروض يكون له IP Adress

لتعرف ال IP adress الخاص بالجهاز

أدخل على msdos و ضع

ipconfig

سيخرج عديد البيانات منها IP الجهاز على هذا النحو:

192.168.1

اقتباس

بعمل ping على الجهاز التانى مش راضى

تثبت من firewall

1110917454.jpg
#22

لا الفيروال

انا لغيته خالص

وهو اصلا كان ملغى

يعنى مفيش حاجه خالص

Software Developer
Mahmoudkelany.com


 

#23
Mahmoud Kelany كتب:

لا الفيروال

انا لغيته خالص

وهو اصلا كان ملغى

يعنى مفيش حاجه خالص

عندك رسالة خاصة أخي محمود

1110917454.jpg
#24
Keyser_Soze كتب:

عندك رسالة خاصة أخي محمود

تمام اخى الكريم

هاشوفها حاضر:)

Software Developer
Mahmoudkelany.com


 

#25
Mahmoud Kelany كتب:

مش عارف اتعامل معاه بردوا :(

مش عارف فيه ايه ؟

بعمل ping على الجهاز التانى مش راضى

بس سوال انا الجهاز الاول مش عليه ip هل دا يسبب مشكله ؟؟

السلام عليكم أخي محمود

أنت قلت أنّك تستعمل برنامج MySQL Server ...

لهذا أنا ألغيت برنامج easyPHP و نقلت الى نفس البرنامج الذي تستعمله

و

اليك طريقة جعل قاعدة البيانات تعمل على الشبكة المحلّية

أوّل شيء عطّل الفايروول على السيرفر

post-233890-093223500 1287225313_thumb.p

post-233890-092333900 1287225330_thumb.p

post-233890-096486400 1287225352_thumb.p

الان لتتأكّد من أنه بامكانك الاتصال من أي جهاز اخر على السيرفر

على الجهاز الاخر:

قم بتنزيل MySQL GUI Tools بدون الحاجة الى تنزيل MySQL Server

لأننا سنتصل على قاعدة بيانات السيرفر

post-233890-069119100 1287225775_thumb.p

فقط ... الان بامكانك الاتصال على السيرفر من جهازك

بالتّوفيق

المرفقات
0.png1.png2.png3.png
1
1110917454.jpg

مواضيع مشابهة