web-dev-qa-db-fra.com

MariADB 10.1.16 sur Ubuntu ne parvient pas à démarrer: WsRep n'a pas réussi à récupérer la position

J'utilise 10.1.16-MariaDB-1~xenial À partir du référentiel officiel de Mariadb APT pour 10,1 [Stable], via le miroir de l'Université du Texas .

J'ai eu une configuration parfaitement fonctionnelle de Cluster MariDB Galera sur 3 serveurs Ubuntu 16.04.

Puis je les ai améliorés. Maintenant je n'ai rien.

La mise à niveau vers 10.1.16 a échoué et a rapidement apporté l'ensemble du cluster. Je n'ai pas la sortie, mais DPKG a échoué à la mise en place mariadb-server et mariadb-server-10.1.

J'ai des sauvegardes, alors j'ai purgé toutes les traces de Mariadb/MySQL/Galera de mes serveurs (y compris la suppression de /var/lib/mysql/, /etc/mysql/, et /var/log/mysql/) et a commencé. Cependant, maintenant, avec une installation propre sur chaque serveur, aucun des scripts de démarrage du système standard ne fonctionne. Je suppose que c'est pourquoi le processus de mise à niveau via apt a également échoué.

J'ai essayé chacun des éléments suivants sur mon premier noeud:

galera_new_cluster
service mysql bootstrap
service mysql bootstrap --wsrep-new-cluster
service mysql bootstrap --wsrep-cluster-address="gcomm://"
service mysql start
service mysql start --wsrep-new-cluster
service mysql start --wsrep-cluster-address="gcomm://"
systemctl start mariadb
systemctl start mariadb --wsrep-new-cluster
systemctl start mariadb --wsrep-cluster-address="gcomm://"

Chaque on me donne la même sortie:

Job for mariadb.service failed because the control process exited with error code. See "systemctl status mariadb.service" and "journalctl -xe" for details.

systemctl status mariadb.service:

● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: failed (Result: exit-code) since Fri 2016-07-22 13:29:45 CDT; 42s ago
  Process: 10799 ExecStartPre=/bin/sh -c VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] &&   systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=1/FAILURE)
  Process: 10794 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Main PID: 16865 (code=exited, status=0/SUCCESS)

Jul 22 13:29:41 sql2 systemd[1]: Starting MariaDB database server...
Jul 22 13:29:45 sql2 mysqld[10799]: WSREP: Failed to recover position: '2016-07-22 13:29:41 140110745778432 [Note] /usr/sbin/mysqld (mysqld 10.1.16-MariaDB-1~xenial) starting as process 11080 ...'
Jul 22 13:29:45 sql2 systemd[1]: mariadb.service: Control process exited, code=exited status=1
Jul 22 13:29:45 sql2 systemd[1]: Failed to start MariaDB database server.
Jul 22 13:29:45 sql2 systemd[1]: mariadb.service: Unit entered failed state.
Jul 22 13:29:45 sql2 systemd[1]: mariadb.service: Failed with result 'exit-code'.

Le seulement , je peux commencer mes serveurs maintenant consiste à exécuter manuellement:

Sudo -u mysql mysqld --wsrep-cluster-address='gcomm://'

Sur le premier nœud, puis:

Sudo -u mysql mysqld --wsrep-cluster-address='gcomm://ip1,ip2,ip3'

Sur les deux autres nœuds. Cela fonctionne et j'ai à nouveau un cluster de travail. Mais maintenant, SystemD/SystemCtl ne savent aucune idée que le service est en cours d'exécution. Il semble que les scripts SystemD Startup ne puissent pas utiliser le wsrep-cluster-address Définition dans mes fichiers de configuration du tout. Spécifier-le à service ou systemctl la ligne de commande ne fonctionne pas non plus.

Comment suis-je censé commencer Mariashb?

2
Andrew Ensley

Il y avait un bogue dans le script Galera_Recovery.sh. https://jira.mariadb.org/browse/mdev-10396

6
Nirbhay Choubey

J'ai pu atténuer temporairement mes problèmes en descendant à 10.1.14:

wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/mariadb-server-10.1_10.1.14+maria-1~xenial_AMD64.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/libmariadbclient18_10.1.14+maria-1~xenial_AMD64.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/libmysqlclient18_10.1.14+maria-1~xenial_AMD64.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/mariadb-client-10.1_10.1.14+maria-1~xenial_AMD64.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/mariadb-client-core-10.1_10.1.14+maria-1~xenial_AMD64.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/mariadb-common_10.1.14+maria-1~xenial_all.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/mariadb-server-core-10.1_10.1.14+maria-1~xenial_AMD64.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/m/mariadb-10.1/mysql-common_10.1.14+maria-1~xenial_all.deb
wget https://downloads.mariadb.com/files/MariaDB/mariadb-10.1.14/repo/ubuntu/pool/main/g/galera-3/galera-3_25.3.15-xenial_AMD64.deb
apt purge mariadb-server
apt autoremove --purge
apt clean
rm -rf /etc/mysql/
rm -rf /var/lib/mysql/
rm -rf /var/log/mysql/
rm -f /var/log/mysql.*
rm -f /etc/systemd/system/mysql.service
rm -f /etc/systemd/system/mysqld.service
rm -f /etc/rc0.d/K03mysql
rm -f /etc/rc1.d/K03mysql
rm -f /etc/rc2.d/S03mysql
rm -f /etc/rc3.d/S03mysql
rm -f /etc/rc4.d/S03mysql
rm -f /etc/rc5.d/S03mysql
rm -f /etc/rc6.d/K03mysql
rm -f /var/lib/systemd/deb-systemd-helper-enabled/mysql.service
rm -f /var/lib/systemd/deb-systemd-helper-enabled/mysqld.service
rm -f /etc/apparmor.d/abstractions/mysql
rm -f /etc/apparmor.d/cache/usr.sbin.mysqld
rm -rf /etc/systemd/system/mariadb.service.d
rm -f /etc/systemd/system/multi-user.target.wants/mariadb.service
rm -f /var/lib/systemd/deb-systemd-helper-enabled/mariadb.service.dsh-also
rm -f /var/lib/systemd/deb-systemd-helper-enabled/multi-user.target.wants/mariadb.service
rm -f /var/lib/systemd/deb-systemd-helper-enabled/mysql.service
rm -f /var/lib/systemd/deb-systemd-helper-enabled/mysqld.service
rm -rf /var/lib/apt/lists/*
apt update
apt install iproute libaio1 libcgi-fast-Perl libcgi-pm-Perl libdbd-mysql-Perl libdbi-Perl libencode-locale-Perl libfcgi-Perl libhtml-parser-Perl libhtml-tagset-Perl libhtml-template-Perl libhttp-date-Perl libhttp-message-Perl libio-html-Perl libjemalloc1 liblwp-mediatypes-Perl libtimedate-Perl liburi-Perl socat
dpkg -i mysql-common_10.1.14+maria-1~xenial_all.deb 
dpkg -i mariadb-common_10.1.14+maria-1~xenial_all.deb 
dpkg -i libmariadbclient18_10.1.14+maria-1~xenial_AMD64.deb libmysqlclient18_10.1.14+maria-1~xenial_AMD64.deb mariadb-client-10.1_10.1.14+maria-1~xenial_AMD64.deb mariadb-client-core-10.1_10.1.14+maria-1~xenial_AMD64.deb mariadb-server-10.1_10.1.14+maria-1~xenial_AMD64.deb mariadb-server-core-10.1_10.1.14+maria-1~xenial_AMD64.deb galera-3_25.3.15-xenial_AMD64.deb 

Maintenant, je peux commencer mon premier nœud avec galera_new_cluster et tous les autres nœuds avec service mysql start.

Il doit y avoir un bogue avec les scripts SystemD/SystemCTL dans 10.1.16.

1
Andrew Ensley