Bonjour, j'ai installé le serveur MariaDB et le client mariaDB, php7.0-mysql sur mon nouvel Ubuntu 16.04 VPS, mais après l'installation, je ne parviens pas à me connecter à l'aide de PhpMyAdmin. erreur 'localhost'.
voici quelques infos. Si essayer d'obtenir le statut
root @ ubuntu-2gb-ams2-01:/var/lib # service statut mariadb ● mariadb.service Chargé: introuvable (Reason: aucun fichier ni répertoire de ce type) Actif: inactif (mort)
Quand j'ai essayé de commencer à avoir ceci
# service mariadb start Impossible de démarrer mariadb.service: Unité mariadb.service introuvable.
Je peux me connecter et créer une nouvelle base de données avec SSH
root @ ubuntu-2gb-ams2-01:/var/lib # mysql -u root -p Entrez le mot de passe: Bienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou\g. Votre identifiant de connexion MariaDB est 61 Version du serveur: 10.0.27-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04 Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab et autres. Tapez 'help;'; ou '\ h' pour obtenir de l'aide. Tapez '\ c' pour effacer l'instruction d'entrée en cours. MariaDB [(aucun)]> create database protestation; Requête OK, 1 ligne affectée (0.00 s)
Si je veux voir la base de données alors je peux voir toute la base de données
root @ ubuntu-2gb-ams2-01:/var/lib # mysql -u racine -p -e 'afficher les bases de données' Entrez le mot de passe: + --------- ----------- + | Base de données | + -------------------- + | information_schema | | mysql | | performance_schema | | protestation | + -------------------- +
Donc, on dirait que Mariadb est installé, mais je ne comprends pas pourquoi le statut de mort, le démarrage/redémarrage ne fonctionne pas, la connexion frontale ne fonctionne pas (avec phpmyadmin, est-ce que quelqu'un peut donner un indice?
UPDATE: Je viens de créer une autre base de données et un autre utilisateur. Je peux connecter cet utilisateur et accéder à la base de données à l'aide de phpmyadmin.
Si vous cochez mysql --version
, il devrait indiquer quelque chose comme:
mysql Ver 15.1 Distrib 10.1.16-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Alors vous savez que vous utilisez bien mariaDB, alors vous pouvez simplement
Sudo service mysql restart
et ça devrait être tout bon!
Cela vaut la peine de rechercher le fichier dans /lib/systemd/system/mariadb.service
pour voir qu’il utilise mysqld
.
MariaDB est en cours d'exécution, c'est simplement qu'il s'est déguisé en MySQL (sournois). MariaDB étant un remplacement instantané de MySQL, vous démarrez le moniteur MariaDB à l'aide de la commande CLI $ mysql
, etc. Toutes les interactions pour lesquelles vous spécifiez directement MySQL affecteront en réalité MariaDB. (Je ne sais pas ce qui se passe si vous utilisez également MySQL!) Donc, pour lancer MariaDB, la commande est
$ service mysql start
Encore une fois, essayez ceci
$ service mysql status
générer beaucoup d’informations, y compris quelque chose comme:
...
16 08:19:55 <YR-CMPTR> mysqld[1769]: Version: '10.0.28-MariaDB-0ubuntu0.16.04.1' socket: '/var/run/mysqld/mysqld.sock' port: 3306
...
Toutes les applications qui utilisent normalement MySQL ne remarqueront même pas qu’elles interagissent avec MariaDB.
Je pense que le statut utilise toujours le nom de MySQL pour le paquet MariaDB. Essayer
service mysql status
Cela devrait vous donner un statut "actif".
Après avoir migré de MySQL vers MariaDB, je rencontrais des problèmes pour me connecter en tant que racine à partir de mon portail (de développement) Chamilo (une plate-forme de formation en ligne) dans PHP (connexion via TCP/IP). Je pouvais cependant me connecter parfaitement à partir de la ligne de commande.
En vérifiant mysql.user, j'ai trouvé que la colonne "plugin" disait "unix_socket". Tout cela est dû à la nouvelle gestion de l'authentification via des plugins depuis MySQL 5.5 et MariaDB 5.2.
Je l'ai corrigé en ré-octroyant tous les privilèges à root sans mentionner le plugin:
grant all privileges on *.* to root@'127.0.0.1' identified by 'mypass';
flush privileges;
Cela a simplement vidé la colonne "plugin" et j'ai pu à nouveau me connecter via TCP/IP.