mercredi 30 novembre 2011

Suppression mot de passe root dans mysql


Démarrer mysql avec la ligne de commande suivante

freebsd# mysqld_safe --skip-grant-tables &
[1] 5802
freebsd# Starting mysqld daemon with databases from /var/db/mysql

Connecter vous en root sans mot de passe

freebsd# mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.77 FreeBSD port: mysql-server-5.0.77_1


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

Modifier le mot de passe de l'utilisateur root

mysql> update user set password=password('nvmot2passe') where user='root';
Query OK, 3 rows affected (0.01 sec)
Rows matched: 3  Changed: 3  Warnings: 0


mysql> exit
Bye
freebsd#

Puis redémarrez mysql normalement.

mardi 29 novembre 2011

Note sur l'installation de mysql sous linux à partir des sources


Préparation
linux:~# apt-get install libaio1
Téléchargement de l'archive:
linux:/usr/local#wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.8-linux2.6-i686.tar.gz/from/http://mirrors.ircam.fr/pub/mysql/

linux:/usr/local# tar xzvf index.html
linux:/usr/local#rm index.html
linux:/usr/local# ln -s mysql-5.5.8-linux2.6-i686 mysql
linux:/usr/local# cd mysql
linux:/usr/local/mysql# useradd -g mysql mysql
linux:/usr/local/mysql# chown mysql.mysql *
linux:/usr/local/mysql# ./scripts/mysql_install_db --user=mysql
linux:/usr/local/mysql# ./bin/mysqld_safe --user=mysql &
linux:/usr/local/mysql# ./bin/mysqladmin -u root password motdepasseanepasoublier
linux:/usr/local/mysql# ln -s /usr.local/mysql/support-files/mysql.server /etc/init.d/
linux:/usr/local/mysql# runlevel
N 2
linux:/usr/local/mysql# ln -s /usr.local/mysql/support-files/mysql.server /etc/init.d/
linux:/usr/local/mysql# cd /etc/
linux:/etc# ln -s /etc/init.d/mysql.server ./rc2.d/S99mysql
linux:/etc# ln -s /etc/init.d/mysql.server ./rc0.d/K10 mysql
linux:/etc# cd /usr/local/bin/
linux:/usr/local/bin# ln -s /usr/local/mysql/bin/mysqladmin
linux:/usr/local/bin# mysqladmin -u root status

lundi 28 novembre 2011

Mémo mysql


Version de mysql

linux:~# mysql --version
mysql  Ver 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2


Connexion au serveur mysql

linux:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 28
Server version: 5.0.51a-24+lenny4 (Debian)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


Création d'un utilisateur  Les droits peuvent être sur les commandes (create, delete, update, ...) et sur des parties de la base (base.nomtable)

mysql>grant all on mabase.*
-> id int not null auto_increment primary key,
-> to user1@machine.com
->identified by 'password';

jeudi 24 novembre 2011

Installation de mysql sous freebsd

Installation de mysql sous freebsd à partir des ports


cd /usr/ports/databases/mysql50-server/
make
make install clean
/usr/local/bin/mysql_install_db
chown -R mysql /var/db/mysql/
chgrp -R mysql /var/db/mysql/

dans /etc/rc.conf
mysql_enable="YES"

/usr/local/etc/rc.d/mysql-server start
/usr/local/bin/mysqladmin -u root password "motdepasse"

mardi 15 novembre 2011

ntpdate dans la crontab

ntpdate est un utilitaire linux qui permet la connexion à un serveur ntp pour mettre à jour l'heure d'un système.
La commande suivante met à l'heure le système toute les 15 minutes en se connectant au serveur serveur.ntp.fr (serveur fictif).

 15 * * * * /usr/sbin/ntpdate serveur.ntp.fr > /dev/null 2>&1

lundi 14 novembre 2011

3 règles simples pour la conception de bases de données


1 - Liaison de 1 vers 1


Placer les données dans la même table.
Une exception: lorsque les tables ont de nombreuses colonnes dont certaines sont très peu utilisées. Pour des raisons de performance, on pourra scinder la table en plusieurs parties.

2 - Liaison de 1 vers n


Placer les données dans deux tables différentes. Ces données sont liées via un champ id.
La clé primaire dans chaque table sera id.

table 1 (1)              (n) table2
|donnée|id| -------- |id|donnée|

3 - Liaison de n vers n


Placer les données dans deux tables différentes liées avec une troisième table de recherche.
La clé primaire des deux premières tables est l'id,  la clé primaire de la troisième est l'association des id des deux colonnes.

table 1 (n)            table 3             table 2 (n)
|donnée|id| ------ |id|id2| ------- |id|donnée|

vendredi 11 novembre 2011

Commande SNMP snmpget et snmpwalk


snmpwalk -v 2c -c communauté_snmp @IP


Par exemple:
snmpwalk -v 2c -c macom 192.168.100.1


snmpget -v 2c -c communauté_snmp @IP OID
Par exemple:
snmpget -v 2c -c macom 192.168.100.1 .1.3.6.1.3.25.2.5.36.0

mercredi 9 novembre 2011

Quelques exemples de commandes tcpdump


Uniquement les communications avec une machine
linux# tcpdump host 192.168.2.1
Tout ip sauf une adresse IP
linux# tcpdump ip host not 192.168.2.1
Tout sauf une adresse IP et uniquement les protocoles udp et tcp
 linux# tcpdump ip host not 192.168.2.1 and tcp or udp
Uniquement les trames reçues sur le port 22
linux# tcpdump dst port 22
Uniquement les communications concernant le port 80
linux# tcpdump port 80
Mode bavard et très bavard
linux# tcpdump -v port 80
linux# tcpdump -vv port 80
Dans le détail style wirershark puis rediriger dans un fichier
tcpdump -X -x -s 0 -vv > fichier
Pour être lu par wireshark
tcpdump -x -w fichier

lundi 7 novembre 2011

Rotation des logs sous freebsd


Utilisation de newsyslog
Exemple de fichier de configuration:
freebsd# cat /etc/newsyslog.conf
# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/var/log/maillog                        640  7     *    @T00  JC
/var/log/messages                       644  5     100  *     JC
/var/log/monthly.log                    640  12    *    $M1D0 JN
Il faut donc ajouter le fichier de log à surveiller.
Il est ensuite possible d'ajouter des options:
- le nom et le groupe du fichier (par défaut root:wheel)
- le nombre de fichiers de log différents conservés
- la taille maximale d'un fichier (en KO) à atteindre
- une option pour une rotation en fonction du temps (* si on utilise pas l'option)
- un drapeau indiquant d'éventuel traitement pour les fichiers (compression, ...)
- un champ optionnel indiquant le fichier contenant l'id du processus (voir le manuel)
Le fichier est scanné en fonction de la crontab (par défaut toutes les heures) :
freebsd# cat /etc/crontab
# Rotate log files every hour, if necessary.
0       *       *       *       *       root    newsyslog

mercredi 2 novembre 2011

Configuration IPv6 - Linux redhat / CentOS


Pour configurer une adresse IPv6 statique sur un serveur Linux redhat.

Il faut tout d'abord activer le protocole pour le réseau dans le fichier /etc/sysconfig/network.
Ce qui nous donne:
[root@localhost ~]# more /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=localhost.localdomain
[root@localhost ~]#
Puis tout comme IPv4, il faut ajouter la configuration IP dans le fichier correspondant à l'interface /etc/sysconfig/network-scripts/ifcfg-ethx
[root@localhost ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82576 Gigabit Network Connection
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:1b:21:fc:21:99
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=yes
IPV6ADDR=2001:0123:2807:0000:0000:0000:0000:0020/64
IPV6DEFAULTGW=2001:0123:2807:0000:0000:0000:0000:0001
Si le masque est /64, il est possible d'omettre celui-ci dans la configuration.

Activation de la configuration



Bien sur, pour prendre en compte la configuration, un  service network restart est nécessaire.
[root@localhost ~]# service network restart
Arrêt de l'interface eth0 :                               [  OK  ]
Arrêt de l'interface loopback :                           [  OK  ]
Activation de l'interface loopback :                       [  OK  ]
Activation de l'interface eth0 :                           [  OK  ]
[root@localhost ~]#
Affichage de la configuration:
On utilise soit la commande ifconfig, soit la commande ip -6 addr show
[root@localhost ~]# ip -6 addr show dev eth0
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
 inet6 2001:123:2807::20/64 scope global
 valid_lft forever preferred_lft forever
 inet6 fe80::21b:21ff:fefc:2399/64 scope link
 valid_lft forever preferred_lft forever
[root@localhost ~]#
Et pour le routage, on fait un ip -6 route show
[root@localhost ~]# ip -6 route show
fe80::/64 dev eth0  metric 256  expires 21334185sec mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::211:bcff:fe8a:6000 dev eth0  proto kernel  metric 1024  expires 1612sec mtu 1500 advmss 1440 hoplimit 64
default via fe80::211:bcff:fe8a:9000 dev eth0  proto kernel  metric 1024  expires 1612sec mtu 1500 advmss 1440 hoplimit 64
[root@localhost ~]#

Comment ajouter une route statique sur une distribution Linux Ubuntu

Pour ajouter une route statique au démarrage d'Ubuntu, voici le fichier à modifier. Dans l'exemple on ajoute une route pour joindre ...