MySQL herunterfahren per Kommando?

MySQL herunterfahren per Kommando?

am 02.08.2007 12:42:15 von spam

Hallo,

ja ja, ich weiss, es geht per mysqladmin. Aber: ich habe da eine
selbstentwickelte Anwendung (mit RealBasic gemacht), die per TCP mit
MySQL über Netzwerk kommuniziert. Auf diesem Wege kann ich ganz normal
SQL-Kommandos ausführen - und würde gerne auch bei Bedarf den Server
herunterfahren.

Gibt es ein SQL-Kommando, das den Shutdown auslöst? In Realbasic habe
ich die Befehle "db.SQLExecute(...)" und "db.SQLSelect(...)" zur
Verfügung, wobei db das Datenbankobjekt ist. Ein Server-Objekt gibt es
in diesem Sinne nicht ...

Frank

Re: MySQL herunterfahren per Kommando?

am 03.08.2007 09:16:45 von Dietmar Staritz

Frank Esselbach schrieb:
> Gibt es ein SQL-Kommando, das den Shutdown auslöst? In Realbasic habe
> ich die Befehle "db.SQLExecute(...)" und "db.SQLSelect(...)" zur
> Verfügung, wobei db das Datenbankobjekt ist. Ein Server-Objekt gibt es
> in diesem Sinne nicht ...
>
> Frank

Das im Sprachumfang von SQL wäre sinnlos. Unter welchem Betriebssystem
läuft deine DB?
Die DB wird i.d.R. als Systemdienst betrieben und kann dann über die
vorhandenen BS-Mittel wie z.B.
"/etc/init.d/mysql stop" und "/etc/init.d/mysql start" (SuSE)
"net stop mysql" und start : "net start mysql" (Win..)

gestoppt/ gestartet werden. Das setzt eine Terminalsitzung (egal ob
telnet oder ssh) auf dem Datenbank-Server voraus. Gerade wenn der Server
im Internet ist, sollte dringend auf das ungeschützte Telnet verzichtet
werden.

Bis denne,

Dietmar

Re: MySQL herunterfahren per Kommando?

am 03.08.2007 09:44:22 von Sven Paulus

Frank Esselbach wrote:
> Gibt es ein SQL-Kommando, das den Shutdown auslöst? In Realbasic habe
> ich die Befehle "db.SQLExecute(...)" und "db.SQLSelect(...)" zur
> Verfügung, wobei db das Datenbankobjekt ist. Ein Server-Objekt gibt es
> in diesem Sinne nicht ...

Prinzipiell kann man problemlos einen MySQL-Server remote ueber das
MySQL-Protokoll runterfahren, siehe die C-API-Beschreibung:

http://dev.mysql.com/doc/refman/5.0/en/mysql-shutdown.html

Wenn Dein Sprachbinding dies nicht unterstuetzt und Du auch nicht die
Moeglichkeit hast, auf C-Library-Funktionen zuzugreifen, wirst Du wohl ode=
r
uebel auf den Aufruf eines externen Kommandos (entweder ein paar Zeilen C,
die eine Verbindung zum Server aufbauen und dann mysql_shutdown() aufrufen=
,
oder "mysqladmin shutdown" aus den zu MySQL gehoerenden Utilities)
zurueckgreifen muessen.

Re: MySQL herunterfahren per Kommando?

am 09.08.2007 18:35:23 von spam

> Wenn Dein Sprachbinding dies nicht unterstuetzt und Du auch nicht die
> Moeglichkeit hast, auf C-Library-Funktionen zuzugreifen, wirst Du wohl oder
> uebel auf den Aufruf eines externen Kommandos (entweder ein paar Zeilen C,
> die eine Verbindung zum Server aufbauen und dann mysql_shutdown() aufrufen,
> oder "mysqladmin shutdown" aus den zu MySQL gehoerenden Utilities)
> zurueckgreifen muessen.

Mein MySQL läuft wahlweise unter Windows und MacOS X, ebenso die
Clients, auch gemischt. Das Tool MySQL-Admin ... baut das eine
TCP-Verbindung zum Server auf, oder wie kommuniziert es? Ist das
Protokoll irgendwo öffentlich und könnte man das evtl. in eine eigene
Anwendung mit implementieren? Ich möchte das Absetzten des
Shutdown-Kommandos in eine eigene Software mit integrieren und keine
extra Tools installiern ...

Frank

Re: MySQL herunterfahren per Kommando?

am 09.08.2007 19:27:25 von Axel Schwenke

spam@ghostlink.de (Frank Esselbach) wrote:
>
> Das Tool MySQL-Admin ... baut das eine
> TCP-Verbindung zum Server auf

Ja.

> Ist das Protokoll irgendwo öffentlich

Ja.

http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Pro tocol

> und könnte man das evtl. in eine eigene
> Anwendung mit implementieren?

Ja. Am einfachsten über das C-API.

http://dev.mysql.com/doc/refman/5.0/en/mysql-shutdown.html


XL