MariaDB : résoudre l'erreur "Column count of mysql.proc is wrong"

Serveur dédié : installation de MariaDB 10.3 photo

Sur l'un des serveurs de mes clients Codeable, j'ai mis à jour MariaDB de la version 10.1 à la version 10.3 et voici ce que retournait MariaDB lors du lancement de procédures: Si cela arrive, pas de panique: MaraDB fonctionne et le site s'affiche mais la base de données mysql n'a pas été mise à jour par apt, il faut lancer la procédure d'installation manuellement, depuis le terminal. On met donc la base mysql à jour avec mysql-upgrade: et on […]

Lire la suite »

WordPress : résoudre le problème de la table wp_options à qui manquent une colonne Unique et une Primary Key

WordPress : résoudre le problème de la table wp_options à qui manquent une colonne Unique et une Primary Key photo

Chez Codeable, j'ai travaillé sur l'optimisation d'un site e-commerce propulsé par WooCommerce récemment, qui connaissait quelques problèmes de lenteur. Sous phpMyAdmin, on trouvait également cette erreur: Si vous obtenez cette erreur, c'est que la structure de la table wp_options n'est pas à jour donc nous la vérifions avec wp-cli: Le résultat obtenu nous montre qu'il n'y a pas de clé primaire (primary key) qui est normalement option_id et qu'il n'y a pas de restriction unique imposée sur la colonne option_name: […]

Lire la suite »

MariaDB ne veut plus redémarrer : quelques solutions

Serveur dédié : installation de MariaDB 10.3 photo

Sur le serveur chinois que j'ai monté pour un de mes clients sur Codeable, le site a commencé à afficher des erreurs étranges : erreur 502 pour nginx sur certaines pages et des nombres étranges en lieu et place des données de la base de données. Après un redémarrage des services PHP, nginx et mysql, je constate que MariaDB veut bien s'arrêter mais ne veut plus de lancer. Voici ce que donne: Résultat: Bon, chou blanc. Cela ne nous donne […]

Lire la suite »

WordPress : nettoyer les tables wp_options et wp_postmeta

WordPress : nettoyer les tables wp_options et wp_postmeta photo

Nous allons aujourd'hui examiner deux tables importantes de votre base de données WordPress, wp_options et wp_postmeta. C’est un domaine qui est souvent négligé en ce qui concerne les performances globales de WordPress et de la base de données. Cela est très visible sur les sites les plus anciens et les plus gros et peut être la cause des temps de requête lents sur votre site en raison des données à chargement automatique laissées par les plugins et les thèmes tiers. […]

Lire la suite »

The SEO Framework : résoudre l'erreur 404 du fichier sitemap.xml sous NginX

The SEO Framework : résoudre l'erreur 404 du fichier sitemap.xml sous NginX photo

Cela fait belle lurette que j'ai troqué Yoast SEO pour The SEO Framework, qui est bien mieux codé et plus performant. Récemment, lors d'un changement de serveur, je me suis aperçu que l'un des sites avait son fichier sitemap.xml qui renvoyait une erreur 404 sous NginX. Si cela vous arrive, deux solutions s'offrent à vous. Vérification du server block Commencez d'abord par vérifier que votre serveur block contient les bonnes directives pour gérer les règles de WordPress: Sauvez votre server […]

Lire la suite »

Ubuntu : supprimer les vieux kernels et libérer de la place sur la partition /boot

Linux : supprimer les vieux kernels et libérer de la place sur la partition /boot photo

Voici un tutoriel qui vous permet de supprimer les kernels linux installés sur votre serveur/machine qui ne sont pas actuellement utilisés. Cela est utile pour faire un peu de ménage sur la partition /boot, idéalement avant qu'elle ne soit complètement saturée. Sinon, je vous donne aussi l'astuce pour faire le ménage manuellement et retrouver APT complètement opérationnel. Ce tutoriel a été testé sous Ubuntu Server 18.04 LTS, il est complètement transférable sous Ubuntu et Debian. Cas de figure 1: /boot […]

Lire la suite »

NginX : résoudre "upstream sent too big header while reading response header from upstream"

NginX : résoudre "upstream sent too big header while reading response header from upstream" photo

Lors de la mise en ligne d'un nouveau site, je suis tombé sur une page qui ne fonctionnait pas et donnait une erreur 502 avec ce message dans les logs: Si votre serveur utilise NginX, il suffit d'ajouter ces deux lignes à votre server block pour que tout rentre dans l'ordre: L'augmentation de la taille des buffers permet d'envoyer toutes les données d'un coup d'un seul, ce qui résout l'erreur. Il ne reste plus ensuite qu'à relancer le serveur NginX: […]

Lire la suite »

MySQL : résoudre le message "Warning: Using a password on the command line interface can be insecure."

MySQL : résoudre le message "Warning: Using a password on the command line interface can be insecure." photo

J'ai récemment écrit un petit script bash qui me permet de sauvegarder rapidement toutes les bases de données d'un serveur. Le script est lancé par une tâche cron automatiquement, tous les jours. Si l'on passe l'utilisateur et le mot de passe SQL dans la requête, avec mysql ou mysqldump, vous obtiendrez très certainement le message d'avertissement suivant: Et pour cause : cela veut dire que n'importe qui ayant accès au serveur pourra voir, dans les logs ou avec un simple […]

Lire la suite »

PHP : ajouter les directives "HttpOnly" et "Secure" aux cookies de session

PHP : ajouter les directives "HttpOnly" et "Secure" aux cookies de session photo

Les directives "HttpOnly" et "Secure" A l'heure où la grande majorité des sites internet sont passés à HTTPS, il n'est pas rare de constater que PHP ne sert toujours pas les cookies de session avec les directives "HttpOnly" et "Secure". Pourtant, les directives sont bien disponibles dans le fichier php.ini, il suffit donc de les activer. Edition de php.ini On édite donc notre fichier php.ini: Et on modifie ces valeurs : Enregistrez le fichier et relancez PHP: Testez votre site […]

Lire la suite »

Résoudre l'erreur "/var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable"

Résoudre l'erreur "/var/cache/debconf/config.dat is locked by another process: Resource temporarily unavailable" photo

Lors d'une mise à jour APT, il arrive qu'un installeur vous demande s'il faut écraser ou non un des fichiers de configuration existant. C'est le cas notamment de certaines versions de PHP qui requièrent une mise à jour du fichier php.ini Si vous êtes derrière votre terminal, pas de problème. Si par contre, vous ne prêtez pas attention à votre terminal, pensant que tout s'est mis à jour, ou si votre connexion SSH est rompue lors de l'installation, vous risquez […]

Lire la suite »

Serveur dédié : résoudre l'erreur 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' — Missing /var/run/mysqld/mysqld.sock

Serveur dédié : résoudre l'erreur  'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' — Missing /var/run/mysqld/mysqld.sock photo

Après mise à jour du serveur SQL, il est possible d'obtenir cette erreur au redémarrage physique (boot) du serveur : Il se trouve que systemd lance bien le service mysql qui est donc démarré mais ne semble pas pouvoir être en mesure de créer son fichier sock. Il va donc falloir l'aider: On crée un nouveau fichier pour systemd: et on y ajoute ce code qui va permettre de chmoder et chowner le répertoire /var/run/mysqld pour l'utilisateur mysql: Cela règle […]

Lire la suite »

Cron : résoudre l'erreur logrotate_script: 3: [: /var/run/mysqld/mysqld.pid: unexpected operator

Cron : résoudre l'erreur logrotate_script: 3: [: /var/run/mysqld/mysqld.pid: unexpected operator photo

Depuis que j'ai déplacé les bases de données SQL sur une autre partition, logrotate semble avoir quelques soucis avec l'archivage des logs de MariaDB. Voici le message d'erreur complet : C'est en fait un problème de regex connu et la solution est très simple. 1. On édite le fichier /etc/logrotate.d/mysql-server: 2. on recherche la ligne avec la regex de grep: 3. on ajoute m1 aux arguments de grep, ce qui nous donne: Sauvegardez le fichier. Vous ne recevrez plus de […]

Lire la suite »

Pin It on Pinterest

Spelling error report

The following text will be sent to our editors: