PDA

View Full Version : سوال: اتصال به دیتابیس یک سایت دیگر



behzad_vb.net
جمعه 27 تیر 1393, 01:51 صبح
سلام من یوزر و پسورد و نام دیتا بیس یک سایت را دارم مثلا

dbname=bank1
dbuser:user11
dbpass:1233445

میتونم از راه دور به دیتا بیس این سایت وصل بشم؟ یعنی کد اتصال را روی دامنه خودم بنویسم و به دامنه دیگه وصل بشم؟

ali@hmadi
جمعه 27 تیر 1393, 02:50 صبح
جالبه , منم دوست دارم بدونم :)

میدونی چقدر کارهای منو راه می ندازه ...

دیتابیس تو یک هاست مخصوص و پر قدرت از نظر رم و مصرف CPU / سایت و محتویات آن (فیلم و عکس و ..) در هاست مخصوص دانلود = هزینه ی سرویس پایین


فرض کنید یک سایت هست که داره میزبانی میشه که دیتابیس رو پشتیبانی نمی کنه (نداره) ولی php رو پشتیبانی میکنه | سایت دوم قدرت بالایی داره و مای اس کیو ال هم پشتیبانی میکنه / این دو چجور به هم لینک بدیم تو php

احسان!
جمعه 27 تیر 1393, 03:50 صبح
من خودم تا حالا این کار رو انجام ندادم ولی احتمالا مشکلی نیست و فقط باید روی مای اس کیو ال یه کاربر با دسترسی از راه دور تعریف بشه(فکر کنم باید هاست رو ٪ بذارید) و اگه هاست فایروالی چیزی داره اون هم گیر نده.احتمالا بقیه کار ها مثل اتصال محلی خواهد بود.

احسان!
جمعه 27 تیر 1393, 04:08 صبح
جالبه , منم دوست دارم بدونم :) میدونی چقدر کارهای منو راه می ندازه ... دیتابیس تو یک هاست مخصوص و پر قدرت از نظر رم و مصرف CPU / سایت و محتویات آن (فیلم و عکس و ..) در هاست مخصوص دانلود = هزینه ی سرویس پایین فرض کنید یک سایت هست که داره میزبانی میشه که دیتابیس رو پشتیبانی نمی کنه (نداره) ولی php رو پشتیبانی میکنه | سایت دوم قدرت بالایی داره و مای اس کیو ال هم پشتیبانی میکنه / این دو چجور به هم لینک بدیم تو php اینطوری که مصرف پهنای باند سه برابر میشه!دو بار از هاست دانلود به میزبان سایت(در واقع یکی هاست دانلود و یکی هم میزبان سایت)،یه بار هم از میزبان سایت به کاربر.

ali@hmadi
جمعه 27 تیر 1393, 05:17 صبح
اینطوری که مصرف پهنای باند سه برابر میشه!دو بار از هاست دانلود به میزبان سایت(در واقع یکی هاست دانلود و یکی هم میزبان سایت)،یه بار هم از میزبان سایت به کاربر.

سایت دانلود داری . بعد میای یک هاست پر بازدید میگیری . خب این هاست برای پردازش و رم بالا طراحی شده نه برای دانلود ...
و اگه ببینند دارید ازش استفاده ی اینجوری میکنی ساسپند میکنند . مگر سرور مجازی و یا اختصاصی قدرتمند با ماهانه بالای 100 هزار تومان پرداخت بکنید


حالا ادامه مثال :

روزانه 300 گیگ اطلاعات کاربران دانلود میکنند

تعداد برنامه ها 5000 تا و شما 5000 رکورد در دیتابیس دارید که هر کدام دارای فیلد عنوان آدرس دانلود , متن و ... هستند

تعداد 5000 رکورد 50 گیگ نیست که بخواید حساب کنید ترافیک سه برابر میشه !!!

5000 رکورد هم کاربر یکجا دریافت نمیکنه . بلکه پردازنده اونم نه یکجا , بلکه با الگوریتم ریاضی بخشی از اطلاعات را بارگذاری میکنه و ارایهه میده که در صورت بازدید بالا این مشکل ایجاد میکنه ... و نه پهنای باند برابر با 300 گیگ اما پردازش بسیار بالایی به همراه داره


و سودهای دیگه ای هم که داره ...


که اینجا نمی گنجه ... و خود مقاله میشه ...

مهرداد سیف زاده
جمعه 27 تیر 1393, 08:45 صبح
دوستان به نظرم سوالش این بود که چطور کانکت بشن
در ابتدا باید شماره پورت Mysql رو بدست بیارید. البته همیشه روی 3306 هست ولی امکان داره تغییر هم بدن(برای امنیت بیشتر مثلا ما وقتی سرور برای خودمونه شماره پورت بعضی چیزها رو رو تغییر میدیم یا کلا میبندیم)
با دستور زیر در سرور mysql شماره پورتت دستت میاد

SHOW VARIABLES WHERE Variable_name = 'port'
بعدش اگر cpanel داری باید ip هاستی رو میخوای به این وصل بشی رو به عنوان remote کانکشن تاییدش کنی برای این کار در cpanel قسمت database و remote mysql رو انتخاب و ip هاستی رو که میخواد به این وصل بشه رو بده برای بدست آوردن ip سرور هم یه ping به سایتت بزنی ip رو مینویسه به این صورت در cmd یا terminal کامپیتورت وارد کن ping mysite.com

بعدش رشته اتصال در هاست دیگه هست که قراره به این mysql وصل بشه. در اون هاست رشته کانکشن بصورت زیر در میاد


mysql_connect("192.168.33.66:3306", "username", "password") or die(mysql_error());
که ip هاست mysql رو وارد مکنی همراه با شماره پورتی که از اونجا بدست آوردی و بعدشم نام کاربری و رمز عبور. البته با pdo یا odbc هم بخوای کانکت بشی بجای localhost باید ip و شماره پورت هاست دیگه رو وارد کنی

اینجا دربارش توضیح دادم
http://seifzadeh.blog.ir/post/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%87%D8%A7%D8%B3%D8%AA-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9%DB%8C-%D8%A8%D9%87-Mysql-%D9%87%D8%A7%D8%B3%D8%AA-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9%DB%8C-%D8%AF%DB%8C%DA%AF%D8%B1-%D9%88%D8%B5%D9%84-%D8%B4%D9%88%DB%8C%D9%85

seyed.mehdi
شنبه 28 تیر 1393, 12:39 عصر
جالبه خودم خیلی دنبال این مساله بودم که ببینم میشه یا نه

[younes]
شنبه 28 تیر 1393, 13:07 عصر
من امتحان کردم نشد!

شاید سرور mysql منو محدود کرده

احسان!
شنبه 28 تیر 1393, 13:25 عصر
;2064594']من امتحان کردم نشد!

شاید سرور mysql منو محدود کرده
کاری که گفتم رو توی یوزر مای اس کیو ال انجام دادید؟

rezakhakpour
شنبه 02 خرداد 1394, 10:42 صبح
دوستان به نظرم سوالش این بود که چطور کانکت بشن
در ابتدا باید شماره پورت Mysql رو بدست بیارید. البته همیشه روی 3306 هست ولی امکان داره تغییر هم بدن(برای امنیت بیشتر مثلا ما وقتی سرور برای خودمونه شماره پورت بعضی چیزها رو رو تغییر میدیم یا کلا میبندیم)
با دستور زیر در سرور mysql شماره پورتت دستت میاد

SHOW VARIABLES WHERE Variable_name = 'port'
بعدش اگر cpanel داری باید ip هاستی رو میخوای به این وصل بشی رو به عنوان remote کانکشن تاییدش کنی برای این کار در cpanel قسمت database و remote mysql رو انتخاب و ip هاستی رو که میخواد به این وصل بشه رو بده برای بدست آوردن ip سرور هم یه ping به سایتت بزنی ip رو مینویسه به این صورت در cmd یا terminal کامپیتورت وارد کن ping mysite.com

بعدش رشته اتصال در هاست دیگه هست که قراره به این mysql وصل بشه. در اون هاست رشته کانکشن بصورت زیر در میاد


mysql_connect("192.168.33.66:3306", "username", "password") or die(mysql_error());
که ip هاست mysql رو وارد مکنی همراه با شماره پورتی که از اونجا بدست آوردی و بعدشم نام کاربری و رمز عبور. البته با pdo یا odbc هم بخوای کانکت بشی بجای localhost باید ip و شماره پورت هاست دیگه رو وارد کنی

اینجا دربارش توضیح دادم
http://seifzadeh.blog.ir/post/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%87%D8%A7%D8%B3%D8%AA-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9%DB%8C-%D8%A8%D9%87-Mysql-%D9%87%D8%A7%D8%B3%D8%AA-%D8%A7%D8%B4%D8%AA%D8%B1%D8%A7%DA%A9%DB%8C-%D8%AF%DB%8C%DA%AF%D8%B1-%D9%88%D8%B5%D9%84-%D8%B4%D9%88%DB%8C%D9%85

کدهای من درسته
با اون کدها تو دیتابیس خودم اطلاعات رو ثبت کردم ولی توی دیتابیس یه هاست دیگه ارور 110 میده
ریموت%هست
پورت3306 هست،باز هم هست
لطفا راهنمایی فرمایید،خیلی ضروریه،متشکرم

morrning
شنبه 02 خرداد 1394, 11:14 صبح
برنامه Navicat for MySQL رو نصب کن وصل شو و حالشو ببر. تحت دسکتاپ هم هست

rezakhakpour
شنبه 02 خرداد 1394, 12:37 عصر
برنامه Navicat for MySQL رو نصب کن وصل شو و حالشو ببر. تحت دسکتاپ هم هست

من اطلاعاتی رو از یه هاست به دیتابیس هاست دیگه میخوام ثبت کنم بصورت کد
وگرنه به دیتابیس دستری دارم

morrning
شنبه 02 خرداد 1394, 13:18 عصر
من اطلاعاتی رو از یه هاست به دیتابیس هاست دیگه میخوام ثبت کنم بصورت کد
وگرنه به دیتابیس دستری دارم
راحته به جای localhost آدرس آی پی سرور رو بده.

rezakhakpour
شنبه 02 خرداد 1394, 13:42 عصر
راحته به جای localhost آدرس آی پی سرور رو بده.
دادم بصورت: x.x.x.x:3306

m_r_1989
شنبه 02 خرداد 1394, 21:38 عصر
فقط همون آدرس ip رو بدی خودش وصل میشه در صورتی که user &paas هم درست بزنی

us1234
شنبه 02 خرداد 1394, 21:48 عصر
در سی پنل (هاستی که می خواهید به آن کانکت شوید )در قسمت Remote database باید آی پی سروری که قصد اتصال به دیتابیس را دارد وارد کنید وگرنه امکان اتصال نیست .

rezakhakpour
شنبه 02 خرداد 1394, 22:28 عصر
ریموت % وارد کردم
با همون کدها درون دیتابیس خود سایت میشه اطلاعات ثبت کرد ولی توی هاست دیگه ، نمیشه ارور 110 میده
Can't connect to MySQL server on 'ip' (110)

اما با همون اطلاعات میتونم توسط سرور توسط برنامه سی شارپی به اطلاعات هاست دسترسی پیدا کنم
پورت 3306 هم بازه

بجای لوکال هاست آی پی هم دادمx.x.x.x وهم آی پی پورتx.x.x.x:port هیچکدوم جواب نداد
نمیدونم دیگه چیکار کنم

morrning
یک شنبه 03 خرداد 1394, 17:50 عصر
ریموت % وارد کردم
با همون کدها درون دیتابیس خود سایت میشه اطلاعات ثبت کرد ولی توی هاست دیگه ، نمیشه ارور 110 میده
Can't connect to MySQL server on 'ip' (110)

اما با همون اطلاعات میتونم توسط سرور توسط برنامه سی شارپی به اطلاعات هاست دسترسی پیدا کنم
پورت 3306 هم بازه

بجای لوکال هاست آی پی هم دادمx.x.x.x وهم آی پی پورتx.x.x.x:port هیچکدوم جواب نداد
نمیدونم دیگه چیکار کنم

احتمال زیاد مسئول هاست اتصال ریموت رو در MYSQL بسته این باعث میشه فقط از طریق خود سیستم یا 127.0.0.1 بهMYSQL متصل شد. با مسئول هاستتون صحبت کنید.

rezakhakpour
یک شنبه 03 خرداد 1394, 21:12 عصر
نه داداش
میگم به دیتابیس از برنامه سی شارپ دسترسی دارم

mohammadian65
دوشنبه 04 خرداد 1394, 13:03 عصر
برای انتقال داده ها بین دو سایت که در سرورهای مجزا پشتیبانی میشن ، فکر میکنم استفاده از وب سرویس راه حل بهتری باشه ، مثلاً سایت اول اطلاعات رو به عنوان کلاینت میفرسته به سایت دوم (سرور) و پس از پردازش ، اطلاعات رو تو دیتابیس خودش ذخیره میکنه .