Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'mysql'.

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Discussions communautaires
    • Annonces importantes
    • Suggestions
    • Postulation
    • Présentation des membres
    • Discussions générales
    • Multimédias
    • Jeux vidéos
    • Actualités
    • Aide / Support
    • Études
    • Archives
  • Informatique
    • Projets des membres
    • Autres / Divers / Découvertes
    • Crypto-monnaie(s)
    • Hardware / Electronique
    • Réseaux
    • Gestion de serveur
    • Système d'exploitation : Smartphone
    • Système d'exploitation : Ordinateur
  • Programmation
    • Projets des membres
    • Développement web
    • Développement de logiciels
    • Développement d'applications pour smartphones
    • Outils du développeur
    • Aide / Support
  • Emulation
    • Aion
    • Arma III
    • Dofus
    • Dragonica
    • Emulateurs consoles
    • S4 League
    • FlyFF
    • Grand Theft Auto
    • Minecraft
    • Tera
  • Partenariats
    • <b>WoW Emu - La communauté émulation WoW</b>
    • <b>ActuGaming</b>
    • <b>H-Wars</b>
    • <b>EasyChat - Solution gratuite de chat client et serveur (anciennement Melichat)</b>
    • <b>Le Monde des Lunes</b>
    • <b>DansTonCode</b>

Calendriers

  • Calendrier de la communauté

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Skype


Site web


AIM


MSN


ICQ


Yahoo


Jabber


Tox


Centres d'interêts


Localisation


Niveau d'étude

4 résultats trouvés

  1. Aujourd'hui, je vais expliquer simplement les méthodes pour installer un serveur web coupler à un serveur MySQL. On part du principe que : Vous avez une machine installée sous Debian 7 Wheezy 64 bit. Vous avez un compte SSH (root si possible) et que vous savez vous en servir. Commençons par mettre à jour gentiment le tout avec la commande (que j'ai expliqué ici) : apt-get update&&apt-get upgrade&&apt-get clean&&apt-get autoclean&&apt-get autoremove On installe Apache via la commande : apt-get install apache2 Quelques petits paramètres à configurer avant tout (tirés du SdZ) : nano /etc/apache2/conf.d/security Vous aurez alors un fichier de configuration à éditer, et mettez ces paramètres : # Chercher la ligne du ServerTokens et remplacer par : ServerTokens Prod # Chercher la ligne du ServerSignature et remplacer par : ServerSignature Off # Chercher la ligne du TraceEnable et remplacer par : TraceEnable Off Après, on installe PHP, tout aussi simplement : apt-get install php5 Suite à ça, on installe le serveur MySQL, couplé à PhpMyAdmin. L'installeur vous demandera un mot de passe pour le compte 'root' MySQL (souvenez-vous en) et un mot de passe PhpMyAdmin : apt-get install mysql-server&&apt-get install phpmyadmin On fini par un petit redémarrage des configurations avec la commande : /etc/init.d/apache2 restart Voilà, votre serveur web est installé sur votre machine, et disponible sur l'adresse externe de votre dédié (et également /var/www/) Évidement, ceci est pour du développement, en aucun cas pour de la production car il n'y aucune configuration de faite ! Sources : http://olange.developpez.com/articles/debian/installation-serveur-dedie/?page=page_2 http://fr.openclassrooms.com/informatique/cours/apprenez-a-installer-un-serveur-web-sous-debian
  2. Tout d'abord vous devez posséder un distribution de Linux. Par ailleurs, les scripts contenus dans ce tutoriel sont compatibles avec Debian et ses dérivés. Installation d'un serveur web avec PHP : Le script ci-dessous va vous installer un serveur web avec PHP : #!/bin/sh #Installation d'Apache2 et de PHP5 sudo apt-get update sudo apt-get install apache2 sudo apt-get install php5 libapache2-mod-php5 #On redémarre Apache2 sudo /etc/init.d/apache2 restart A cette étape, quand vous allez sur votre site vous devriez voir une page blanche ou non apparaitre. Vous pouvez désormais modifier votre site web contenu dans le dossier /var/www/ à votre guise. Optimiser son site avec une base de données : Si vous avez besoin d'une base de données, vous pouvez installer MySQL : sudo apt-get install mysql-server Pour pouvoir accéder à vos bases de données depuis un autre ordinateur, vous devez modifier la variable bind-address dans le fichier /etc/mysql/my.cnf par l'IP de votre machine. Pour plus de sécurité, il est vivement recommandé de définir un mot de passe à l'utilisateur root. Dans votre terminal, exécutez la commande suivante : mysql -u root Vous entrez dans la console de votre serveur MySQL et tapez la commande suivante : SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword'); Ceci étant fait, il nous maintenant configurer Apache2 et PHP pour qu'ils puissent utiliser le serveur MySQL.Exécutez donc la commande suivante : sudo apt-get install libapache2-mod-auth-mysql php5-mysql Puis dans le fichier /etc/php5/apache2/php.ini, changez la ligne ";extension=mysql.so" par "extension=mysql.so". Ensuite, redémarrez votre serveur Apache2. Le firewall : On va maintenant protéger notre serveur avec iptables. Installez donc ce paquet avec la commande suivante : sudo apt-get install iptables Pour gagner du temps, je vais vous fournir un petit script qui va bloquer tous les paquets entrant (sauf ceux qu'on aura ajouter à notre liste blanche) que vous devrez placer dans le fichier /etc/init.d/firewall : #!/bin/sh # Réinitialise les règles sudo iptables -t filter -F sudo iptables -t filter -X # Controle du trafic sudo iptables -t filter -P INPUT DROP sudo iptables -t filter -P FORWARD ACCEPT sudo iptables -t filter -P OUTPUT ACCEPT # Autorise les connexions déjà établies et localhost sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t filter -A INPUT -i lo -j ACCEPT sudo iptables -t filter -A OUTPUT -o lo -j ACCEPT # ICMP (Ping) sudo iptables -t filter -A INPUT -p icmp -j ACCEPT # SSH sudo iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT # HTTP / HTTPS sudo iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT # MySQL (Attention a bien gérer vos acces) sudo iptables -t filter -A INPUT -p tcp --dport 3306 -j ACCEPT Rendez ce script exécutable : sudo chmod +x /etc/init.d/firewall Puis indiquer à votre machine de l'utiliser au démarrage : sudo update-rc.d firewall defaults Plus d'informations sur iptables sur la doc ubuntu.
  3. Salut all, j'avais fais un beau tuto bien long et bien expliqué mais je me suis fail et tout a disparu en enfer... D: Donc je fais une version abrégée, le mySQL est différent des autres oui, par exemple cette saloperie de SQLite ne prend pas le caractère " ` " pour isoler les variables même si il n'est pas obligatoire de plus certaines fonctions ne sont pas disponible. bref mySQL c'est bien et gratuit. ^-^ je vais pas refaire tout un truc sur la structure... il était tellement bien mon autre tuto disparu :'( la structure de la commande se compose d'une action, une cible, de valeur(s)(optionnel), de condition(s)(optionnel), d'un ordre(optionnel) et une limite(optionnel). exemple pour un ajout on utilise: une action, une cible et des valeurs:: #syntaxe: INSERT INTO [CIBLE] ([VARIABLE(S)]) VALUES([VALEURS]); INSERT INTO `ma_table` (`texte`, `chiffre`) VALUES('Coucou', 123); Donc:- la "cible" c'est la table que vous voulez affecter vous pouvez la sélectionner aussi à travers une db (ex: `db_forum`.`ma_table`). - les variables sont les noms des colonnes dans votre table. - les valeurs sont les valeurs (._.) que vous donnez aux variables. > Documentation Mysql::INSERT si la valeur est un chiffre vous n'êtes pas obligé de mettre de guillemets mais si vous désirez mettre un guillemet dans une phrase vous devait mettre un anti-slash devant (ex: 'C\'est bon le chocolat!'). il existe une syntaxe où vous n'êtes pas obligé de donner le nom des variables mais alors vous devez donner les valeurs pour toutes les variables dans l'ordre. #dans le contexte il y a une variable guid qui sert d'index et l'ordre est: guid, texte, chiffre INSERT INTO `ma_table` VALUES(NULL, 'Coucou', 123); "NULL" retourne la valeur par défaut (ou une case vide) si la variable est un index avec une AI (auto-incrémentation) la valeur sera égale à l’incrémentation actuel de l'index de l'IA ._. EDIT: je viens de me relire après ~8mois et je viens de voir que je n'ai pas indiqué comment ajouter plusieurs lignes en une commande, c'est simple il suffit de mettre une virgule entre les paquets de valeurs (les parenthèses). Ce qui donne: #syntaxe: INSERT INTO [CIBLE] ([VARIABLE(S)]) VALUES([VALEURS]); INSERT INTO `ma_table` (`texte`, `chiffre`) VALUES('Coucou', 123), ('tu veux?', 456); vous pouvez en mettre plus mais je ne connais pas la limite maintenant pour modifier des variables: action, cible, variables, nouvelles valeurs, limite (non obligatoire mais c'est une petite sécurité):: #syntaxe: UPDATE [CIBLE] SET [VARIABLES] = [VALEURS] WHERE [CONDITION] LIMIT 1 #dans le contexte notre commande précédente, a affecté la valeur 58 à `guid` UPDATE `ma_table` SET `texte` = 'Au revoir', `chiffre` = (`chiffre` + 250) WHERE `guid`= 58 LIMIT 1; quand vous avez plusieurs variables à mettre à jour vous n'avez cas les séparer par une virgule et vous pouvez aussi réutiliser les variables dans votre ligne comme par exemple pour augmenter la valeur d'un chiffre de 250. Vous pouvez appliquez une modification à toutes lignes en supprimant "WHERE [CONDITION]" et la limite.> Documentation Mysql::UPDATE pour bien illustrer le "WHERE" dans mon exemple précédent je vais vous expliquer le "SELECT" (la sélection, impressionnant non?), la syntace: SELECT [COLONNE] FROM [CIBLE] WHERE [CONDITION] ORDER BY [ORDRE] LIMIT [LIMIT]; -[COLONNE] : Les informations que vous souhaites récupérer, j'aurais pu aussi mettre [VARIABLES]comme au dessus mais bon ça reste une légende.-[CIBLE] : La table dans la quelle vous désirez faire votre recherche. -[CONDITION] : La condition pour que la donnée soit sélectionnée. -[ORDRE] : Ordre croissant (ASC) ou décroissant (DESC). -[LIMIT] : La limite de la sélection. > Documentation Mysql::SELECT Premier exemple, nous allons sélectionner l'utilisateur dont l' "ID" est 169 dans une table du nom de "users": SELECT * FROM `users` WHERE `ID` = 169 LIMIT 1; Comme vous avez pu le constater j'ai mis un * dans les colonnes que je veux récupérer, celà signifie que je veux récupérer tout les colonnes de la ligne mais attention il n'est pas disponible dans toute les variantes SQL, le "LIMIT 1" est optionnel et inutile mais je le mets par hygiène de code maintenant nous allons faire un truc un peu plus compliqué, nous allons chercher dans une table du nom de "news" si le mot "patate" est présent dans la colonne "title" (titre) ou "content" (le contenu) et nous allons récupérer que le titre, le contenu et sont "guid" (qui correspond à son numéro d'index dans la table) dans l'ordre croissant selon le titre, mais vous vous dites pour trouver le mot ça va être compliqué non en faite regardez : SELECT `guid`, `title`, `content` FROM `news` WHERE (`title` LIKE '%patate%') OR (`cotent` LIKE '%patate%`) ORDER BY `title` ASC; Comme vous pouvez le voir le "LIKE" est apparu, il est utilisé au même titre que le caractère "=", et il est complémenté par le caractère "%" qui dans la recherche signifie qu'il peut s'agir de n'importe quel caractère ou même de plusieurs mais vous désirez avoir qu'une possibilité que de 1 caractère il suffit de mettre un "_" à la place du "%".il y a aussi l’apparition du "OR" qui signifie "ou", je dis donc à la requête que c'est ça ou ça pour être sélectionné, je mets des parenthèses pour bien séparer les conditions, vous pouvez aussi mettre un "AND" ("et" en français) si vous désirez que les deux conditions soient remplies. pour un peu mieux illustrer l'exemple au dessus je vais le "traduite" dans un langage plus un langage plus "humain": Sélectionne le `guid`, `title`, `content` dans les `news` où dans le `title` ressemble à '[n'importe]patate[n'importe]' ou dans le `content` si il y a une ressemblance à '[n'importe]patate[n'importe]' dans l'ordre de `title` en croissant. c'est moche et pire à comprendre mais bon il existe des langages en français... ^-^ maintenant la suppression <3 rien de plus simple de mettre fin aux jours de sa création, comme exemple je vais reprendre l'exemple de l'users 169 ci-dessus et vu qu'il est méchant on va le supprimer: #content: l'user (utilisateur) dont le `guid` (numéro index unique donné) est 169 est méchant donc on le supprime. #syntaxe: DELETE FROM [CIBLE] WHERE [CONDITION]; DELETE FROM `users` WHERE `guid`= 169 LIMIT 1; /!\ Attention, avec les commandes il n'est jamais possible de revenir en arrière sauf si vous avez une bonne mémoire ou une sauvegarde.Le "LIMIT 1" est présent non pas pour hygiène mais par sécurité car une faute de syntaxe et vous risquez de grave perte si vous ne mettez pas de conditions c'est tout le mode qui disparait. > Documentation Mysql::DELETE La remise à zéro, la commande "DELETE" c'est bien mais la commande "TRUNCATE" c'est mieux, quand vous utilisez la commande "DELETE" si votre table à un ou plusieurs index il(s) reste(nt) marqué(s) donc si vous voulez tout effacer et repartir à zéro (0) vous devez utiliser la commande "TRUNCATE": #context: vous avez un vieux site et vous désire l'utiliser avec ses dbs mais ils y a plein de vieux users à supprimer. #syntaxe: TRUNCATE TABLE [CIBLE] TRUNCATE TABLE `cible`; une raison de plus de ne pas avoir de faille sql dans son serveur...> Documentation Mysql::TRUNCATE Je pense avoir expliquer les commandes le plus utilisés, je ferais un autre topic sur la gestion des tables elle même, les comptes mysql et autre si j'en ai le courage x') Bonne programmation à tous même si je considère par le SQL comme de la prog, Mars073.
  4. Bonjour à tous, je vais vous faire cette fois un topic sur les tables en elle même. Commençons par la création (le début des temps lulz), connaître ces scripts devient presque obsolète vu les programmes et api disponiblent maintenant mais bon ça peut toujours servir: #syntaxe: CREATE TABLE [NOM] ([VARIABLES+TYPE+PARAMÈTRES])[PARAMÈTRES SUPPLEMENTAIRES]; CREATE TABLE `ma_table` ( `texte` text NOT NULL, `chiffre` int(10) unsigned NOT NULL, ); Donc: >doc- [NOM] = `ma_table` : C'est simplement le nom que vous voulez donner à votre table - [VARIABLES] : Vous devez donner le nom de la variable/colonne, sont type (chiffre, texte, date, ..) la longueur qu'il doit faire, etc. - [PARAMÈTRES SUPP] : paramètre de la table j'en montrerais dans les exemples suivants au niveau des type de variables vous avez: >doc - tinyint : chiffre entier (de -128 à 127) - smallint : chiffre entier (de -32768 à 32767) - mediumint : chiffre entier (de -8388608 à 8388607) - int : chiffre entier (de -2147483648 à 2147483647) - bigint : chiffre entier (de -9223372036854775808 à 9223372036854775807) - float, decimal, double: pour faire simple on va dire chiffre à virgule - bit: chiffre en binaire (ex: 10110010110100100100...) - binary et varbinary : un peut comme bit sauf que la limite attribuée maximale est de 255 bits - date : Attention c'est la date dans le format mysql uniquement (AAAA-MM-JJ), c'est la norme rfc-machin, ex: 1996-06-21 - time : une heure dans le format standard (HH:MM:SS), ex: 20:32:51 - datetime : le format de "date" et "time" séparé par un espace, ex: 199-06-21 20:32:51 - year : l'année en 4 chiffres, ex: 1996 ou 0666 - char : chaîne de caractères de maximum de 255 caractères (ex: "blsdkngki jsngkj rn1121 dgd") - varchar : similaire à "char" sauf dans le fait que "char" considère les cratères vides comme un espaces jusqu'au comment où il arrive à la limite et oui char peut être avantageux au niveau d'utilisation de fonction par exemple - text (tinytext, text, mediumtext et longtext) : simplement de text, je pense que la limite est dynamique malgré ses autres types qui peut changer la consommation de mémoire à mon avis, je regarderais quand j'aurais le temps. - enum : liste de possibilité définie à la place de la limite. - set : similaire à "enum" sauf que plusieurs possibilités peuvent être attribuées à la varible. normalement toute on utilise pour toutes ses variables un limite de caractère (sauf text), on définie celle-ci entre parenthèses à la suite du type, exemple un "int" a une limite par défaut de 10: `chiffre` int(10) ... les types à virgules (float, decimal, ..) peuvent avoir un second paramètre qui est la limite après la virgule exemple avec une limite de 3 avant et 2 après la virgule: `chiffre2` float(3, 2) ... et la dernières exception je pense est "enum", sa limite sont les choix possibles, exemple la variable fruit peut être 3 fruits différents: `fruit` enum("fraise", "pomme", "cranberrys") ... vous vous demandez peut-être pourquoi ne pas utiliser toujours "text" pour du texte par exemple, c'est simple ça évite de bouffer de la mémoire pour rien bien que maintenant les machines sont si puissantes que la perte se compte en nano-secondes (ns) mais bon dans certaines entreprises grattent jusqu'à la plus infime nano-seconde surtout dans les infrastructure réseau... maintenant on va ajouter des paramètres à nos variables avec une valeur par défaut, une auto-incrémentation (A_I), ou déclarer comme ... en cours de rédaction, c'est long et chiant ...
×
×
  • Créer...