web-dev-qa-db-fra.com

Mariadb ne fonctionne pas juste après l'installation sur Ubuntu 16.04

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.

5
Mi2

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.

6
janmyszkier

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.

3
Hedley Finger

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.

0
ywarnier