mysqldump ne peut pas se connecter à l'aide de socket
Cette question a cassé mon cerveau pendant quelques heures. J'ai essayé d'utiliser mysqldump pour faire un dump d'une base de données à l'aide de:
mysqldump --protocol=socket -S /var/run/mysqld/mysqld.sock database`
Cependant, je reçois:
1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect
Je suis sur localhost et en cours d'exécution en vertu de la racine (sudo su).
Root@localhost est permis à l'utilisateur mysql table.
Je peux utiliser > mysql
afin d'afficher toutes les bases de données, mais mysqldump ne fonctionnera pas.
Je ne sais pas le mot de passe root (généré par le système).
J'ai essayé d'ajouter le support de la mon.conf comme et de redémarrer le serveur mysql:
[mysqldump]
socket = /var/run/mysqld/mysqld.sock
Toute aide serait appréciée!
OriginalL'auteur TylerH4 | 2013-03-10
Vous devez vous connecter pour publier un commentaire.
Même si vous vous connectez via le support, vous devez toujours donner à l'utilisateur
root
Si
root@localhost
a pas de mot de passe, puis le faire:Si
root@localhost
a un mot de passe, puis le faire:Si l'exécution de
vous permet de vous connecter avec la spécification
-uroot
, essayez de ne pas spécifier le socket soitJe viens de remarquer que le support que vous avez spécifié pour la commande mysqldump est
Vous devez vous assurer que le support est défini en vertu de la
[mysqld]
section demy.cnf
ainsiSi cela n'existe pas
puis exécutez cette requête
et assurez-vous de la douille nom du fichier et le chemin d'accès.
Vous pourriez avoir votre Système, DBA ajouter un utilisateur personnalisée pour vous
Ensuite, vous pouvez exécuter
Ce n'est pas sécurisée. tyler doit avoir un mot de passe. Donc, exécutez ceci:
ensuite, vous pouvez faire
Lui donner un essai !!!
Root@localhost
et un mot de passe, mais il a été généré par le serveur. J'ai été à l'origine de coursemysqldump database
mais il a été de donner la même erreur et la pensée de la socket besoin d'être spécifiées.mysql
s'exécute sans-uroot
, maismysqldump
donne toujours l'erreur. Des idées?A ajouté une autre suggestion...
Le socket a été défini en vertu de la
[mysqld]
. J'ai copié cette ligne à la[mysqldump]
partie pour faire bonne mesure.Ce n'
SHOW VARIABLES LIKE 'socket';
dire ???Le même chemin:
| socket | /var/run/mysqld/mysqld.sock |
OriginalL'auteur RolandoMySQLDBA
J'ai trouvé la solution! Le support ne possède pas les informations d'identification lui-même. Ils sont stockés dans le
/root/.my.cnf
fichier de configuration à la place. La mienne n'avais que le nom d'utilisateur et mot de passe pour lemysql
de commande. J'ai besoin d'ajouter[mysqldump]
. Voici ce que ma/root/.my.cnf
fichier ressemble à ça:OriginalL'auteur TylerH4