10 berichten aan het bekijken - 1 tot 10 (van in totaal 10)
  • Q:
    Bijdrager
    Howl

    mysql voor terminal

    Hallo,

    Ik ken de mysql command lines, maar elke keer ik mysql in terminal ingeef dan zegt hij dat het commando niet gekend is. Is natuurlijk mogelijk, maar wat moet ik hiervoor nog bij installeren?

    Bijdrager
    Pieterr

    Ik heb er ooit eens mee geexperimenteerd. Weet niet of het er al standaard op stond. In ieder geval kun je het zelf installeren.

    Zie http://developer.apple.com/internet/opensource/osdb.html

    Geblokkeerd
    Anoniem

    dat het commando niet gekend is

    Is geen standaard foutmelding. Wat is de foutmelding die je krijgt?

    Bijdrager
    Nuke

    Ik gebruik zelf MySQLWorkbench, welke ik iedereen aanraad. Je hebt dan een grafische interface met query-editor. Dat vind ik zelf een stuk makkelijker dan wat in de terminal te zitten klooien.

    Bijdrager
    Martens

    Je hebt hem naar ik aanneem gewoon via het .PKG-bestand geïnstalleerd? MySQL vind je dan in /usr/local/mysql, maar die locatie staat niet in je standaard-pad. Je kunt de MySQL-prompt via dit commando starten:

    /usr/local/mysql/bin/mysql [en hier toevoegingen voor user, etc.]

    Wat makkelijker is, is om een bestand met de naam .profile aan te maken in je home directory. Dat kan met bijvoorbeeld vi. Zorg dan dat je deze regel erin opneemt:

    PATH=/usr/local/mysql/bin:$PATH

    Die zorgt ervoor dat je voortaan zonder het hele pad op te geven het ‘mysql’-programma kan draaien.

    PS: website-beheerders, wanneer wordt nu eindelijk het probleem van topic openen, reply, inloggen, antwoord typen en weg-is-je-antwoord opgelost? Vreselijk irritant, dit.

    Bijdrager
    Jakko Westerbeke

    Een andere manier is

    ln -s /usr/local/mysql/bin/mysqladmin /bin

    (herhaal voor de andere MySQL-commando’s die je nodig hebt).

    Geblokkeerd
    Anoniem

    @ Jakko:
    Symbolic linking, you’re doing it wrong.

    Je bedoelt:

    <br />
    ln -s /usr/local/mysql/bin/mysqladmin /bin/mysqladmin<br />
     

    Echter is dat -absoluut- niet de aanbevolen methode en is het bovendien niet future proof. De beste methode is door je $PATH uit te breiden.

    Ik schroom om “enige juiste methode” te schrijven omdat wat jij schrijft natuurlijk een optie is. Het is geen goede optie, maar het is er wel een.

    Bijdrager
    Ir.Bob

    @cailin coilleach

    Misschien wil je uitleggen waarom het geen goede methode is. In de standaard installatie van OSX staan ook een aantal symlinks in /bin…

    Geblokkeerd
    Anoniem

    Basically, omdat je dan bezig blijft.

    De symlinks in /bin van OS X zijn daar door Apple neer gezet en je kan er van uit gaan dat zij zelf zorgen dat OF de symlinks netjes worden bijgehouden, OF dat Apple zelf waar nodig de default $PATH variabele aanpast. Voor alle andere commando’s en applicaties is dat anders, daar moet je het zelf doen.

    Wat heb je liever?
    A. Je past je $PATH aan om de extra paden aan te roepen.
    B. Je maakt binnen een directory uit je $PATH een symlink aan voor elk commando dat je wilt runnen

    A vereist een commando, B vereist een commando per symlink. Daar naast leidt B tot verschillende dingen die beheertechnisch ongelooflijk vervelend zijn. Immers, je /bin wordt zo een vergaarbak van dozijnen, zo niet honderden symlinks naar binaries die elders op het systeem staan opgeslagen.

    En wat doe je als de volgende versie van de software een andere install locatie aanhoudt? Ga je dan nieuwe symlinks maken van de nieuwe locatie, naar de oude locatie, zodat al je symlinks ook weer blijven werken? Nee, dat wordt een rattennest.

    Daar uit verder werkend: scripting! Ga je op al je servers/systemen al die symlinks in /bin aanmaken, zodat je in je scriptjes die commando’s zonder nadenken aan kan roepen? En wat nu als er ergens eens zo’n symlink ontbreekt? Of doe je aan het begin van je script netjes een “export PATH …… enz”?

    Het zelfde met libraries en $LD_LIBRARY_PATH! Ga je in /usr/lib symlinks aanmaken naar alle applicatie specifieke libraries? Of breidt je zoals het hoort gewoon netjes $LD_LIBRARY_PATH uit met de extra locaties?

    Met $PATH en $LD_LIBRARY_PATH los je een probleem op met 1 commando, niet met 10 of 100. Het gaat om beheersbaarheid en efficientie.

    Bijdrager
    Jakko Westerbeke
    cailin op 28 september 2010

    Symbolic linking, you\’re doing it wrong.

    Je hebt gelijk … ik heb de gewoonte om eerst naar de directory te cd‘en en dan

    ln -s /pad/naar/bestand

    te doen dus ik vergeet wel eens een stukje als ik het anders doe:)

    cailin op 28 september 2010

    Echter is dat -absoluut- niet de aanbevolen methode en is het bovendien niet future proof. De beste methode is door je $PATH uit te breiden.

    Ik vraag me wel even af hoe je er precies bij komt dat die methode beter “future proof” is — als een volgende versie in een andere directory geïnstalleerd wordt werkt hij net zo min, dus het enige dat ik kan verzinnen is dat het uitmaakt als de naam van de executable verandert.

    Wel werkt de $PATH-methode beter met iets als MySQL omdat dat een hele rij programma’s is, en als je die allemaal wilt symlinken wordt het veel meer werk dan $PATH uitbreiden.

10 berichten aan het bekijken - 1 tot 10 (van in totaal 10)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.