sql >> Databáze >  >> RDS >> Mysql

Použití Mysql v příkazovém řádku v osx - příkaz nenalezen?

Je tedy málo míst, kde terminál hledá příkazy. Tato místa jsou uložena ve vaší $PATH variabilní. Představte si to jako globální proměnnou, kde terminál iteruje, aby vyhledal jakýkoli příkaz. Toto jsou obvykle binární soubory, jak se obvykle odkazuje na složku /bin.

/bin složka obsahuje mnoho spustitelných souborů. Ukázalo se, že jde o příkaz. Tato různá umístění složek jsou uložena v jedné globální proměnné, tj. $PATH oddělené :

Nyní se obvykle programy po instalaci postarají o aktualizaci PATH &říct vašemu terminálu, že hej, mohu být všechny příkazy v mém bin složka.

Ukázalo se, že MySql to po instalaci nedělá, takže to musíme udělat ručně.

Uděláme to následujícím příkazem

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

Pokud to rozeberete, export je samovysvětlující. Ber to jako úkol. Takže export proměnnou PATH s hodnotou old $PATH spojit s novým bin tj. /usr/local/mysql/bin

Tímto způsobem po provedení všech příkazů v /usr/local/mysql/bin jsou nám k dispozici.

Je zde malý háček. Představte si jedno okno terminálu jako jednu instanci programu a možná něco jako $PATH je proměnná třídy (možná). Všimněte si, že toto je čistý předpoklad. Takže po uzavření ztratíme nový úkol. A pokud znovu otevřeme terminál, nebudeme mít znovu přístup k našemu příkazu, protože naposledy, když jsme exportovali, byl uložen v primární paměti, která je nestálá.

Nyní potřebujeme exportovat naše binární soubory mysql pokaždé, když použijeme terminál. Takže musíme vytrvat na naší cestě.

Možná víte, že náš terminál používá něco, co se nazývá dotfiles pro načtení konfigurace při inicializaci terminálu. Rád si to představuji jako sady věcí předávaných konstruktérovi pokaždé, když je vytvořena nová instance terminálu (Opět předpoklad, ale blízko tomu, co by mohl dělat). Takže ano, teď už chápete, co budeme dělat.

.bash_profile je jedním z primárních známých dotfile .

Takže v následujícím příkazu

echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile

To, co děláme, je ukládání výsledku echo tj. výstupní řetězec do ~/.bash_profile

Takže, jak jsme uvedli výše, pokaždé, když otevřeme terminál nebo instanci terminálu, naše dotfiles jsou načteny. Tedy .bash_profile se načte a export který jsme připojili výše, je spuštěn a tedy naše globální $PATH se aktualizuje a dostaneme všechny příkazy uvnitř /usr/local/mysql/bin .

P.s.

pokud nespouštíte export prvního příkazu přímo, ale pouze spouštíte druhý, abyste jej udrželi? Než pro aktuálně běžící instanci terminálu musíte,

source ~/.bash_profile

To říká našemu terminálu, aby znovu načetl tento konkrétní soubor.



  1. Problém Mysql s WHERE v klauzuli

  2. Správný způsob, jak udržet sdružená připojení naživu (nebo je vypnout a získat nová) během delší nečinnosti pro MySQL, aplikaci Grails 2

  3. Příkaz Oracle CREATE TABLE v PL/SQL s 10 příklady

  4. Vytvořte databázi v SQL Server 2017