J'ai un fichier .my.cnf dans mon répertoire personnel sur mon bureau qui comprend:
[dbid]
user = myusername
password = mypassword
database = dbname
host = server.location.com
Si je me souviens bien, avant de passer d'Ubuntu 10.04 à 11.04, j'ai pu utiliser la commande
mysql dbid
Pour se connecter directement à la base de données
Mais aujourd'hui, je reçois cette erreur:
ERROR 1049 (42000): Unknown database 'dbname'
Ai-je fait quelque chose de mal?
mysql
configuration
David LeBauer
la source
la source
Réponses:
Je ne sais pas comment votre précédent .my.cnf fonctionnait et je n'ai jamais utilisé ces fichiers auparavant (principalement parce que je ne les connaissais pas). Donc, après un peu de recherche, j'ai trouvé ce lien et j'ai trouvé le ~ / .my.cnf suivant qui a fonctionné pour moi:
et la commande qui le lit:
Quelques points à souligner (faits saillants de l'article lié):
J'ai testé cela sur mysql 5.5 sur un Mac, a très bien fonctionné. Et maintenant que je les connais, je vais les utiliser!
MISE À JOUR Après avoir configuré cela, j'ai réalisé que la ligne de commande
mysql --defaults-group-suffix=dbid
était un peu lourde. Donc, en prime, en supposant que vous utilisez Linux / Mac / Etc, faites ceci:Où
dbid
est le nom de votre groupe de suffixes.la source
Mon administrateur de base de données m'a aidé à découvrir le problème, et voici donc la solution au problème d'origine qui a provoqué cette question:
Le problème (si je comprends bien) était que la base de données autorise uniquement l'accès aux ordinateurs en fonction d'adresses IP spécifiques. Mon adresse IP avait changé lorsque j'ai eu un nouvel ordinateur et j'avais des mots de passe différents pour les comptes qui avaient été configurés avec les différentes adresses IP, selon les termes de mon administrateur de base de données
la source
En tant que mise à jour de la mise à jour de Derek Downey, voici comment j'utilise un fichier ~ / .my.cnf commun sur différents ordinateurs Linux, en choisissant automatiquement la section appropriée en fonction du nom d'hôte:
Après cela, tout ce que je dois taper sur la ligne de commande est
mysql
.la source