web-dev-qa-db-fra.com

Comment me connecter en tant que root sur MySQL sous OS X?

Je viens de configurer MySQL sur mon ordinateur (OS X 10.7) et il semble fonctionner, à en juger par le "mysqld" du moniteur d'activité et la nouvelle icône dans les Préférences Système.

Cependant, j'ai du mal à utiliser MySQL, car je dois au moins me connecter en tant qu'utilisateur root, mais cela ne me le permet pas. Passons donc en revue ce que j'ai fait et les messages d'erreur que je reçois:

Premièrement, je lance MySQL via le fichier exécutable unix "mysql". Cela semble fonctionner, car mes entrées sont maintenant précédées de

 mysql> 

Aussi, je peux taper

 help;

et je reçois la liste d’aide de MySQL. Alors je vais faire quelque chose, comme créer une base de données:

 CREATE DATABASE books;

mais j'obtiens l'erreur suivante:

 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'books'

Je suppose donc que je dois me connecter et que la connexion en tant qu'utilisateur root devrait suffire. J'entre ce qui suit:

 mysql -u root -p;

Mais je reçois l'erreur 1064 en disant que ma syntaxe est fausse. J'ai parcouru plusieurs sites Web et cela ne semble jamais poser problème. Des indices sur ce qui ne va pas pour moi?

10
andrewb

À l'invite du terminal OSX , entrez mysql -u root pour démarrer le client en ligne de commande qui se connecte au serveur.

Shell> représente ce à quoi ressemble votre invite de shell.

Vous faites pas entrez ceci dans après que vous ayez déjà tapé mysql à l’invite de la ligne de commande.

Voici un exemple de session:

Shell> mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'Host_name' = PASSWORD('newpwd');

NOTE: vous devrez peut-être faire précéder le Shell> mysql -u root par Shell> Sudo mysql -u root

Mon invite Shell est personnalisée pour être[jhr@Blackintosh] [/usr/local/mysql-5.5.25a-osx10.6-x86_64/bin] avec un \n à la fin afin que ./mysql -u root soit saisi à la ligne suivante. Le reste est ce que la sortie de cette commande devrait être. L'invite du shell est remplacée par l'invite de l'invite du programme mysql.

Voici à quoi ressemble ma sortie Shell

[jhr@Blackintosh] [/usr/local/mysql-5.5.25a-osx10.6-x86_64/bin] 
./mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.5.25a MySQL Community Server (GPL)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
15
user177800

Exécuter cette commande:

mysql -u root -p

Invitera sur votre console:

#:=> Enter password: [enter your pass]

De cette façon, vous pouvez vous connecter à mysql dbms

2
d1jhoni1b

j'avais ce problème récemment et me suis rendu compte que mon chemin d'accès était bin/bash, donc si quelqu'un d'autre a ce problème, voici comment je l'ai résolu. Si vous avez installé XAMPP, allez dans le dossier Applications, puis dans le dossier XAMPP. puis allez dans le dossier bin. si vous êtes dans le dossier bin, ce sera votre chemin pour utiliser la commande suivante

mysql -uroot

maintenant, ouvrez votre application de terminal et en haut à gauche, cliquez sur Terminal, puis sur Préférences. "Shell ouvert avec", sélectionnez l'option par défaut, puis fermez la fenêtre de votre terminal. maintenant rouvrez-le et votre terminal devrait commencer comme ça

 Last login: Mon Dec 18 12:06:25 on ttys
 [yourname]-air:~ [yourname]$ 

maintenant tapez le chemin

 /Applications/XAMPP/bin/mysql -uroot
0
Storm_troopa