web-dev-qa-db-fra.com

Accès refusé pour l'utilisateur root dans la ligne de commande MySQL

Je viens juste d'installer xampp, et j'utilise la ligne de commande pour écrire mySQL . J'utilise 'root' sans mot de passe et je peux me connecter à mysql mais je ne peux pas CREATE DATABASE car j'ai l'erreur 1044 access denied for user '' @ 'localhost'. Je suis connecté en tant que -uroot.

J'ai les privilèges dans phpMyadmin de faire ce que je veux, mais, en ligne de commande, il me semble ne pas avoir de privilège d'écriture. J'ai consulté tous les autres articles sur ce sujet, mais en vain. Je ne peux pas octroyer de privilèges car je n'en ai aucun de toute façon.

33
gavin

J'ai réinstallé le connecteur ODBC msi et mySQL directement (à part xampp) et cela fonctionne maintenant. Je pense que c'était un problème de connexion, car SHOW DATABASES ne montrait pas du tout mes bases de données.

Mon identifiant 'root' ne permettait pas d'accéder à la base de données, ce qui donnait l'impression que ses privilèges étaient limités, mais en réalité, il n'était pas connecté correctement.

0
gavin

Êtes-vous connecté à MySQL en tant que root? Vous devez explicitement accorder des privilèges à votre compte utilisateur MySQL "normal" lorsque vous êtes connecté en tant que racine MySQL. 

Commencez par configurer un compte root pour votre base de données MySQL.

Dans le type de terminal:

mysqladmin -u root password 'password'

Pour vous connecter à MySQL, utilisez ceci:

mysql -u root -p

Pour définir les privilèges, démarrez manuellement le serveur avec l'option skip-grant-tables, ouvrez le client mysql et mettez à jour manuellement la table mysql.user et/ou les tables mysql.db. Cela peut être une tâche fastidieuse, donc si ce dont vous avez besoin est un compte avec tous les privilèges, je ferais ce qui suit. 

Démarrer le serveur avec l'option skip-grant-tables 

Démarrer le client mysql (sans nom d'utilisateur ni mot de passe) 

Émettre la commande

flush privileges;

qui force le chargement des tables de subventions. 

Créez un nouveau compte avec la commande GRANT, quelque chose comme cela (mais en remplaçant le nom d'utilisateur et le mot de passe par ce que vous voulez utiliser. 

GRANT ALL on *.* to 'username'@'localhost' identified by 'password';

Redémarrez le serveur en mode normal (sans les tables skip-grant-grant) et connectez-vous avec votre nouveau compte.

Reportez-vous à this MySQL docs.

68
Jacob

naviguez dans C:\xampp\mysql\bin\et vérifiez que le fichier mysql.exe se trouve dans ce dossier.

mysql -uroot -p

si vous n'avez pas de mot de passe, appuyez simplement sur Entrée.

l'invite se transforme en 

mysql>

faites vos commandes mysql

9
Paulo Pinto

Par défaut, aucun mot de passe n'est défini pour l'utilisateur root dans XAMPP.

Vous pouvez définir un mot de passe pour l'utilisateur root de MySQL. 

Aller vers 

localhost: 80/security/index.php

et définir un mot de passe pour l'utilisateur root.

Remarque: veuillez modifier le numéro de port dans l'URL ci-dessus si votre Apache est sur un port différent

Ouvrez le panneau de configuration de XAMPP Cliquez sur le bouton "Shell"

La fenêtre d'invite de commande va s'ouvrir maintenant dans ce type de fenêtre

mysql -u root -p;

Il vous demandera mot de passe tapez le mot de passe que vous avez défini pour l'utilisateur root.

Vous y êtes connecté en tant qu'utilisateur root: D Maintenant, fais ce que tu veux faire: P

5
Vishal

Le fichier serveur ne change que le nom du dossier

etc/mysql
rename
mysql-
0
alpc

Accéder à un serveur de base de données MariaDB 10

Après avoir arrêté le serveur de base de données, l'étape suivante consiste à accéder au serveur via une porte dérobée en démarrant le serveur de base de données et en ignorant les tables de mise en réseau et d'autorisation. Cela peut être fait en exécutant les commandes ci-dessous.

Sudo mysqld_safe --skip-grant-tables --skip-networking &

Réinitialiser le mot de passe root MariaDB

Maintenant que le serveur de base de données est démarré en mode sans échec, exécutez les commandes ci-dessous pour vous connecter en tant qu'utilisateur root sans invite de mot de passe. Pour ce faire, exécutez les commandes ci-dessous.

Sudo mysql -u root

Ensuite, exécutez les commandes ci-dessous pour utiliser la base de données mysql.

use mysql;

Enfin, exécutez les commandes ci-dessous pour réinitialiser le mot de passe root.

update user set password=PASSWORD("new_password_here") where User='root';

Remplacez new_password _here par le nouveau mot de passe que vous souhaitez créer pour le compte root, puis appuyez sur Entrée.

Ensuite, exécutez les commandes ci-dessous pour mettre à jour les autorisations et enregistrer vos modifications sur le disque.

flush privileges;

Quittez (CTRL + D) et vous avez terminé.

Ensuite, démarrez MariaDB normalement et testez le nouveau mot de passe que vous venez de créer.

Sudo systemctl stop mariadb.service
Sudo systemctl start mariadb.service

Connectez-vous à la base de données en exécutant les commandes ci-dessous.

Sudo mysql -u root -p

source:https://websiteforstudents.com/reset-mariadb-root-password-ubuntu-17-04-17-10/

0
rubo77