webForumDet fria alternativet

Varför "./mysql -p"???

2 svar · 378 visningar · startad av pkg

pkgMedlem sedan juli 200011 inlägg
#1

Jag håller på installera hela Linux på nytt, och kom till MySQL. Jag vet inte vad hag gjorde för fel, men jag ska starta MySQL så måste jag skriva: "./mysql -p" i stället för: "mysql -p". Plus när jag kollar i Linuxconf, så kan jag inte hitta MySQL servern, så att jag kan starta den automatisk när datan startar.
Linux: REDHAT 6.2, MySQL: mysql-3.22.32 (inte rpm ver.), ligger i /usr/local/mysql/.
Tack för eventuelt hjälp!!!!

RobbanMedlem sedan dec. 19992 555 inlägg
#2

Ditt första problem beror troligen på att MySQL-binärerna hamnade i en katalog som inte finns med i din PATH. Du kan lägga till kataloger i PATH genom att ändra i /etc/profile (om du använder bash som skal - motsvarande fil för tcsh är /etc/csh.cshrc).

När det gäller ditt andra problem så behöver du lägga till en fil för MySQL i /etc/rc.d/inid.d/. Skapas automatiskt om du installerar RPM-versionen av MySQL, men det är inga problem att skriva en själv. Min ser ut som följer (döp den till 'mysql' och lägg den i /etc/rc.d/init.d/):

#!/bin/sh

. /etc/rc.d/init.d/functions

[ -f /*PATH*/safe_mysqld ] | | exit 0

[ -f /*PATH*/mysqladmin ] | | exit 0

# See how we were called.
case "$1" in
  start)
        # Start daemons.
        echo -n "Starting mysql: "
        /*PATH*/safe_mysqld
        touch /var/lock/subsys/mysql
        echo
        ;;
  stop)
        # Stop daemons.
        echo -n "Shutting down mysql: "
        /*PATH*/mysqladmin -u root --password='*PASS*' shutdown
        rm -f /var/lock/subsys/mysql
        echo
        ;;
  status)
        status mysqld
        ;;
  restart|reload)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: mysql {start|stop|restart|reload|status}"
        exit 1
esac

exit 0

(Observera att en bug(??) i forumet gör att det smyger sig in ett mellanslag mellan två på varandra följande '|' (vilket blir 'OR' i sh). Detta mellanslag måste tas bort för att det skall fungera.)

Byt ut *PATH* och *PASS* till vad som gäller ditt system. Tänk på att ingen annan än root bör kunna läsa den här filen, eftersom den innehåller roots lösenord till MySQL. Titta gärna i övriga filer som ligger i /etc/rc.d/init.d/ för exempel på hur de kan vara uppbyggda.

Filen skall vara körbar. D.v.s. du måste ändra rättigheterna med chmod:

chmod 700 /etc/rc.d/init.d/mysql

När denna fil är på plats bör du kunna se 'mysql' i linuxconf.

Dessa frågor är f.ö. Linux-frågor snarare än MySQL-frågor. Fick ändå ligga kvar här eftersom det inte går att flytta inlägget till Linux-forumet. :)

------------------
Robban < robban@lipogram.com >

[Redigerat av Robban den 31 jul 2000]

[Redigerat av Robban den 31 jul 2000]

pkgMedlem sedan juli 200011 inlägg
#3

Tack för hjälpen!
Den första biten hjälpte (med PATH), men inte den andra, så jag installerade i stället rpm versionen. Så nu går det!

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)