سلام میشه جوری فهمید که Mysql یک سرور فعال هست یعنی سرویسش up هست؟
منظورم سروری که بهش دسترسی دارم نیست مثلا آدرس یک سایت رو بزنیم و ببنیم که mysql اون فعال هست یا نه؟
سلام میشه جوری فهمید که Mysql یک سرور فعال هست یعنی سرویسش up هست؟
منظورم سروری که بهش دسترسی دارم نیست مثلا آدرس یک سایت رو بزنیم و ببنیم که mysql اون فعال هست یا نه؟
اگه از هاست رایگان استفاده کنید یک لینکی رو بهتون می ده به عنوان دیتابیس.
اگه از هاست استفاده نمی کنید هیچ لینکی رو بهتون نمیده(localsoht رو بهت میدن ).
بنا به دلایل امنتی شما اجازه این کار رو در بیرون از سرور ندارید باید ارجاعی که بهش فرستاده میشه محلی باید باشه.
نه من می خوام م مانیتور کنم سرویس Mysql رو نه اتصال بهش!
نمیدونم چرا همچین چیزی میخوای ! معمولا mysql فعاله و down نمیشه ! مگه اینکه مشکلی ۱ در میلیون پیش بیاد که قابل چشم پوشیه ! اما چرا نمیشه مونیتور کرد ؟ یک cron job بنویس هز ۵ دقیقه connect کنه و اگه نا موفق بود جایی ثبت کنه سرور غیر فعاله و down شده ! اما میشه توی کد ها هم اگه امکان connect نبود کاربر را redirect کنیم به یک صفحه که میگه مشکل ارتباط با database داریم و بعدا سر بزنید.
در phpmyadmin و در منوی Status امکانات زیادی از قبیل Monitor کردن رو بهتون میده.
نه من نمیخوام Mysql خودم را مانیتور کنم می خوام برای سروری رو مانیتور کنم که فقط اطلاعات ip و آدرس سایت رو دارم
ساده هستش !
کافیه با یک نام کاربری و کلمه عبور جعلی ولی 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 میدونی از این جدول انتخاب و کد مناسب را بنویسی.
خوب این هم فکر کنم جواب نمیده چون الان این آیپی 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 آپ هست یا نه؟
شما اگه روی local خودتون چک کنید یا server ی که بتونید بهش واقعا connect کنید ، خطا میده و معمولا خطای 1045 که مربوط به user و pass میشه !
اما اگه به هر شکلی قبل از اتصال به mysql جلوش گرفته بشه خطای 2003 ، من روی سرور های خودم تست کردم جواب میده اما روی ip شما نه ! یا دسترسی روی ip های خاصی بازه یا port را عوض کردند (که این مورد آخر بعیده).
در کل اگه نشه به خود mysql سرور دسترسی داشت امکان چک کردنش هم وجود نداره.