{"id":324,"date":"2006-09-29T09:28:00","date_gmt":"2006-09-29T08:28:00","guid":{"rendered":"http:\/\/almin.tf\/blog\/?p=324"},"modified":"2026-01-24T01:17:41","modified_gmt":"2026-01-24T00:17:41","slug":"heberger-mysql","status":"publish","type":"post","link":"https:\/\/almic.fr\/blog\/2006\/09\/29\/heberger-mysql\/","title":{"rendered":"H\u00e9berger un serveur MySQL"},"content":{"rendered":"<p style=\"text-align: justify;\">Voici comment prendre en main un serveur MySQL. Je m\u2019adresse \u00e0 ceux qui savent ce qu\u2019est une base, une table\u2026 et qui souhaitent g\u00e9rer eux-m\u00eames leur h\u00e9bergement.<\/p>\n<p style=\"text-align: justify;\">Ce tutoriel a \u00e9t\u00e9 tenu \u00e0 jour jusqu\u2019au <b>7 mars 2015<\/b>.<\/p>\n<p><!--more--><\/p>\n<p style=\"text-align: justify;\">Les commandes pr\u00e9fix\u00e9es d\u2019un # sont \u00e0 lancer en root. Les commandes pr\u00e9fix\u00e9es d\u2019un % sont \u00e0 lancer en simple utilisateur.<\/p>\n<h4>Installation<\/h4>\n<p style=\"text-align: justify;\">On commence par installer MySQL :<\/p>\n<p><code># apt-get install mysql-server mysql-client<\/code><\/p>\n<p style=\"text-align: justify;\">\u00c0 adapter selon votre distribution : <i>yum install<\/i> pour CentOS, etc.<\/p>\n<h4>Les acc\u00e8s<\/h4>\n<p style=\"text-align: justify;\">Changer le mot de passe root quand on a l\u2019ancien :<\/p>\n<p><code>% mysql -p -u root<br \/>\nWelcome to the MySQL monitor.  Commands end with ; or \\g.<br \/>\n[blabla]<br \/>\nmysql> SET password FOR 'root'@'localhost' = password('_Nouveau_mdp_');<\/code><\/p>\n<p style=\"text-align: justify;\">Quand je dis mot de passe root, je parle de celui de MySQL bien entendu, pas de celui du syst\u00e8me. On peut aussi faire :<\/p>\n<p><code>% mysqladmin -p -u root password _Nouveau_mdp_<\/code><\/p>\n<p style=\"text-align: justify;\">Mais je d\u00e9conseille cette m\u00e9thode, parce qu\u2019on sp\u00e9cifie le nouveau mot de passe sur la ligne de commande. D\u2019une part, si vous avez un historique des commandes, il faudra aller effacer la ligne. D\u2019autre part, si d\u2019autres personnes ont un acc\u00e8s shell sur le syst\u00e8me, un <i>ps aux<\/i> au mauvais moment peut faire mal.<\/p>\n<p style=\"text-align: justify;\">Les deux m\u00e9thodes ci-dessus s\u2019appliquent \u00e9galement pour les utilisateurs autres que root.<\/p>\n<p style=\"text-align: justify;\">Changer le mot de passe root quand on l\u2019a perdu :<\/p>\n<p><code># service mysql stop<br \/>\n# mysqld --skip-grant-tables --skip-networking &<br \/>\n# mysql -u root<br \/>\nmysql> SET password FOR 'root'@'localhost' = password('_Nouveau_mdp_');<br \/>\n# service mysql stop && service mysql start<\/code><\/p>\n<h4>Administration diverse en CLI<\/h4>\n<p style=\"text-align: justify;\">Importer une BD :<\/p>\n<p><code>% mysql < BDD.sql -p -u root<\/code><\/p>\n<p style=\"text-align: justify;\">Exporter une BD :<\/p>\n<p><code>% mysqldump -p -u root _Nom_base_ > BDD.sql<\/code><\/p>\n<p style=\"text-align: justify;\">Par d\u00e9faut, lors d\u2019un export MySQL n\u2019inclue pas les commandes CREATE DATABASE et USE en d\u00e9but de fichier. \u00c7a s\u2019explique parce que souvent en mutualis\u00e9 on ne peut pas modifier les bases, mais \u00e7a oblige \u00e0 cr\u00e9er la base manuellement quand on importe le fichier sur un autre syst\u00e8me. Pour avoir un export pratique d\u2019une base, on peut rajouter en d\u00e9but de fichier :<\/p>\n<pre>CREATE DATABASE _Nom_base_;\nUSE _Nom_base_;<\/pre>\n<p style=\"text-align: justify;\">Afficher des stats :<\/p>\n<p><code>% mysql -p -u root<br \/>\nmysql> SHOW PROCESSLIST;<br \/>\nmysql> SHOW DATABASES ;<br \/>\nmysql> SHOW STATUS WHERE Variable_name LIKE '%connect%';<\/code><\/p>\n<h4>phpMyAdmin<\/h4>\n<p style=\"text-align: justify;\">J\u2019ai l\u2019habitude de changer l\u2019alias de phpMyAdmin. Par d\u00e9faut on y acc\u00e8de avec une URL du style \u00ab http:\/\/serveur\/phpmyadmin \u00bb. Bien entendu, il faut configurer correctement l\u2019acc\u00e8s de vos services, mais deux pr\u00e9cautions valent mieux qu\u2019une : un utilisateur peut toujours compromettre une machine du r\u00e9seau local, il y aura toujours des 0day, etc\u2026 Je ne dis pas que changer un port et\/ou une URL arr\u00eatera un attaquant d\u00e9termin\u00e9, mais \u00e7a \u00e9carte d\u00e9j\u00e0 une partie des scans automatiques. Si vous souhaitez changer cet alias, \u00e9ditez <i>\/etc\/phpmyadmin\/apache.conf<\/i> et modifiez la premi\u00e8re ligne :<\/p>\n<pre>Alias \/_Nouvel_alias_ \/usr\/share\/phpmyadmin<\/pre>\n<p style=\"text-align: justify;\">Si vous souhaitez que les utilisateurs non root aient un lien dans l\u2019interface pour supprimer une base (quand ils en ont les droits), \u00e9ditez <i>\/usr\/share\/phpmyadmin\/libraries\/config.inc.php<\/i> pour modifier cette ligne :<\/p>\n<pre>$cfg['AllowUserDropDatabase'] = true;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Voici comment prendre en main un serveur MySQL. Je m\u2019adresse \u00e0 ceux qui savent ce qu\u2019est une base, une table\u2026 et qui souhaitent g\u00e9rer eux-m\u00eames leur h\u00e9bergement. Ce tutoriel a \u00e9t\u00e9 tenu \u00e0 jour jusqu\u2019au 7 mars 2015.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-324","post","type-post","status-publish","format-standard","hentry","category-hebergement","radius"],"_links":{"self":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts\/324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/comments?post=324"}],"version-history":[{"count":75,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts\/324\/revisions"}],"predecessor-version":[{"id":769,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts\/324\/revisions\/769"}],"wp:attachment":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/media?parent=324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/categories?post=324"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/tags?post=324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}