web-dev-qa-db-fra.com

mysql / percona: impossible de définir le mot de passe pour l'utilisateur "root" de Percona Server- ppc64el

Environnement

Je travaille pour IBM et j'essaie de créer un prototype de netboot (pxe) pour ubuntu. Cette question est utilisée pour identifier un problème rencontré lors de l'utilisation de juju pour déployer le bundle https://jujucharms.com/u/openstack-charmers-next/openstack-base/4 . Le bundle déploie tous les services nécessaires (openstack, rabbitmq, ceph, mysql (percona) et ainsi de suite. Malheureusement le bundle openstack 40 prêt à l'emploi échoue lors du déploiement de mysql/percona.

Problème

Lors de la configuration de percona pour mysql, il échoue en raison de

Impossible de définir le mot de passe pour l'utilisateur "root" de Percona Server

Le message ci-dessus apparaît dans le journal de mysql sur le nœud/la machine qui exécute le conteneur lxc pour mysql/percona.

Si vous utilisez le statut juju, vous verrez ceci:

mysql:
charm: cs:~openstack-charmers-next/trusty/percona-cluster-7
exposed: false
service-status:
  current: error
  message: 'hook failed: "install"'   <=====================
  since: 14 Oct 2015 16:19:51Z
relations:
  cluster:
  - mysql
units:
  mysql/0:
    workload-status:
      current: error
      message: 'hook failed: "install"'  <=====================
      since: 14 Oct 2015 16:19:51Z
    agent-status:
      current: idle
      since: 14 Oct 2015 16:19:51Z
      version: 1.24.6
    agent-state: error
    agent-state-info: 'hook failed: "install"'
1
David Bostjancic

Résolution

Cela montre un exemple de la façon de le réparer en utilisant un bundle autonome uniquement pour mysql (percona). Fondamentalement, il faut autoriser le paquet openstack40 à aller jusqu'au point d'échec du charme de mysql et ensuite vous devez réparer les choses. Vous trouverez ci-dessous l'exercice que nous avons effectué pour que seul le charme mysql (percona) fonctionne après le problème. Remplacez simplement percona.yaml par openstack yaml que vous utilisez. Notez que pour ppc64le, vous devez obtenir le yaml openstack 40 et le mettre à jour vers Arch = ppc64el car le bundle openstack 40 du magasin de charme n'est pertinent que pour x86.

  1. Déployer mysql/percona

     juju-deployer -c /root/.juju/bundles/percona.yaml -s 90 -d -v
    
  2. Frappez le problème de mot de passe mysql. Le problème répertorié ci-dessus.

  3. Définir le mot de passe dans le conteneur mysql

    chroot /var/lib/lxc/juju-machine-0-lxc-1/rootfs/
    
     passwd root
    

    ---> pour le mot de passe POC: xxxxxxxx

     exit
    

    Notez que nous listons lxc machine juju-machine-0-lxc-1 dans l'exemple. Ce doit être le lxc sur lequel mysql se déploie.

  4. Connectez-vous au conteneur

    lxc-console -n juju-machine-0-lxc-1
    
  5. Correction d'un problème

    UPDATE mysql.user SET Password=PASSWORD('PASSW0RD') WHERE User='root';
    
    FLUSH PRIVILEGES;
    
    exit
    

    https://serverfault.com/questions/502840/percona-mysql-unable-to-start-error-the-server-quit-without-updating-pid-file

  6. Tell juju fixed charm

    juju resolved mysql/0 --retry  --show-log --debug
    
  7. Redrive, montre que les étapes précédentes sont déployées et se poursuit à partir d'un échec de charme.

    juju-deployer -c /root/.juju/bundles/percona.yaml -s 90 -d -v
    
1
David Bostjancic