Afficher la pageAnciennes révisionsLiens de retourHaut de page Cette page est en lecture seule. Vous pouvez afficher le texte source, mais ne pourrez pas le modifier. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur. ====== MySQL - Présentation, installation et généralités ====== <label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2020/08/04 10:31// ''MySQL'' est un système de gestion de base de données relationnelle ou **SGBDR**. Il permet de gérer, organiser, manipuler et lier entre elles un grand nombre de données. Bien qu'on puisse utiliser ''MySQL'' tout seul, il est bien souvent associé à un autre programme pour s'occuper de la partie gestion de données d'un projet global. Ainsi, on trouvera par exemple ''php'' et ''MySQL'' pour la gestion d'un site web. ''MySQL'' est basé sur une relation //client-serveur//. Le client ''MySQL'' s'appuie sur le langage standardisé ''SQL'' (**S**tructured **Q**uery **L**anguage) pour agir sur une base, hébergé par un serveur. Il n'est cependant pas obligatoire de séparer le module //client// du module //serveur//. Les deux peuvent sans problème coexister sur la même machine. D'ailleurs, le plus souvent, lorsque l'on installe un serveur ''MySQL'', les outils clients sont installé en même temps. * Référence : [[https://www.mysql.com/fr/|MySQL]] ===== Installation ===== <callout type="danger" icon="true" title="Droits">Attention, l'installation des ces applications nécessite des droits d'administration aussi bien sur Windows que sur Linux. Par conséquent, faîtes attention à ce que vous faîtes.</callout> ==== Windows ==== Sous windows, le plus simple pour installer ''MySQL'' est de passer par le gestionnaire ''chocolatey'' (voir [[choco|Chocolatey]] pour l'installation du gestionnaire). On installera donc les paquets suivants : * **mysql** : la partie serveur. * **mysql.workbench** : la partie cliente avec interface graphique. * **mysql-cli** : la partie cliente en ligne de commande. <sxh powershell>choco install mysql mysql.workbench mysql-cli</sxh> ==== Linux ==== * On commence par télécharger le dépôt depuis le site de [[https://dev.mysql.com/downloads/repo/apt/|MySQL]] (la dernière version au moment où j'écris ces lignes est la ''0.8.15-1'') : <sxh bash>wget http://repo.mysql.com/mysql-apt-config_0.8.15-1_all.deb</sxh> * On installe le dépôt : <sxh bash>apt install ./mysql-apt-config_0.8.15-1_all.deb</sxh> * Lors de l'installation, l'auto-configuration nous demande de choisir la version de ''MySQL'' à installer (par défaut la 8.0) : <image shape="thumbnail">{{ :sql:install:sql_install_001.png |}}</image> * On peut modifier cette version en sélectionnant ''MySQL Server & Cluster'' puis en appuyant sur ''Entrée''. La nouvelle fenêtre nous permet de choisir la version de ''MySQL'' voulue : <image shape="thumbnail">{{ :sql:install:sql_install_002.png |}}</image> * Une fois la version choisie, on peut sélectionner l'option ''Ok'' puis avec une tabulation, valider la page : <image shape="thumbnail">{{ :sql:install:sql_install_003.png |}}</image> * L'installation du dépôt terminée, on peut installer les paquets nécessaires : <sxh bash>apt update apt install -y mysql-server mysql-client</sxh> * Au cours de l'installation, le système nous demande un mot de passe ''root'' pour la base de données. On le renseigne, on valide avec ''<Ok>'' puis on le confirme et on revalide : <image shape="thumbnail">{{ :sql:install:sql_install_004.png |}}</image> <image shape="thumbnail">{{ :sql:install:sql_install_005.png |}}</image> * Sur l'écran suivant, on peut choisir la méthode de chiffrement. On choisit donc puis on valide : <image shape="thumbnail">{{ :sql:install:sql_install_006.png |}}</image> * L'installation se termine alors sans autre interaction. ===== Connexion ===== Une fois la partie serveur installée, la connexion au SGBDR en ligne de commande est identique que ce soit sur Linux ou Windows. La commande ''mysql'' est utilisée seule ou avec des options : |< 100% 30% 70% >| ^Paramètres et Arguments ^Explications ^ |-h abc, --host=abc |Se connecte à l'hôte ''abc''. Par défaut, il s'agira de ''localhost'' | |-P xyz, --port=xyz |Se connecte via le port ''xyz''. Par défaut, ce sera le port 3306. | |-u user, --user=user |Se connecte en tant qu'utilisateur ''user''. Par défaut, ce sera ''root''. | |-ppass, --password=pass |Se connecte avec le mot de passe ''pass''. Par défaut, il n'y en a aucun. Notez que pour l'option courte ''-p'', il n'y a pas d'espace entre le paramètre et l'argument. | |-?, -I, --help |Affiche l'aide. | ===== Règles syntaxiques ===== Comme tous langages, ''SQL'' répond à quelques règles syntaxiques : - Bien que les commandes soient interprétables en minuscules, la norme est de les écrire en majuscules. - Les instructions ne seront interprétées que lorsque qu'une ligne sera terminée par '';''. - Les commentaires sont précédés par 2 tirets et un espace (''%%-- %%''). ''MySQL'' permet aussi de comprendre ''#'' comme ligne commentée mais ce n'est pas la norme. - Les chaînes de caractères sont entourées d'apostrophes ''%%'%%''. - Le caractère ''\'' permet de ne pas interpréter le caractère qu'il précède. - ''\n'' permet un retour à la ligne dans les chaîne de caractères. - ''\t'' permet une tabulation dans les chaîne de caractères. ~~DISCUSSION~~ mysql.txt Dernière modification : 2021/03/05 16:34de nekan