PDA

View Full Version : چک کردن آپ بودن mysql



navid3d_69
سه شنبه 17 دی 1392, 16:52 عصر
سلام میشه جوری فهمید که Mysql یک سرور فعال هست یعنی سرویسش up هست؟

منظورم سروری که بهش دسترسی دارم نیست مثلا آدرس یک سایت رو بزنیم و ببنیم که mysql اون فعال هست یا نه؟

danial.saeedi
سه شنبه 17 دی 1392, 20:11 عصر
اگه از هاست رایگان استفاده کنید یک لینکی رو بهتون می ده به عنوان دیتابیس.
اگه از هاست استفاده نمی کنید هیچ لینکی رو بهتون نمیده(localsoht رو بهت میدن ).
بنا به دلایل امنتی شما اجازه این کار رو در بیرون از سرور ندارید باید ارجاعی که بهش فرستاده میشه محلی باید باشه.

navid3d_69
سه شنبه 17 دی 1392, 20:12 عصر
نه من می خوام م مانیتور کنم سرویس Mysql رو نه اتصال بهش!

Unique
چهارشنبه 18 دی 1392, 10:31 صبح
نمیدونم چرا همچین چیزی میخوای ! معمولا mysql فعاله و down نمیشه ! مگه اینکه مشکلی ۱ در میلیون پیش بیاد که قابل چشم پوشیه ! اما چرا نمیشه مونیتور کرد ؟ یک cron job بنویس هز ۵ دقیقه connect کنه و اگه نا موفق بود جایی ثبت کنه سرور غیر فعاله و down شده ! اما میشه توی کد ها هم اگه امکان connect نبود کاربر را redirect کنیم به یک صفحه که میگه مشکل ارتباط با database داریم و بعدا سر بزنید.

metal gear solid 4
چهارشنبه 18 دی 1392, 10:55 صبح
در phpmyadmin و در منوی Status امکانات زیادی از قبیل Monitor کردن رو بهتون میده.

navid3d_69
چهارشنبه 18 دی 1392, 12:56 عصر
نه من نمیخوام Mysql خودم را مانیتور کنم می خوام برای سروری رو مانیتور کنم که فقط اطلاعات ip و آدرس سایت رو دارم

Unique
چهارشنبه 18 دی 1392, 21:31 عصر
ساده هستش !
کافیه با یک نام کاربری و کلمه عبور جعلی ولی ip درست خروجی خطا را بررسی کنی :

$mysqli = new mysqli("ip_address", "fake_user", "fake_password", "fake_db");
if ($mysqli->connect_errno) {
switch($mysqli->connect_error){
//do what you like here
}
}
$mysqli->close();

خطا ها هم اینا هستند و کافیه حالت هایی که mysql را down میدونی از این جدول (http://dev.mysql.com/doc/refman/5.5/en/error-messages-client.html) انتخاب و کد مناسب را بنویسی.

navid3d_69
چهارشنبه 18 دی 1392, 22:22 عصر
خوب این هم فکر کنم جواب نمیده چون الان این آیپی Mysql دارهه ولی اصلا اروری که میده میگه Mysql نداره




<?php
try {
$dbh = new PDO('mysql:host=79.143.176.2;dbname=tt', 'tt', '123');

} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
?>





و اینکه میشه از روی آدرس سایت هم چک کرد که Mysql آپ هست یا نه؟

Unique
پنج شنبه 19 دی 1392, 11:16 صبح
شما اگه روی local خودتون چک کنید یا server ی که بتونید بهش واقعا connect کنید ، خطا میده و معمولا خطای 1045 که مربوط به user و pass میشه !
اما اگه به هر شکلی قبل از اتصال به mysql جلوش گرفته بشه خطای 2003 ، من روی سرور های خودم تست کردم جواب میده اما روی ip شما نه ! یا دسترسی روی ip های خاصی بازه یا port را عوض کردند (که این مورد آخر بعیده).

در کل اگه نشه به خود mysql سرور دسترسی داشت امکان چک کردنش هم وجود نداره.