Je reçois continuellement cette erreur.
J'utilise mySQL Workbench et d'après ce que je trouve, les privilèges de schéma de root sont nuls. Il n'y a aucun privilège.
J'ai des problèmes sur les plates-formes pour lesquelles mon serveur est utilisé et cela a été tout à coup un problème.
[email protected] a apparemment beaucoup d'accès mais je suis connecté comme ça, mais il est simplement assigné à localhost de toute façon - localhost n'a pas de privilèges.
Je l' ai fait quelques choses comme FLUSH HOSTS
, FLUSH PRIVILEGES
, etc , mais ai trouvé aucun succès de cette entreprise ou Internet.
Comment puis-je récupérer son accès root? Je trouve cela frustrant parce que quand je regarde autour de moi, les gens s'attendent à ce que vous "ayez accès" mais je n'y ai pas accès donc je ne peux pas entrer en ligne de commande ou quoi GRANT
que ce soit et moi - même quoi que ce soit.
Lors de l'exécution, voici SHOW GRANTS FOR root
ce que j'obtiens en retour:
Code d'erreur: 1141. Aucune autorisation de ce type n'est définie pour l'utilisateur «root» sur l'hôte «%»
la source
SHOW GRANTS FOR root
une requête, publiez le résultat dans votre question.Réponses:
Utilisez les instructions pour réinitialiser le mot de passe root - mais au lieu de réinitialiser le mot de passe root, nous allons insérer de force un enregistrement dans la table mysql.user
Dans le fichier init, utilisez plutôt ceci
la source
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Tout est là où il est censé être et ce que vous avez ci-dessus, j'ai mis le fichier en conséquence. J'ai également arrêté le service. Je viens de recevoir cette sortie: prntscr.com/1ilxau Et tout (plugins) arrêt. Vraiment déroutant.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
erreur. @AndyJonesSi vous rencontrez le même problème dans MySql 5.7. +:
c'est parce que MySql 5.7 par défaut permet de se connecter avec socket, ce qui signifie que vous venez de vous connecter avec
sudo mysql
. Si vous exécutez sql:alors vous le verrez:
Pour autoriser la connexion avec root et mot de passe, mettez à jour les valeurs dans le tableau avec la commande:
Ensuite, exécutez à nouveau la commande de sélection et vous verrez qu'elle a changé:
Et c'est tout. Vous pouvez exécuter ce processus après avoir exécuté et terminé la
sudo mysql_secure_installation
commande.Pour mariadb, utilisez
pour définir le mot de passe. Plus d'informations sur https://mariadb.com/kb/en/set-password/
la source
auth_socket
à amysql_native_password
résolu mon problème. Je vous remercie!mysql_secure_installation
. Merci beaucoup pour cette réponse.Il n'aimait pas mon privilège d'utilisateur alors je l'ai SUDO. (dans bash << sudo définir l'utilisateur et le mot de passe) (cela donne le nom d'utilisateur de root et définit le mot de passe sur rien) (sur Mac)
la source
Essayez les commandes suivantes
la source
sudo mysqld_safe
m'a obtenu ceci/var/run/mysqld for UNIX socket file don't exists
, puis aprèsmkdir -p /var/run/mysqld
etsudo chown -R mysql:mysql /var/run/mysqld/
cela a fonctionné et a démarré le démon.pour les personnes confrontées à l'erreur ci-dessous dans la version mysql 5.7+ -
Ouvrir un nouveau terminal
sudo /etc/init.d/mysql stop
... MySQL Community Server 5.7.8-rc est arrêtésudo mysqld_safe --skip-grant-tables &
cela sautera tous les privilèges de niveau d'octroi et démarrera mysql en mode sans échec Parfois, le processus est resté bloqué juste à cause degrep: erreur d'écriture: tuyau cassé 180102 11:32:28 mysqld_safe Journalisation dans '/var/log/mysql/error.log'.
Appuyez simplement sur Ctrl + Z ou Ctrl + C pour interrompre et quitter le processus
mysql -u root
Bienvenue sur le moniteur MySQL. Les commandes se terminent par; ou \ g. Votre identifiant de connexion MySQL est la version 2 du serveur: 5.7.8-rc MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle et / ou ses affiliés. Tous les droits sont réservés.
Oracle est une marque déposée d'Oracle Corporation et / ou de ses filiales. Les autres noms peuvent être des marques de commerce de leurs propriétaires respectifs.
Tapez 'help;' ou '\ h' pour obtenir de l'aide. Tapez '\ c' pour effacer l'instruction d'entrée actuelle.
use mysql;
Lecture des informations de table pour compléter les noms de table et de colonne Vous pouvez désactiver cette fonction pour obtenir un démarrage plus rapide avec -A
Base de données modifiée
mysql>
update user set authentication_string=password('password') where user='root';
Requête OK, 4 lignes affectées, 1 avertissement (0,03 sec) Lignes correspondantes: 4 Changé: 4 Avertissements: 1mysql>
flush privileges;
Requête OK, 0 ligne affectée (0,00 sec)mysql> Au
quit
revoirsudo /etc/init.d/mysql stop
..180102 11:37:12 mysqld_safe mysqld du fichier pid /var/run/mysqld/mysqld.pid s'est terminé. * MySQL Community Server 5.7.8-rc est arrêté arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL Community Server 5.7.8-rc est démarré
mysql -u root -p
Entrer le mot de passe:
Bienvenue sur le moniteur MySQL. Les commandes se terminent par; ou \ g. Votre identifiant de connexion MySQL est la version 2 du serveur: 5.7.8-rc MySQL Community Server (GPL)
après la version mysql 5.7+, le mot de passe de la colonne a été remplacé par le nom authentication_string de la table mysql.user.
espérons que ces étapes aideront n'importe qui, merci.
la source
J'utilisais ubuntu 18 et j'ai simplement installé MySQL (mot de passe: root) avec les commandes suivantes.
Lorsque j'ai essayé de me connecter avec l'utilisateur normal d'ubuntu, cela me posait ce problème.
Mais j'ai pu me connecter à MySQL via le super utilisateur. En utilisant les commandes suivantes, j'ai pu me connecter via un utilisateur normal.
Ensuite, vous devriez pouvoir vous connecter à Mysql avec le compte normal.
la source
Un moyen simple de réinitialiser le mot de passe root sur les systèmes Linux:
Consultez d'autres raisons pour lesquelles l'accès est refusé:
https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html
la source
Si vous obtenez cette erreur dans Workbench mais que vous pouvez vous connecter à partir du terminal, suivez ces étapes.
Connectez-vous tout d'abord avec votre mot de passe actuel:
Puis changez votre mot de passe car avoir un mot de passe faible donne parfois une erreur.
Ensuite, quittez simplement et connectez-vous à nouveau avec votre nouveau mot de passe:
Une fois que vous vous êtes connecté avec succès, tapez la commande:
Il devrait afficher un message comme `` Base de données modifiée '', puis tapez:
Après ce type:
Tapez ensuite:
Puis sortez simplement:
Essayez maintenant de vous connecter avec votre nouveau mot de passe dans votre WORKBENCH. J'espère que cela fonctionnera. Je vous remercie.
la source
J'ai rencontré ce problème lors de l'installation de Testlink sur le serveur Ubuntu, j'ai suivi ces étapes
Arrêtez maintenant l'instance et recommencez ie
la source
Eh bien, le moyen le plus simple de réinitialiser le mot de passe root est:
Redémarrez l'option mysqld --skip-grant-tables . Cela permet à quiconque de se connecter sans mot de passe et avec tous les privilèges. Étant donné que cela n'est pas sécurisé, vous pouvez utiliser --skip-grant-tables en conjonction avec --skip-networking pour empêcher les clients distants de se connecter.
Connectez-vous au serveur mysqld avec cette commande:
shell> mysql Émettez les instructions suivantes dans le client mysql. Remplacez le mot de passe par le mot de passe que vous souhaitez utiliser.
mysql> UPDATE mysql.user SET Password = PASSWORD ('MyNewPass') -> WHERE User = 'root'; mysql> FLUSH PRIVILEGES;
Arrêtez le serveur, puis redémarrez-le normalement (sans les options --skip-grant-tables et --skip-networking).
Documentation et expérience personnelle Source Mysql:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
la source
dans mysql 5.7, le champ du mot de passe a été remplacé par authentication_string donc vous feriez quelque chose comme ça à la place
Voir ce lien La base de données utilisateur MySQL n'a pas de colonnes de mot de passe - Installation de MySQL sur OSX
la source
J'ai résolu le même problème en exécutant Workbench en tant qu'administrateur.
... Je suppose que c'est à cause des restrictions sur les ordinateurs de l'entreprise, dans mon cas ...
la source
Essayez les étapes suivantes pour résoudre ce problème:
mysqld --console
.171010 14:58:22 [Note] --secure-file-priv
est définie sur NULL. Les opérations liées à l'importation et à l'exportation de données sont désactivées après l'exécution de la commande ci-dessus à partir de l'invite de commande.mysqld
est bloqué par le pare-feu Windows ou par un autre programme.mysqld
oumysql
, suivez les étapes ci-dessous:wf.msc
pour ouvrir les paramètres du pare-feu.mysqld
oumysqld
sont disponibles dans la liste et cochez la case du domaine, public et privé, puis enregistrez les paramètres.Il devrait être possible d'exécuter la console MySQL sans aucun problème maintenant!
la source
J'ai résolu le même problème en utilisant SQL suivant et en redémarrant le serveur MySQL:
la source
J'ai travaillé sur Accès refusé pour l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: OUI) pendant plusieurs heures, j'ai trouvé la solution suivante,
la source
Je ne pense pas que vous deviez échapper au
--init-file
paramètre:"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Devrait être:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt
la source
pour le problème ci-dessus, votre mot de passe dans le système doit correspondre au mot de passe que vous avez passé dans le programme car lorsque vous exécutez le programme, il vérifie le mot de passe du système car vous avez donné root en tant qu'utilisateur, ce qui vous donne une erreur et en même temps l'enregistrement n'est pas supprimé de la base de données.
Gardez votre mot de passe système en tant que jacob234, puis exécutez le code.
la source
Avec moi, c'était le même problème, mais il était causé, car j'utilisais le serveur mysql sur 32 (bit) et le plan de travail fonctionnait sur la version 64 (bit). le serveur et le plan de travail doivent avoir la même version.
xpress
la source
Pour moi, j'utilisais MYSQLWorkbench et le port était 3306 MAMP en utilisant 8889
la source
J'étais confronté au même problème lorsque j'essayais de connecter la base de données Mysql à l'aide de l'application Laravel. Je voudrais recommander s'il vous plaît vérifier le mot de passe de l'utilisateur. Le mot de passe MySQL ne doit pas avoir de caractères spéciaux comme # , & , etc ...
la source