[Bash] Check mysql alive

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

  • djack
  • Registratie: September 2002
  • Laatst online: 11-11-2024
ik zit nog met 1 klein probleem in een client scritpje dat vanaf een remote host wat queries moet doen op een mysql db.

De queries op zich zijn geen enkel probleem en het scriptje op zich doet ook mooi zijn werk.

Ik ben nu bezig met het opzetten van de what if checks. Je weet wel what if dien file er niet is, enzo
Een van die what if's is wat als de mysql db op de remote host down is of niet bereikbaar of zo.

Ik dacht dus even snel om een query te doen naar een host en dan proberen het result te cutten

iets van checkmysql=`mysql -h $hostname -u $user -p $password`
maar dan krijg ik het result niet mooi :-( ik wil ofwel niets terug krijgen maw het is gelukt ofwel ERROR terug krijgen, die niets lukt bij die ERROR geeft hij nog een hele zooi weer...

iemand een idee hoe ik dat kan oplossen

Because Great minds Think alike


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

Met bash gerelateerde vragen mogen in Non-Windows Operating Systems, waar men veel meer verstand heeft van dit soort dingen. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

kan je niet met een PHP script een check doen?
something like:
PHP:
1
2
3
4
5
6
<?php
if (mysql_connect("mysql_host", "mysql_login", "mysql_password"))
 {return 1;}
else
 {return 0;}
?>


wat het doet is checken of het verbinden met de DB waarde true terug geeft, en dan geeft het script weer true terug aan je bash script, en anders geeftie false terug.

edit:
tis trouwens wel zo ff uit de losse pols hoor... niet getest oid.

[ Voor 54% gewijzigd door McKaamos op 27-07-2005 16:20 ]

Iemand een Tina2 in de aanbieding?


  • djack
  • Registratie: September 2002
  • Laatst online: 11-11-2024
neen op serverside is dat met php maar client side heb ik alleen maar bash ter beschikking.

Because Great minds Think alike


  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

pingen op port 3306 misschien?

Iemand een Tina2 in de aanbieding?


Verwijderd

pingen op een poort kan niet maar telnetten naar een poort wel :)

  • McKaamos
  • Registratie: Maart 2002
  • Niet online

McKaamos

Master of the Edit-button

Verwijderd schreef op woensdag 27 juli 2005 @ 16:47:
pingen op een poort kan niet maar telnetten naar een poort wel :)
mag ook :)

Iemand een Tina2 in de aanbieding?


Verwijderd

Met wget kun je toch wel een uitvoer (remote door php gemaakt) uitlezen.... if output = "ok", enz, enz.

Heb je ook echt de volledige werking (php, mysql, apache) in 1 klap getest....

  • jvhaarst
  • Registratie: Maart 2000
  • Laatst online: 08-02 23:13

jvhaarst

Eendracht maakt macht

Waarom niet gewoon een mysqladmin ping gedaan ?

If you don’t have enough time, stop watching TV.


  • Coen Rosdorff
  • Registratie: Januari 2000
  • Niet online
djack schreef op woensdag 27 juli 2005 @ 15:57:
iets van checkmysql=`mysql -h $hostname -u $user -p $password`
maar dan krijg ik het result niet mooi :-( ik wil ofwel niets terug krijgen maw het is gelukt ofwel ERROR terug krijgen, die niets lukt bij die ERROR geeft hij nog een hele zooi weer...
Een of andere loze query uitvoeren en checken op de return-code van mysql?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# mysql -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7305 to server version: 4.0.25-standard-log

mysql> status;
--------------
<-----------cut----------->
Threads: 2  Questions: 65265  Slow queries: 10  Opens: 2605  Flush tables: 1  Open tables: 64  Queries per second avg: 0.074
--------------
mysql> quit
Bye
# echo $?
0
# mysql -p
Enter password: 
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
# echo $? 
1

  • djack
  • Registratie: September 2002
  • Laatst online: 11-11-2024
jvhaarst thanks
even getest en het werkt :-)

Because Great minds Think alike

Pagina: 1