Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на Mysql в командния ред в osx - командата не е намерена?

Така че има малко места, където терминалът търси команди. Тези места се съхраняват във вашия $PATH променлива. Мислете за това като за глобална променлива, при която терминалът пренасочва, за да търси всяка команда. Това обикновено са двоични файлове, вижте как папката /bin обикновено се препраща.

/bin папката има много изпълними файлове вътре. Оказва се, че това е команда. Тези различни местоположения на папки се съхраняват в една глобална променлива, т.е. $PATH разделени с :

Сега обикновено програмите при инсталиране се грижат за актуализирането на PATH &казвайки на вашия терминал, че хей, мога да бъда всички команди в моя bin папка.

Оказва се, че MySql не го прави при инсталиране, така че трябва да го направим ръчно.

Правим го със следната команда,

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

Ако го разбиете, export разбира се. Мислете за това като за задача. Така че export променлива PATH със стойност old $PATH concat с нов bin т.е. /usr/local/mysql/bin

По този начин, след като го изпълните, всички команди вътре в /usr/local/mysql/bin са на разположение за нас.

Тук има малка уловка. Мислете за един терминален прозорец като един екземпляр на програма и може би нещо като $PATH е променлива на класа (може би). Имайте предвид, че това е чисто предположение. Така че при затваряне губим новото задание. И ако отворим отново терминала, няма да имаме достъп до нашата команда отново, защото последно, когато експортирахме, тя беше запазена в първичната памет, която е непостоянна.

Сега трябва да експортираме двоичните файлове на mysql всеки път, когато използваме терминал. Така че трябва да упорстваме по пътя си.

Може би сте наясно, че нашият терминал използва нещо, наречено dotfiles за зареждане на конфигурация при инициализация на терминала. Харесва ми да мисля за това като набори от неща, предавани на конструктора всеки път, когато се създаде нов екземпляр на терминал (Отново предположение, но близо до това, което може да прави). Така че да, вече разбирате какво ще правим.

.bash_profile е един от основните известни dotfile .

Така че в следната команда

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

Това, което правим, е запазване на резултата от echo т.е. извеждане на низ към ~/.bash_profile

Така че сега, както отбелязахме по-горе всеки път, когато отваряме терминал или екземпляр на терминала, нашите dotfiles са заредени. Така че .bash_profile се зарежда съответно и export който добавихме по-горе се изпълнява и по този начин нашият глобален $PATH се актуализира и получаваме всички команди в /usr/local/mysql/bin .

P.s.

ако не стартирате директно експортиране на първата команда, а просто изпълнявате втора, за да я запазите? Отколкото за текущия работещ екземпляр на терминала трябва да,

source ~/.bash_profile

Това казва на нашия терминал да презареди този конкретен файл.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ASP.Net / MySQL :Превеждане на съдържание на няколко езика

  2. SQL QUERY многократно търсене в един ред, за да намерите данни от друг ред в същата таблица

  3. Как мога да импортирам голям (14 GB) MySQL файл за дъмп в нова база данни на MySQL?

  4. Изчисляване на общото количество оборудване за период от време

  5. mysql_insert_id с актуализация