J'ai installé une lampe sur Ubuntu 20.04.
(Allemand) https://wiki.ubuntuutusers.de/mysql/werkzeuge/
C'est toujours un problème d'obtenir le mot de passe root pour vous connecter au localhost/phpmyadmin. À Ubuntu 18.04, il y avait un bon tutoriel (plusieurs):
SERVER BEENDEN:
Sudo service mysql stop
Sudo mkdir -p /var/run/mysqld
Sudo chown mysql:mysql /var/run/mysqld
Sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
PRÜFEN MIT:
jobs
STARTEN von MYSQL:
mysql -u root
mysql> FLUSH PRIVILEGES;
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE user='root';
mysql> UPDATE user SET plugin="mysql_native_password" WHERE User='root';
mysql> quit
Sudo pkill mysqld
Sudo service mysql start
Dans la version Ubuntu actuelle, il semble que la commande de mot de passe ne soit pas connue. Je reçois l'erreur suivante.
mysql> UPDATE user SET authentication_string=password('YOURNEWPASSWORD') WHERE user='root';
Erreur 1064 (42000): Vous avez une erreur dans votre syntaxe SQL; Vérifiez le manuel qui correspond à votre version de Server MySQL pour la syntaxe de droite à utiliser à proximité de '(YourNewpassword') où User = 'root' 'à la ligne 1
Ma version mysql:
mysql ver 8.0.19-0ubuntu5 pour Linux sur x86_64 ((Ubuntu))
Pour changer un mot de passe
Connectez-vous à la racine de la CLI:
Sudo mysql -u root -p
Puis
ALTER USER 'root'@'localhost' IDENTIFIED BY '<New-Password-Here>';
En raison de modifications de la méthode d'authentification MySQL, PHP Les versions avant 7,4 sont incapables d'authentifier à un MySQL 8.0 blah bla bla blahttps: //bugs.php.net/bug.php?id=7624 .
Il existe une solution de contournement, c'est-à-dire de définir votre compte utilisateur pour utiliser la méthode Hash de mot de passe de style actuel, mysql_native_password. Ce manque malheureux de coordination a provoqué l'incompatibilité d'affecter tous PHP applications non seulement phpmyadmin.
Alors
UPDATE user SET plugin="mysql_native_password" WHERE user='root';
MySQL a changé de modèle de sécurité et La connexion racine nécessite maintenant un sudo. Ceci est correct pour le CLI, mais cela signifie que phpmyadmin et tous les autres clients ne pourra pas utiliser les informations d'identification racine
La meilleure solution consiste à créer un nouvel utilisateur pour phpmyadmin (ou utilisez-le existant s'il a été créé lors de l'installation) et de l'accorder les privilèges requis.
CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY '<New-Password-Here>';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Utilisez cet utilisateur n'importe où que vous souhaitiez "root" Accès.
Assurez-vous également que vous utilisez la dernière version de PHP. Voici mon script d'installation complet
PHP
Sudo apt install -y php7.4
Sudo apt install php7.4-curl php7.4-Gd php7.4-json php7.4-mbstring php7.4-xml
Apache
Sudo apt install Apache2 libapache2-mod-php7.4
MYSQL
Sudo apt install mysql-server php7.4-mysql
Sudo mysql_secure_installation
PHPMYADMIN
Sudo apt install phpmyadmin