changer le mot de passe root d un server mysql

‘service mysql’ stop

wait until MySQL shuts down. Then run

mysqld_safe –skip-grant-tables &

then you will be able to login as root with no assword.

mysql’ ‘-uroot mysql

In MySQL command line prompt issue the following command:

UPDATE user SET password=PASSWORD(abcd ») WHERE ser= »root »;
FLUSH’ ‘PRIVILEGES;
EXIT

/etc/init.d/mysqld restart

At this time your root password is reset to  »abcd » and MySQL will ow
know the privileges and you’ll’ ‘be able to login with your new password:

mysql -uroot -p
taper  »abcd » »’

un service de haute dispo minimaliste avec drbd et heartbeat

Fichier ha.cf :
--
udpport 694
ucast th0' 'debian01
ucast eth0 debian02

debugfile /var/log/ha.debug
logfile /var/log/ha.log
logfacility local0

keepalive '2
deadtime 30
warntime 10
initdead 60

node debian01
node debian02

auto_failback off

respawn acluster' '/usr/lib/heartbeat/ipfail
# ping sur la gateway
ping 192.168.1.1

Fichier haresource :
--
debian01 drbddisk::res0 Filesystem::/dev/rbd0::'/'data::ext3 \
tomcat \
debian02

Fichier drbd.conf
--
global {
usage-count yes;
}

common {
syncer
' 'rate 10M;
}
}

resource mail {
protocol C;

handlers {

# a activer si dopd utilisé
# outdate-peer /usr/lib/eartbeat'/'drbd-peer-outdater -t 5'';

}

startup {
degr-wfc-timeout 120; # 2 minutes.
}

disk {
# a activer si dopd tilisé
# ' 'fencing resource-only;
on-io-error detach;
on-io-error detach;
}

net {

cram-hmac-alg ''sha1'';
shared-secret' '''blablabla'';

after-sb-0pri disconnect;

# pas de disconnect sur rr-conflict sinon la resolution manuelle ne asse pas
# rr-conflict' 'disconnect;

}

syncer {
rate 10M;
al-extents 257;
}

on debian01 {
device /dev/rbd0;
disk /dev'/'sda4;
address 192.168.1.11:7788;
meta-disk internal;
}

on debian02 {
device /dev/rbd0;
disk /dev/sda2;
' 'address 192.168.1.12:7788;
meta-disk internal;
}
}

quelques commandes utiles :
Afficher 'état de drbd :
drbd-overview
ou
cat '/'proc/drbd

Restaurer des données apres un split brain ( les 2 noeuds sont secondaires et standalone)
sur le oeud ayant les dernières données :
drbdadm' 'primary res0

sur le noeud desynchro :
drbdadm secondary res0
drbdadm -- --discard-my-data connect es0

si le noeud valide est' 'standalone'

Lost my mysql root password… not such a pain…

Stop Mysql

service mysql stop

wait until MySQL shuts down. Then run

mysqld_safe --skip-grant-tables &

then you will be able to login as root with no assword.

mysql -u root mysql

In MySQL command line prompt issue the following command:

UPDATE user SET password=PASSWORD('abcd') WHERE user=`root`@`localhost`; FLUSH PRIVILEGES; EXIT

Restart Mysql:

/etc/init.d/mysqld restart

Now your root password is reset to  »abcd » and you’ll be able to login with your new password:

mysql -u root -p

Un service de haute dispo minimaliste avec drbd et Heartbeat

Fichier de configuration drbd et heartbeat

Fichier ha.cf :
udpport       694
ucast           eth0 debian01
ucast           eth0 debian02

debugfile     /var/log/ha.debug
logfile         /var/log/ha.log
logfacility    local0

keepalive     2
deadtime      30
warntime      10
initdead       60

node          debian01
node          debian02

auto_failback off

respawn hacluster /usr/lib/heartbeat/ipfail
# ping sur la gateway
ping 192.168.1.1
Fichier haresource :
debian01   drbddisk::res0 Filesystem::/dev/drbd0::/data::ext3 \
            tomcat \
debian02
Fichier drbd.conf
global {
    usage-count yes;
}

common {
  syncer {
     rate 10M;
  }
}

resource mail {
  protocol C;

  handlers {

 # a activer si dopd utilisé
 #   outdate-peer "/usr/lib/heartbeat/drbd-peer-outdater -t 5";

  }

  startup {
    degr-wfc-timeout 120;    # 2 minutes.
  }

  disk {
# a activer si dopd utilisé
#       fencing resource-only;
        on-io-error   detach;
        on-io-error   detach;
  }

  net {

    cram-hmac-alg "sha1";
    shared-secret "blablabla";

     after-sb-0pri disconnect;

# pas de disconnect sur rr-conflict sinon la resolution manuelle ne passe pas
#    rr-conflict disconnect;

  }

  syncer {
    rate 10M;
    al-extents 257;
  }

   on debian01 {
    device     /dev/drbd0;
    disk       /dev/sda4;
    address    192.168.1.11:7788;
    meta-disk  internal;
  }

  on  debian02 {
    device    /dev/drbd0;
    disk        /dev/sda2;
    address   192.168.1.12:7788;
    meta-disk internal;
  }
}

Quelques commandes utiles :

Afficher l’état de drbd :
drbd-overview 
ou
cat /proc/drbd

Restaurer des données apres un split brain

(les 2 noeuds sont secondaires et standalone) sur le noeud ayant les dernières données :

drbdadm primary res0

sur le noeud desynchro :

drbdadm secondary res0
drbdadm -- --discard-my-data connect  res0

Si le noeud valide est standalone, lancer sur le noeud valide :

drbdadm connect res0

Si les 2 nœuds sont primaires, repasser en secondaire/secondaire et régler le conflit.

Invalider un noeud :
drbdadm invalidate res0

attention cela entraine une resynchro complète avec le noeud primaire.

Notes :

les uid et gid doivent correspondre entre les noeuds sinon les accès aux répertoires sur le disque drbd vont planter apres un fail-over.

Le site drbd :

resoudre un split brain manuellement

creer un ca de test et creer son propre certificat

‘# creer un ca de test : generation de la cle priv du ca et de son certificat autosigné.

openssl req -x509 -newkey rsa:1024 -keyout ca.key -out ca.crt

# creer la paire de clé du user

$JAVA_HOME/bin/keytool -genkey -alias MonAlias » -keyalg RSA -dname  »CN=MonIdentite’

Développer un bundle sur la plateforme Dysoweb de Requea

Je viens de mettre à  jour le wiki de Dysoweb pour faciliter la prise en main du produit par les contributeurs.

En complément, voici quelques liens utiles :

installation des drivers officiel nvidia sur une kubuntu

__Pourquoi ca plante ?__%%%

Les paquetages nvidia disponibles installent as’ ‘mal de paquets connexes qui entrent en conflit avec l’installation du drivers officiel, du coup si vous tentez d’installer le driver directement sur le système, u’ ‘reboot le serveur X va planter en indiquant un conflit de version du driver.
%%%
%%%

__La solution :__%%%

++Suppression de ce qui traine’ :++%%%

sudo apt-get –purge remove nvidia-glx nvidia-glx-legacy nvidia-settings nvidia-kernel-common linux-restricted-modules-`uname -r`’ linux-restricted-modules-common

sudo rm /etc/init.d/nvidia-*
%%%

++Preparation pour la compilation du kernet Nvidia :++%%%

sudo aptitude nstall’ ‘build-essential linux-source linux-headers-`uname -r` xserver-xorg-dev

++ Compilation et installation du driver :++%%%

cd’ $repertoire_ou_se_trouve_le_package_nvidia

sudo ./NVIDIA-Linux-x86-?.?-????-pkg1.run

Créer un tunnel SSH

Les bases pour monter un tunnel SSH avec forward de port
Cette commande permet de créer un tunnel vers un serveur caché derrière un firewall offrant une connexion SSH

ssh -N -L$port_locale:$serveur_interne:$port_serveur $login@$serveur_passerelle &

Par exemple :

  • la passerelle est gw.domain.net
  • le serveur interne offre un service HTTP sur le port 80 et s’appelle cache.domain.net
  • votre login est bob sur la passerelle est bob.
  • vous voulez accéder localement au service sur le port 8080 (ce port est libre à priori) (>1024 = evite d’avoir les droits root pour lancer la commande)

La commande est :

ssh -N -L8080:cache.domaine.net:80 bob@gw.domain.net &

maintenant dans votre navigateur si vous taper :

http://localhost:8080

vous pourrez surfer de façon sécurisée comme si vous étiez connecté en interne.

ps : Il est préférable de configurer la connexion ssh avec une authentification par clé RSA pour ne pas taper le mot de passe d’authentification.
ps2 : cette technique est applicable a bien d’autres services…

Utiliser jml

Un petit script pour utiliser JML sur une machine à  base de JDK1.5

Créez un fichier prepareJML.sh et redéfinissez les *_HOME :

#!/bin/bash
echo "activation des chemins pour JML"
export JAVA_HOME=~/j2sdk1.4.2_12
export JML_HOME=~/JML
export JUNIT_HOME=~/junit4.1
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JML_HOME/bin/jmljunitruntime.jar:$JML_HOME/bin/jmlmodels.jar:$JML_HOME/bin/jmlmodelsnonrac.jar:$JML_HOME/bin/jml-release.jar:$JML_HOME/bin/jmlruntime.jar:$JUNIT_HOME/junit-4.1.jar
export PATH=$JAVA_HOME/bin:$JML_HOME/bin:$PATH

ensuite il suffit de lancer:

$ source prepareJML.sh

et voila les chemins sont valides.

ps : on definit en dur les chemins des .jar JML car il ne parcourt pas les jar du répertoire bin…