J'ai installé mysql via yum tout à l'heure et l'OS Fedora a installé mariadb pour moi. Je sais que mariadb est une nouvelle branche de mysql, mais je ne comprends pas pourquoi elle ne me demande pas de définir le mot de passe. J'ai essayé 123456 et ainsi de suite, mais j'ai échoué. Mon Fedora est nouvelle, et c’est la première fois que m’installer mysql/mariadb. Que dois-je faire pour cela?
De https://mariadb.com/kb/en/mysql_secure_installation/ :
Pour vous connecter à MariaDB afin de le sécuriser, nous avons besoin du mot de passe actuel de l'utilisateur root. Si vous venez d'installer MariaDB et que vous n'avez pas encore défini le mot de passe root, celui-ci sera vide. Vous devez donc appuyer sur Entrée ici.
le mot de passe sera vide
Je pense que c'est ta réponse.
J'ai eu le même problème. Il est vrai que le mot de passe est vide, mais le message d'erreur est affiché. La solution consiste simplement à utiliser "Sudo"
$ Sudo mysql
va ouvrir l'outil mysql
Pour sécuriser la base de données, vous devez utiliser à nouveau Sudo.
$ Sudo mysql_secure_installation
mariadb utilise par défaut le plug-in UNIX_SOCKET pour authentifier l'utilisateur root. https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/
"Parce qu'il s'est identifié au système d'exploitation, il n'a pas besoin de le refaire pour la base de données"
vous devez donc vous connecter en tant qu'utilisateur root sous unix pour vous connecter en tant que root dans mysql/mariadb:
Sudo mysql
si vous souhaitez vous connecter avec root à partir de votre utilisateur unix normal, vous pouvez désactiver le plug-in d'authentification pour root.
Au préalable, vous pouvez définir le mot de passe root avec mysql_secure_installation (le mot de passe par défaut est vide), puis laisser chaque utilisateur s'authentifier en tant qu'utilisateur root à:
Shell$ Sudo mysql -u root
[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;
[mysql] \q
Lucups, Floris a raison, mais vous dites que cela n'a pas résolu votre problème. J'ai rencontré les mêmes symptômes, où mysql (mariadb) n'accepterait pas le mot de passe vide qu'il devrait accepter, et '/ var/lib/mysql' n'existe pas.
J'ai trouvé que cette Moonpoint.com page était sur le point. Peut-être, comme moi, avez-vous essayé de démarrer le service mysqld au lieu du service mariadb. Essayer:
systemctl start mariadb.service
systemctl status mysqld service
Suivi de l'habituel:
mysql_secure_installation
Le mot de passe par défaut est vide. Plus précisément, vous n'avez même pas besoin d'un mot de passe pour vous connecter en tant que root sur l'hôte local. Vous avez juste besoin d'être root. Mais si vous devez définir le mot de passe la première fois (si vous autorisez l'accès à distance à root), vous devez utiliser:
Sudo mysql_secure_installation
Entrez un mot de passe vide, puis suivez les instructions.
Le problème que vous rencontrez est que vous devez être root lorsque vous essayez de vous connecter en tant que root à partir de la machine locale.
Sous Linux: mariadb acceptera une connexion en tant que root sur le socket (localhost) UNIQUEMENT SI L'UTILISATEUR LE DEMANDE IS ROOT. Ce qui signifie que même si vous essayez
mysql -u root -p
Et si vous avez le bon mot de passe, l'accès vous sera refusé. De même pour
mysql_secure_installation
Mariadb refusera toujours le mot de passe car l'utilisateur actuel n'est pas root. Vous devez donc les appeler avec Sudo (ou en tant qu’utilisateur root sur votre machine). Vous souhaitez donc utiliser localement:
Sudo mysql
et
Sudo mysql_secure_installation
Lorsque je passais de mysql à mariadb, il me fallait le comprendre.
Avait le même problème après avoir installé mysql mariadb 10.3. Le mot de passe n'étant pas NULL, appuyer simplement sur ENTRÉE ne m'a pas aidé. Donc finalement dû changer le mot de passe. J'ai suivi les instructions de ici . En résumé; arrête le serveur
Sudo systemctl stop mariadb.service
accéder au serveur via une porte dérobée en démarrant le serveur de base de données et en ignorant la mise en réseau et les tables d'autorisations.
Sudo mysqld_safe --skip-grant-tables --skip-networking &
se connecter en tant que root
Sudo mysql -u root
puis changez le mot de passe du serveur
use mysql;
update user set password=PASSWORD("new_password_here") where User='root';
Notez qu'après la version 5.7 de MySQL, le champ mot de passe de la table mysql.user a été supprimé. Désormais, le nom du champ est 'authentication_string'. Donc, utilisez le nom de table approprié basé sur la version de mysql. enfin enregistrer les modifications et redémarrer le serveur
flush privileges;
Sudo systemctl stop mariadb.service
Sudo systemctl start mariadb.service
Si votre base de données est installée correctement et que vous avez saisi un mot de passe incorrect, l'erreur sera générée:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
L'erreur suivante indique que la base de données n'a pas été démarrée/installée complètement. Votre commande ne peut pas localiser et parler avec votre instance de base de données.
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")
Une bonne pratique serait de changer votre mot de passe après une nouvelle installation.
$ Sudo service mysql stop
$ mysqld_safe --skip-grant-tables &
$ Sudo service mysql start
$ Sudo mysql -u root
MariaDB [(none)]> use mysql;
MariaDB [mysql]> update user set password=PASSWORD("snafu8") where User='root';
MariaDB [mysql]> flush privileges;
MariaDB [mysql]> exit;
$ Sudo service mysql restart
OR
mysqladmin -u root password 'enter password here'
Je crois avoir trouvé les bonnes réponses à partir d'ici.
Donc en général, il dit ceci:
utilisateur: root
mot de passe: mot de passe
C'est pour la version 10.0.15-MariaDB, installée via Wnmp ver. 2.1.5.0 sur Windows 7 x86
Le mot de passe par défaut pour Mariadb est vide.
$ mysql -u root -p
Enter Password: <--- press enter
Pour moi, password = admin
, a travaillé. Je l'ai installé avec pacman
, Arch ( Manjaro KDE ).
NB: MariaDB était déjà installé, en tant que dépendance de Amarok .
Par défaut, une installation MariaDB a un utilisateur anonyme, ce qui permet à quiconque de se connecter à MariaDB sans avoir à créer un compte utilisateur. Ceci est destiné uniquement à des tests et pour rendre l'installation plus fluide. Vous devez les supprimer avant de passer dans un environnement de production.
il suffit de basculer votre utilisateur actuellement connecté à la racine et de vous connecter sans mot de passe mysql -uroot