J'essaye d'installer mysql dans une portion ayant CentOS Linux release 7.2.1511
. Jetez un œil à l'installation du processus:
# sudo yum install mysql-server
Production:
Dependencies Resolved
===========================================================================================================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================================================================================================
Removing:
mysql-community-client x86_64 5.7.10-1.el7 @mysql57-community 109 M
mysql-community-server x86_64 5.7.10-1.el7 @mysql57-community 652 M
Transaction Summary
===========================================================================================================================================================================================================
J'ai couru le damon mysql:
# sudo service mysqld start
Vérification du service:
# ps -ef|grep mysql
mysql 1371 1 0 22:17 ? 00:00:00 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Voici le problème qui me rend fou. Je veux définir le mot de passe root pour la toute première fois, alors j'ai fait:
# sudo mysql_secure_installation
// when password is required, I just type "enter key"
Mais le résultat: sécuriser le déploiement du serveur MySQL.
Entrez le mot de passe de l'utilisateur root: Erreur: Accès refusé à l'utilisateur 'root' @ 'localhost' (en utilisant le mot de passe: NO)
En recherchant l'erreur, dans 90% des cas, la solution consiste à appeler la mysqld_safe --skip-grant-tables &
commande:
service mysqld stop
mysqld_safe --skip-grant-tables &
mysql --user=root mysql
update user set Password=PASSWORD('new-password') where user='root';
flush privileges;
exit;
Mais mysqld_safe
invite une erreur "commande introuvable". J'ai aussi testé avec sudo mysqld --skip-grant-tables &
, mais ça ne fait rien. J'apprécierai si vous me guidez dans la bonne direction afin de définir le mot de passe root. Merci d'avance.
PATH
. Ou vous avez besoin de chemins complets. (Il s'agit plus d'une question Linux que d'une question MySQL.)Réponses:
Si vous exécutez simplement la commande mysql sous l'utilisateur root, vous aurez accès sans mot de passe, car l'authentification de socket est activée pour root @ localhost.
Ce guide est trompeur.
La seule façon de définir le mot de passe est de passer à l'authentification native comme:
la source
Dans ma folle recherche de solution, j'ai jeté un œil à
/var/log/mysqld.log
cette ligne:On dirait que mysql 5.7+ génère un mot de passe aléatoire dans l'installation et est invité dans ce fichier.
la source
Utilisez les étapes ci-dessous pour réinitialiser le mot de passe:
Réinitialisez le mot de passe racine du serveur MySQL.
Sortez quelque chose comme:
Utilisez le mot de passe ci-dessus pendant le processus de réinitialisation de mysql_secure_installation .
Vous avez réussi à réinitialiser le mot de passe root du serveur MySQL. Utilisez la commande ci-dessous pour vérifier la connexion du serveur MySQL ou non.
Voir mon article: Installer la dernière version de MySQL 5.7 sur RHEL / Centos 7
la source
Tout ce qui précède n'a pas fonctionné pour moi et notez que j'ai passé une heure ou plus à essayer toutes les autres suggestions du site Web MYSql pour tout sur SO, je l'ai finalement fait fonctionner avec:
Remarque: alors qu'il montrait Entrez le mot de passe pour l'utilisateur root, je n'avais pas le mot de passe d'origine, je viens de saisir le même mot de passe pour être utilisé comme nouveau mot de passe.
Remarque: il n'y avait pas /var/log/mysqld.log uniquement /var/log/mysql/error.log
exécutez / usr / bin / mysql_secure_installation
Sortie de mysql_secure_installation
la source