MySQL automatisch starten lassen

bondiblue

bondiblue

Aktives Mitglied
Thread Starter
Dabei seit
27.10.2001
Beiträge
259
Reaktionspunkte
0
mysql starten

hallo

habe php und mysql erfolgreich installiert jedoch eines stört mich noch: ich muss jedesmal nach einem neustart den mysqlserver über terminal per hand starten. bitte um hilfe. DANKE

bondiblue
 
Hi

Dafür gibt es eine Lösung:

im Verzeichnis /Library/Startupitems einen Ordner MySQL amlegen
In diesem Ordner die Datei MySQl anlegen.

Inhalt:

#!/bin/sh

. /etc/rc.common

##
# Start up the MySQL database server on Mac OS X / Darwin
#
#
# History
# -------
#
# 2001-04-02 Marc Liyanage <liyanage@access.ch>
# First version
#
# 2001-12-02 Marc Liyanage <liyanage@access.ch>
# Added localized startup messages in 7 languages
# by adapting the resources of the Apple-supplied
# "Sendmail" startup script.
#
#
# License
# -------
#
# The MySQL license applies to this file
#

if [ "${MYSQL:=-YES-}" = "-YES-" ]; then

ConsoleMessage "Starting MySQL database server"

# Some mysql scripts will not work in the /usr/local/mysql
# symlinked directory, only in the real one with the
# version number.
#
# To prevent having to change this script every time the
# version changes, we use perl to read out the actual symlink
# value of /usr/local/mysql and cd to that directory.
# Everything will work from there.
#
cd /usr/local/
REALDIR=`perl -e 'print readlink "mysql"'`
cd $REALDIR

# We have to find out if we're starting a 3.x or a 4.x
# MySQL database server
#
if [ -e ./bin/safe_mysqld ]
then

# This is version 3.x
#
./bin/safe_mysqld --user=mysql &

elif [ -e ./bin/mysqld_safe ]
then

# This is version 4.x
#
./bin/mysqld_safe --user=mysql &

else

# Don't know what version this is
#
ConsoleMessage "Found neither safe_mysqld nor mysqld_safe"

fi

fi

Die Datei StartupParameters.plist anlegen

Inhalt:

{
Description = "MySQL database server";
Provides = ("MySQL");
Requires = ("Resolver");
Preference = "Late";
Messages =
{
start = "Starting MySQL";
stop = "Stopping MySQL";
};
}

Die Dateien müssen ausführbar sein.

Oder nutze diesen Installer:

http://www2.entropy.ch/download/mysql-startupitem.pkg.tar.gz

HTH

W
 
datenbezeichnung in php

hallo woulion,

du scheinst dich ganz gut in php auszukennen.
ich programmiere gerade eine datenbank-basierende site mit php. wie kann ich der datenbank sagen, dass sie nur den anfang und das ende eines datei-namens lesen soll. also zum beispiel: k_net_"..."_01 , k_net_"..."_02 , k_net_"..."_03 (der bereich "..." soll beliebig sein, also nicht gelesen werden.

Details:
ich arbeite mit variablen (s.u.). thumbnails sollen auf einer seite angezeigt werden und auf einer weiteren seite in der größeren version angezeigt werden.

<?

if (!$bild) { $bild=1; }
?>

<html>
<head>
<body>

<a href="test_popup.php?bild=<? echo $bild; ?>">
<img src="galerie/images/<? echo $bild; ?>.gif" border="0">
</a>

</body>
</html>

kannst du mir helfen?:confused:
grüße
seeliger
 
@seeliger

Hi

Danke für das entgegengebrachte Vertrauen, aber meine PHP Kenntnisse sind so annähernd gegen Null gehend, da ich Webapplikationen mit Lasso Professional (www.blueworld.com) erstelle.

Ich bin aber überzeugt, das hier noch genügend andere qualifizierte Mitglieder bereit sind, dir zu helfen.

Sorry

W
 
Ich gehe davon aus, dass Du von einer MySQL-Datenbank sprichst.
Direkt in der SQL-Abfrage kannst Du das mit LIKE machen.

Beispiel:
PHP:
$query = "SELECT bild FROM bilder WHERE bild LIKE '_k_net%_01'";

Das % steht hierbei für eine beliebige Zeichenfolge.

Die Schlüsselwörter REGEXP/RLIKE erlauben Dir sogar reguläre Ausdrücke im UNIX-Stil, wobei REGEXP und RLIKE äquivalent sind.

Beispiel:
PHP:
$query  = "SELECT bild FROM bilder WHERE bild RLIKE '^_k_net[a-z]{5}_01$'";

HTH, canfAN
 
Zuletzt bearbeitet:
nochmal eine frage

vielen dank für deinen Tip, canfAN!

ich bin noch ein ziemlicher newbe in php-programmierung. eigentlich schreibe ich reinen php-text, den ich dann in eine html-seite einbaue.

kann ich den mysql-text von dir da auch einfach einsetzen? kennst du vielleicht auch einen entsprechenden php-befehl um der datenbank zu sagen, dass es alle gifs unabhängig von ihren unterschiedlichen namen ausgeben soll?

:confused:
grüße
seeliger
 
Re: nochmal eine frage

Datenbank-Kommunikation funktioniert schematisch folgendermaßen:
Du musst zuerst eine Verbindung zu Deiner Datenbank aufbauen, dann der Datenbank sagen was sie zu tun hat, ggf. Daten auslesen/verarbeiten und die Verbindung wieder schließen.

Mit PHP & MySQL könnte das so aussehen:
PHP:
$db_host = "mysql.meinserver.de"; // Der Server auf dem der MySQL-Dämon läuft
$db_name = "meinedaten"; // Der Datenbank-Name der Dir von Deinem Provider 
// zugeteilt wird, bzw den Du beim Erstellen der Datenbank gewählt hast
$db_user = "ich"; // Der Benutzername
$db_pass = "gEhEiM"; // Dein Passwort

// Verbindung aufbauen
$connection = mysql_connect($db_host, $db_user, $db_pass);
// Datenbank auswählen
mysql_select_db($db_name);

// Datenbank abfragen
$result = mysql_query("SELECT * FROM bilder");

// Zurückgegebene Daten einlesen und Verarbeiten
while ($retarray = mysql_fetch_array($result))
{
   echo $retarray[0], "\n";
   echo $retarray[1], "\n";
}

// Verbindung schließen
mysql_close($connection);
Mit mysql_query() sagst Du der Datenbank was sie zu tun hat, Dein Anliegen formulierst Du in der Abfragesprache SQL. Im Beispiel werden alle Daten aus der Tabelle 'bilder' ausgewählt.
mysql_fetch_array() liest die zurückgegebenen Daten in das Array '$retarray' ein, und zwar mit jedem Schleifendurchlauf die Werte der nächsten Spalte. Das heißt, wenn die Tabelle 'bilder' folgendermaßen aussieht:
PHP:
name     | groesse     | format
-------------------------------
bild1    | 28K         | GIF
bild2    | 121K        | JPG
Hast Du im ersten Durchlauf der While-Schleife folgende Werte:
$retarray[0]: bild1
$retarray[1]: 28K
$retarray[2]: GIF

Im zweiten Durchlauf:
$retarray[0]: bild2
$retarray[1]: 121K
$retarray[2]: JPG
...

Es gibt neben mysql_fetch_array() noch weitere Befehle um Daten einzulesen. Eine gute Dokumentation findest du auf http://www.php.net/. SQL-Tutorials findest Du en masse mit Google. Eine MySQL-Dokumentation gibt es auf http://www.mysql.com/doc/de.

kennst du vielleicht auch einen entsprechenden php-befehl um der datenbank zu sagen, dass es alle gifs unabhängig von ihren unterschiedlichen namen ausgeben soll?
Das kommt darauf an wie Du deine Tabellen anlegst, angenommen Du hast eine Tabelle wie die im Beispiel weiter oben, sähe ein SQL-Statement um alle GIFs auszulesen so aus:
PHP:
SELECT name,groesse FROM bilder WHERE format='GIF'
Die Datenbank weiss nicht, dass die Werte in einer ihrer Tabellen Dateinamen sind, deshalb solltest Du Dir immer Gedanken um die Tabellenstruktur machen.



HTH, canfAN
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben Unten