Aller au contenu

Aenoa

Fondateur
  • Compteur de contenus

    744
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

5 Neutre

À propos de Aenoa

  • Date de naissance 16/05/1993

Pour me contacter

  • Skype
    Balkeyser

Information du profil

  • Genre
    Homme
  • Localisation
    Belgique
  • Société
    CloudRebelz BV/SA

Visiteurs récents du profil

5 253 visualisations du profil
  1. Tache cron pour sauvegarder une base de donnees

    le dump en lui même est bon, mais je pense qu'il faut pipe avant "gzip" ( |gzip ). ton fichier où il sera sauvegardé, c'est NomDuFichier.sql.gz. si tu veux le placer ailleurs, donne un endroit absolu ou relatif (/opt/backups/nomfichier.sql.gz). je te conseille également de mettre dans le nom de fichier la date, histoire que chaque dimanche, le précédent ne soit pas écrasé par le nouveau. Pour recevoir un mail, ça dépendra de ton serveur; Mais tu peux utiliser un smtp via un petit script pour te connecter aux serveurs Gmail, ou ton service d'emails transactionnels préféré. Pour la répétitivité de la commande, il te faudra taper crontab -e en terminal afin d'éditer tes tâches planifiées. Le format est simple: +---------------- minute (0 - 59) | +------------- hour (0 - 23) | | +---------- day of month (1 - 31) | | | +------- month (1 - 12) | | | | +---- day of week (0 - 6) (Sunday=0 or 7) | | | | | * * * * * command to be executed en suivant ce schéma, et pour le faire chaque dimanche, à minuit, cela devrait être similaire: 0 0 * * 0 /ton/chemin/vers/fichier/faisant/le/traitement.sh (théorique, je n'ai pas testé je suis au travail) Dans ton script, tu pourra donc exécuter le backup, l'envoyer quelque part, et envoyer un email. MAIS ATTENTION: si tu veux un LIEN dans ton email cela veut dire que ton fichier de backup est disponible sur le web, ce qui est extrêmement déconseillé pour la sécurité de la db Met le plutôt en pièce jointe (dépendant de ton service, la marche a suivre est différente.) ou ne le met pas en pièce jointe. Cordialement,
  2. Souci avec SMI

    La commande est exécutée sous le nom d'utilisateur Apache (www-data par défaut sous debian). A-t-il les droits d'exécution etc? Le(s) fichier(s) devraient avoir au moins --x en permission (noread nowrite execute) et si le script créer/modifie/lis des fichiers, www-data doit également avoir les permissions pour (ci-inclut, les logs générés par shoutcast). Il se peut qu'il soit également exécuté en tant que PHP si tu as spécifié dans la config un utilisateur pour celui-ci. Si cela fonctionne sous Wheezy et pas sur versions supérieures, vérifie que tout soit identique niveau config serveur+moteur php+accès répertoire sous version plus récente. Autre solution: PHP tourne sur ton serveur web en SAFE MODE, et comme la doc l'indique; Note: This function is disabled when PHP is running in safe mode.
  3. Nombre aléatoire via sql

    Concernant le 0 précédent pour les nombres <10, la concatenation peut etre une solution oui. SELECT CONCAT(ROUND(RAND() * 9),ROUND(RAND() * 9)); Tu peux aussi utiliser LPAD. SELECT LPAD( ROUND(RAND() * 99), 2, '0'); Pour le nombre à 18 chiffres, même popotte: SELECT ROUND(RAND() * 999999999999999999); et avec des leading 0, SELECT LPAD(ROUND(RAND() * 999999999999999999), 18, '0'); Bonne journée!
  4. Nombre aléatoire via sql

    Bonjour, SELECT ROUND(RAND() * 99); tout simplement :-) Bonne journée!
  5. les mp4 me rendent fou

    Bonjour, Avec un bon retard comparé a la date de ce post, mais pour moi tout fonctionne bien. La vidéo est jouée.
  6. Bienvenue sur le hub lulu N'hésite pas à poser des questions, on est là pour aider à résoudre les problèmes si l'on connait la solution Bonne journée!
  7. mot de passe base de données oublié!

    Bonjour, Si vous avez toujours accès au ROOT et uniquement perdu l'accès à 'sheriffamay' il vous suffit de vous connecter en ROOT et d'entrer la requête suivante: -- mysql 5.7.6 et supérieur ALTER USER 'sheriffamay'@'adresse_distante_ou_localhost' IDENTIFIED BY 'nouveau_mot_de_passe'; -- mysql 5.7.5 et inférieur SET PASSWORD FOR 'sheriffamay'@'adresse_distante_ou_localhost' = PASSWORD('nouveau_mot_de_passe'); voici la marche a suivre pour réinitialiser son mot de passe ROOT sur une base de donnée MySQL, suivant la documentation officielle: - connectez vous en SSH / RDP a votre serveur exécutant MySQL - stoppez le serveur MySQL (kill -9 sur le process MySQLd ou en coupant le service) - créez un fichier contenant la requête ci-dessus en l'adaptant à vos besoins, et sauvegardez le dans un répertoire de votre choix (dans cet exemple, /home/aenoa/reset-password-mysql) - exécutez MySQL avec un fichier d'initialisation que vous venez de créer, ici: mysqld --init-file=/home/aenoa/reset-password-mysql & - une fois cela fait, supprimez le fichier que vous avez créé (/home/aenoa/reset-password-mysql dans mon cas) - si la mise à jour échoue, utilisez dans le fichier créé une requête plus générique, comme celle-ci: UPDATE mysql.user SET authentication_string = PASSWORD('nouveau_mot_de_passe'), password_expired = 'N' WHERE User = 'sheriffamay' AND Host = 'localhost'; FLUSH PRIVILEGES; (dans le cas où l'utilisateur sheriffamay se connecte sur l'adresse 127.0.0.1 ou localhost, adaptez encore une fois selon vos besoins). Ces instructions sont faites pour linux; de manière générale, vous devrez couper le serveur mysql, le relancer avec le paramètre --skip-grant-tables et ensuite vous y connecter pour exécuter la commande suivante: FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'; -- pour MySQL 5.7.6 et supérieur -- ou SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass'); -- pour MySQL 5.7.5 et inférieur -- ou, si cela ne fonctionne pas, UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPass') WHERE User = 'root' AND Host = 'localhost'; -- pour finir, exécuter ceci FLUSH PRIVILEGES; (a adapter selon vos besoins) Bonne journée! plus d'informations et sources: https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords
  8. Bonjour, Un widget faisant? Uniquement des sondages? quel genre d'intégration? iframe? via injection JS ?
  9. Si vous pouvez changer la requête SQL, il suffit de modifier la colonne contenant la dernière modification avec NOW() (dépendant du type de colonne cela peut varier) Si vous ne pouvez pas, je ne vois que le Trigger pour changer cela
  10. Performance requete...

    Bonjour, la première effectue un SELECT * (toutes les colonnes) (que je déconseille, il vaut mieux spécifier les colonnes requises uniquement) et un IN (), qui doit donc parcourir toutes les données se trouvant dans la requête imbriquée, pour ensuite filtrer la requête primaire avec les données de l'imbriquée, et ce traitement prends du temps. La seconde ne possède pas de traitement, juste des valeurs brutes, ce qui réduit également le temps de traitement. Il doit simplement comparer une valeur avec une autre valeur, et non pas faire une récupération de valeur pour chaque enregistrement. Mon premier conseil serait avant-tout de changer votre SELECT * par le nom des colonnes requises, et si possible de faire une entrée de valeurs en brut. Ensuite, êtes-vous sûr que la colonne `villes`.`toto` contient une valeur de même type et identique à un enregistrement ? Aucun transtypage ne doit être fait par le serveur SQL ? Dans votre exemple, les données dans le IN devraient être toutes 38000 si l'on respecte la logique des noms, étant donné que votre requête récupère toutes les `toto` ayant comme `code_postal`= 38000, pour ensuite comparer la valeur de `toto` à `table1`.`cp` qui, d'après son nom, est aussi un code postal ? Cordialement,
  11. Bonjour

    Bienvenue sur le hub!
  12. $row['table.field']- Undefined index:

    Bonjour, Tout d'abord, je ne peut que te suggérer de laisser tomber mysql_*. Ces méthodes sont déjà dépréciées en 5.X et totalement désactivées en 7.0, ce qui causera une armée de FATAL ERROR: MYSQL_FETCH_ARRAY IS NOT A FUNCTION et autres joyeusetés si ton projet venait à tourner dans un environnement 7.0. Ensuite, en effet, tu as la possibilité de re-sélectionner une colonne d'une table sous un autre nom grâce au mot clé AS. Comme indiqué par BlackPage, qui te propose une solution. Pour résumer: * Emploie une requête SQL similaire à ceci: SELECT test1.*, test2.*, test2.name AS t2name FROM test1 INNER JOIN test2 ON test2.test1_id = test1.id; * Le résultat sera semblable à celui-ci (utilisant des dummy-data) MariaDB [db]> select test1.*, test2.*, test2.name as t2name FROM test1 INNER JOIN test2 ON test2.test1_id = test1.id; +----+---------+--------+----+---------+----------+----------+---------+ | id | name | potato | id | name | pccotato | test1_id | t2name | +----+---------+--------+----+---------+----------+----------+---------+ | 3 | Test1-3 | C | 1 | Test2-1 | D | 3 | Test2-1 | | 2 | Test1-2 | B | 2 | Test2-2 | E | 2 | Test2-2 | | 1 | Test1-1 | A | 3 | Test2-3 | F | 1 | Test2-3 | +----+---------+--------+----+---------+----------+----------+---------+ 3 rows in set (0.01 sec) * N'utilise plus mysql_ en PHP. Privilégie la librairie PDO qui elle est supportée, et te permet de faire l'échappement des données bien plus facilement, en orienté objet. http://php.net/manual/en/ref.pdo-mysql.php * Utilise des préfixes ou suffixes dans tes colonnes, pour chaque table. Par exemple: MariaDB [db]> describe users; +--------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------------+--------------+------+-----+---------+-------+ | usr_id | int(11) | YES | | NULL | | | usr_name | varchar(30) | YES | | NULL | | | usr_email | varchar(240) | YES | | NULL | | | usr_password | varchar(150) | YES | | NULL | | +--------------+--------------+------+-----+---------+-------+ 4 rows in set (0.00 sec) MariaDB [db]> describe vehicles; +-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | veh_id | int(11) | YES | | NULL | | | veh_color | varchar(40) | YES | | NULL | | | veh_year | int(4) | YES | | NULL | | | veh_km | int(11) | YES | | NULL | | | veh_usr | int(11) | YES | | NULL | | +-----------+-------------+------+-----+---------+-------+ 5 rows in set (0.00 sec) Cela te permet, non seulement de toujours savoir à quelle table la colonne corresponds, mais cela évite tout doublon entre deux tables, le préfixe (ou suffixe) étant unique à une table. Dans mon exemple, j'utilise un préfixe, mais les gens ont plutôt tendance à utiliser un suffixe, tel que IDUSR, NAMEUSR, EMAILUSR, PASSWORDUSR, IDVEH, COLORVEH, YEARVEH, etc. Bonne journée!
  13. Dissimuler un mot de passe

    My bad, c'est 2000 https://support.google.com/a/answer/166852?hl=en
  14. Dissimuler un mot de passe

    Utilisant G Suite (nouveau nom pour G-apps) le quota d'email journalier est uniformisé avec gmail classique désormais, c'est 200 mails par jour max
×