J'essaie de faire fonctionner MySQL sur mon Mac OSX 10.9.5. J'ai installé le dernier serveur de communauté version14.14
5.6.21
. Je suis allé aux préférences système et ai démarré le serveur mysql, puis lancé terminal et tapé ceci:
/usr/local/mysql/bin/mysql --version
qui retourne la version, mais quand je tape n'importe quel type de commande mysql, je reçois command not found
. J'ai aussi essayé Sudo mysql_secure_installation
, mysql -u root --password=password
.
J'ai installé un hébergement Web avec mysql, etc., mais je veux d'abord pouvoir le maîtriser en ligne de commande.
Donc, il y a peu d'endroits où le terminal cherche des commandes. Ces lieux sont stockés dans votre variable $PATH
. Considérez-le comme une variable globale dans laquelle le terminal effectue une itération pour rechercher une commande. Il s’agit généralement de fichiers binaires de la manière dont le dossier/bin est généralement référencé.
Le dossier /bin
contient de nombreux fichiers exécutables. Il s'avère que ce sont des commandes. Ces différents emplacements de dossier sont stockés dans une variable globale, à savoir $PATH
, séparée par :
.
Maintenant, ce sont généralement les programmes lors de l’installation qui se chargent de mettre à jour PATH
& en indiquant à votre terminal que je peux avoir toutes les commandes dans mon dossier bin
.
Il s'avère que MySql ne le fait pas lors de l'installation, nous devons donc le faire manuellement.
Nous le faisons en suivant la commande,
export PATH=$PATH:/usr/local/mysql/bin
Si vous le décomposez, export
s'explique de lui-même. Pensez-y comme une mission. Donc, export
une variable PATH
avec la valeur old $PATH
concat avec le nouveau bin
i.e. /usr/local/mysql/bin
Ainsi, après l’avoir exécuté, toutes les commandes contenues dans /usr/local/mysql/bin
sont disponibles.
Il y a une petite prise ici. Pensez à une fenêtre de terminal comme une instance de programme et peut-être que quelque chose comme $PATH
est une variable de classe (peut-être). Notez que ceci est une hypothèse pure. Donc, à la fermeture, nous perdons la nouvelle affectation. Et si nous rouvrons le terminal, nous n'aurons plus accès à notre commande car, lors de l’exportation, elle était stockée dans la mémoire principale, qui est volatile.
Nous devons maintenant exporter nos fichiers binaires mysql chaque fois que nous utilisons un terminal. Nous devons donc persister dans notre chemin.
Vous savez peut-être que notre terminal utilise quelque chose appelé dotfiles
pour charger la configuration lors de l’initialisation du terminal. J'aime penser que c'est un ensemble d'éléments transmis au constructeur chaque fois qu'une nouvelle instance de terminal est créée (Encore une hypothèse, mais proche de ce qu'elle pourrait être en train de faire). Alors oui, vous comprenez maintenant ce que nous allons faire.
.bash_profile
est l'un des principaux connus dotfile
.
Donc, dans la commande suivante,
echo 'export PATH=$PATH:/usr/local/mysql/bin' >> ~/.bash_profile
Ce que nous faisons, c'est enregistrer le résultat de echo
, c'est-à-dire la chaîne de sortie dans ~/.bash_profile
Donc maintenant, comme nous l’avons noté ci-dessus, chaque fois que nous ouvrons un terminal ou une instance de terminal, nos dotfiles
sont chargés. Donc, .bash_profile
est chargé respectivement et export
que nous avons ajouté ci-dessus est exécuté et ainsi un $PATH
global est mis à jour et nous obtenons toutes les commandes dans /usr/local/mysql/bin
.
P.s.
si vous n'exécutez pas directement la première commande exportée mais simplement la deuxième afin de la conserver? Que pour l'instance de terminal en cours d'exécution, vous devez,
source ~/.bash_profile
Cela indique à notre terminal de recharger ce fichier particulier.
Cela signifie que/usr/local/mysql/bin/mysql n'est pas dans la variable PATH.
Soit exécutez/usr/local/mysql/bin/mysql pour obtenir votre shell mysql,
ou tapez ceci dans votre terminal:
PATH=$PATH:/usr/local/mysql/bin
pour l'ajouter à votre variable PATH afin que vous puissiez simplement exécuter mysql sans spécifier le chemin
pour moi les commandes suivantes ont fonctionné:
$ brew install mysql
$ brew services start mysql
modifiez votre profil bash comme suit <> $ vim ~/.bash_profile export PATH =/usr/local/mysql/bin: $ PATH Une fois qu'il est enregistré, vous pouvez taper mysql pour amener mysql Prompt votre terminal.