Optimisation MySQL/MariaDB

Quelques notes pour l’optimisation d’un serveur MySQL/MariaDB.

Cela se passe dans le fichier /etc/mysql/mariadb.conf.d/50-server.cnf sur un serveur Ubuntu 22.04

innodb_buffer_pool_size devrait être à 80% de la RAM allouée à MySQL/MariaDB

Utiliser le script MySQLTuner disponible ici : https://github.com/major/MySQLTuner-perl

Il y a probablement beaucoup d’autres choses à faire, si vous en connaissez n’hésitez pas à laisser un commentaire (je ne suis pas DBA).

Quand les rongeurs attaquent les voitures

Il y a quelques mois j’ai eu la mauvaise surprise de ne plus avoir de liquide lave-glace dans ma voiture. Je prends alors mon bidon pour emplir le réservoir adéquate et là tout le liquide se répand sur le sol 😞Quelques jours plus tard, la même chose pour la voiture de ma femme. La révision étant programmée la semaine suivante, j’en parle à mon garagiste. Après la révision celui-ci me montre la durite grignoté par un rongeur. Celle-ci ayant un peu de marge il n’a pas eu besoin de la remplacée, juste la raccourcir.

Je me suis rendu compte sur Internet que je n’étais pas seul dans ce cas. Mon garagiste m’a aussi confirmé que cela arrivait régulièrement que les les rongeurs s’attaquent aux durites et faisceaux électriques. Celui-ci m’a conseillé le produit suivant : Bardahl 4492 ANTI RONGEURS REPULSIF

Il est disponible sur Amazon ICI

Pour éviter d’avoir d’autres problèmes de ce type j’ai aussi ajouté des boites avec de l’anti-rats à côté des voitures.

Disponible ICI

Disponible ICI

Espérant que cet article pourra vous être utile.

Idées de lectures pour l’été

ou l’hiver au choix.

Voici une liste de quelques livre que j’ai lu dernièrement, si cela peut vous donner des idées de lecture.

Hacke-moi si tu peux – Mémoires d’un cyberpirate repenti de Florent Curtet

Disponible sur Amazon

Mémoires Vives d’Edward Snowden

Disponible sur Amazon

Ready Player One d’Ernest Cline

Disponible sur Amazon

Redémarrer automatiquement Apache/MySQL avec monit

Sur un serveur web LAMP il peut arriver que la processus Apapche 2 ou MariaDB/MySQL se termine de façon anormale ou soit terminé par OOM Killer.

Pour surveiller ces processus il existe monit qui est très simple d’utilisation. Voici comment l’installer sur un Ubuntu Server 22.04 :

sudo apt install monit

Aller dans le répertoire de configuration de monit :

cd /etc/monit/conf.d/

Créer un fichier pour Apache, apache.conf contenant :

check process apache with pidfile /run/apache2/apache2.pid
    start program = "/usr/sbin/service apache2 start"
    stop program = "/usr/sbin/service apache2 stop"
    if failed host 127.0.0.1 port 80 protocol http then restart
    if 5 restarts within 5 cycles then timeout

Créer un second fichier pour MariaDB/MySQL, mysql.conf :

check process mysqld with pidfile /run/mysqld/mysqld.pid
    start program = "/usr/sbin/service mysql start"
    stop program = "/usr/sbin/service mysql stop"
    if failed host 127.0.0.1 port 3306 protocol mysql then restart
    if 5 restarts within 5 cycles then timeout

Puis redémarrer monit et vérifier que celui-ci fonctionne bien :

sudo service monit restart
sudo service monit status
● monit.service - LSB: service and resource monitoring daemon
     Loaded: loaded (/etc/init.d/monit; generated)
     Active: active (running) since Wed 2023-06-07 08:14:53 CEST; 4s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 58545 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 9518)
     Memory: 1.7M
        CPU: 31ms
     CGroup: /system.slice/monit.service
             └─58551 /usr/bin/monit -c /etc/monit/monitrc

Jun 07 08:14:53 ip-172-31-26-128 systemd[1]: Starting LSB: service and resource monitoring daemon...
Jun 07 08:14:53 ip-172-31-26-128 monit[58545]:  * Starting daemon monitor monit
Jun 07 08:14:53 ip-172-31-26-128 monit[58545]:    ...done.
Jun 07 08:14:53 ip-172-31-26-128 systemd[1]: Started LSB: service and resource monitoring daemon.

Et voilà, c’est en place. monit vérifie toutes les 2 minutes que les processus fonctionnent et les redémarre si besoin.

Recopier les bases données d’un serveur MySQL/MariaDB vers un autre

Voici un script Bash très simple qui permet de migrer toutes les bases de données d’un serveur MySQL/MariaDB vers un autre serveur.

Celui-ci peut servir par exemple pour migrer vers un serveur AWS RDS.

#!/bin/bash

# configuration de la machine hébergeant le serveur MySQL source
DB_HOST_PROD="srv.source.com"
# configuration de l'utilisateur MySQL et de son mot de passe
DB_USER_PROD="root"
DB_PASS_PROD="PASSWORD"

# configuration de la machine hébergeant le serveur MySQL de destination
DB_HOST_RDS="srv.dest.com"
# configuration de l'utilisateur MySQL et de son mot de passe
DB_USER_RDS="admin"
DB_PASS_RDS="PASSWORD"

# récupération de la liste des bases
DATABASES=`MYSQL_PWD=$DB_PASS_PROD mysql -h $DB_HOST_PROD -u $DB_USER_PROD -e "SHOW DATABASES;" | tr -d "| " | grep -v -e Database -e _schema -e mysql`
# boucle sur les bases pour les dumper
for DB_NAME in $DATABASES; do
    # Pour créer les bases de données
    echo "create database if not exists $DB_NAME;" | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS

    now=$(date +"%T")
    echo $now $DB_NAME
    #MYSQL_PWD=$DB_PASS_PROD mysqldump -u $DB_USER_PROD --column-statistics=0 --single-transaction --skip-lock-tables $DB_NAME -h $DB_HOST_PROD | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS -D $DB_NAME # en fonction de la version de MySQL/MariaDB
    MYSQL_PWD=$DB_PASS_PROD mysqldump -u $DB_USER_PROD --single-transaction --skip-lock-tables $DB_NAME -h $DB_HOST_PROD | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS -D $DB_NAME
done

Migrer de Twitter vers Mastodon

Suite au rachat de Twitter par Elon Musk et à ses différentes décisions dans la gestion de ce réseau social beaucoup de personnes souhaitent passer sur le réseau social décentralisé Mastodon.

Voici donc quelques informations pour ceux qui sont perdus.

1.Choisir un serveur : Mastodon étant décentralisé il n’y pas “un seul serveur” comme pour Twitter. Le serveur du créateur de Mastodon est https://mastodon.social/ mais vous pouvez choisir parmi une multitude de serveurs. Une liste se trouve ici : https://joinmastodon.org/fr/servers

2. Créer un compte sur le serveur choisi et identifier son adresse en cliquant sur son profil. Par exemple la mienne est @brihx@mastodon.social

3. Ajoutez votre adresse Mastodon dans votre profil Twitter, cela permet aux personnes qui souhaitent migrer comme vous de pouvoir vous retrouver mais aussi aux outils qui vont suivre de vous aider pour la migration.

4. Connectez-vous sur l’outil Debirdfly https://debirdify.pruvisto.org/ et suivez les instructions. Puis recherchez les comptes que vous suivez. En bas de la page vous pourrez exporter un fichier CSV compatible avec l’import de Mastodon.

5. Importez le fichier CSV de l’étape précédente en allant dans les préférences de votre compte Mastodon puis Import et export > Import de données, type d’import : Liste d’utilisateur, Fusionner puis bouton Importer

Vous pouvez aussi importer les comptes qui vous suivent avec le même outil.

Assurer la transition avec l’outil Moa https://moa.party/ qui permet de poster d’un compte vers l’autre et inversement : Twitter <> Mastodon, comme ça pas besoin de poster 2 fois.

Au niveau des applications mobiles il y a Tusky sur Androïd et metatext sur iOS

Utilitaires macOS gratuites

Voici quelques utilitaires gratuites et/ou libres que j’utilise sur mon Mac.

Hot : pour connaitre la température et les voltages de son Mac (très utile par ces fortes chaleurs de 2022). La température est visible directement dans la barre de menu. A télécharger ici : https://github.com/macmade/Hot

Hot

Flycut : est un manager de presse papier. Cela permet de garder en mémoire un certain nombre de copier pour faire coller plus tard. Disponible dans le Mac App Store https://apps.apple.com/fr/app/flycut-clipboard-manager/id442160987?mt=12

Topgrade : pour mettre facilement son Mac à jour. Attention ça se lance en ligne de commande donc c’est un peu pour les geeks. Toutes les infos là : https://github.com/r-darwish/topgrade

Topgrade

Les extensions Firefox que j’utilise en 2022

Pour mémoire et comme cela m’inspire aussi quand d’autres blogueurs partagent les extensions Firefox qu’ils utilisent. Voici celles que j’utilise au quotidien.

uBlock Origin : pour bloquer les publicités et les pisteurs. Page officielle : https://github.com/gorhill/uBlock#ublock-origin

Decentraleyes : permet de stocker sur votre disque les librairies utilisées par les sites sans avoir à les télécharger à chaque fois. Cela réduit l’usage du réseau Internet (et du forfait) donc accélère la navigation mais aussi évite le pistage par les fournisseurs de ces contenus. Page officielle : https://decentraleyes.org/

Return YouTube Dislike : comme son nom l’indique cette extension permet de retrouver les compteurs de j’aime/j’aime pas sur Youtube. Pas indispensable mais permet de savoir rapidement si une vidéo est potentiellement erronée ou autre.

SingleFile : cette extension permet de sauvegarder une page d’un site Internet dans un simple fichier HTML. Page officielle : https://github.com/gildas-lormeau/SingleFile

Grammalecte : Correcteur grammatical, orthographique et typographique pour le français. Page officielle : https://grammalecte.net/

Tabliss : permet d’avoir une jolie photo à l’ouverture d’un nouvel onglet, totalement inutile donc indispensable. Page officielle : https://tabliss.io/

Firefox Multi-Account Containers : L’extension Firefox Multi-Account Containers vous permet de créer un compartiment distinct pour chacune de vos vies en ligne. Page officielle : https://github.com/mozilla/multi-account-containers#readme

Maintenant quelques extensions pour les développeurs et bidouilleurs.

Tampermonkey : permet d’ajouter des scripts sur certaines pages. Pour votre sécurité attention à la provenance des scripts ! Page officielle : https://www.tampermonkey.net/

User-Agent Switcher : pour changer le User-Agent du navigateur. Page officielle : https://mybrowseraddon.com/useragent-switcher.html

Wappalyzer : une extension qui dévoile les technologies utilisées par les sites web. Page officielle : https://www.wappalyzer.com/

Cookie-Editor : pour modifier les cookies. Page officielle : https://cookie-editor.cgagnier.ca/

En test (août 2022)

VT4Browsers : une extension pour faciliter l’analyse des téléchargements par VirusTotal

Jiffy Reader : une extension pour s’entrainer à la lecture rapide. Celle-ci met en surbrillance les premières lettres des mots : https://github.com/ansh/jiffyreader.com#readme

Pourquoi mon PC n’est pas compatible avec Windows 11

Microsoft a mis un logiciel à disposition pour savoir si votre ordinateur est compatible ou non avec Windows 11 mais celui-ci ne précise pas pourquoi il n’est pas compatible quand c’est le cas.

Des développeurs ont donc mis à disposition un logiciel qui permet de connaître la ou les raisons : WhyNotWin11

https://user-images.githubusercontent.com/716581/123747880-7ded0c00-d881-11eb-9fdc-cd49a6ff74dc.png

Pour plus d’informations rendez-vous sur leur site WhyNotWin11

Wifi Windows 10 : augmenter le débit

Avec Windows 10 et un PC portable récent il arrive que Windows choisisse de se connecter au réseau Wifi en utilisant une vieille norme (n : 2.4 GHz) au lieu d’utiliser une norme plus rapide (ac : 5Gz).

Pour améliorer la connexion Wifi il faut demander à Windows de préférer la nouvelle norme.

Attention cette astuce est uniquement possible si le réseau Wifi sur lequel vous êtes connecté le supporte, c’est normalement le cas avec une box internet à jour.

Pour cela il faut aller dans le gestionnaire de périphériques : touche windows du clavier puis taper “péri” :

Puis sélectionner votre carte Wifi, pour la trouver il y a souvent marqué Wireless, clique droit sur ce périphérique puis Propriétés, choisir Bande privilégiée et remplacer la valeur par la plus grande possible ici 3 avec bande 5GHz (rien à voir avec la 5G mobile). Cliquer sur le bouton OK, aucun redémarrage nécessaire.

Pour vérifier que cela change quelque chose, ouvrir le gestionnaire de tâches (clique droit sur la barre de tache Windows puis “Gestionnaire de tâches”) dans l’onglet performance :