{"id":98,"date":"2022-04-24T18:01:59","date_gmt":"2022-04-24T16:01:59","guid":{"rendered":"http:\/\/192.168.0.50\/wordpress\/?page_id=98"},"modified":"2022-04-24T18:01:59","modified_gmt":"2022-04-24T16:01:59","slug":"sauvegarde-de-la-base-de-donnees","status":"publish","type":"page","link":"http:\/\/modsfarm-web.raidghost.com\/index.php\/sauvegarde-de-la-base-de-donnees\/","title":{"rendered":"Sauvegarde de la base de donn\u00e9es"},"content":{"rendered":"\n<h2 class=\"has-normal-font-size wp-block-heading\">Sauvegarde de la base de donn\u00e9es MySQL\/mariadb<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Que le serveur soit productif ou non, il est tr\u00e8s important de sauvegarder l&rsquo;ensemble des donn\u00e9es. L&rsquo;exportation des donn\u00e9es propos\u00e9e par phpmyadmin ou adminer ne suffit pas toujours. Et pour cause, cette exportation ne vous sauvegarde que les tables et leurs donn\u00e9es. N\u00e9anmoins les donn\u00e9es plus \u00ab\u00a0au coeur\u00a0\u00bb de la base tels que les utilisateurs et leurs mot de passe par exemple, eux ne seront pas export\u00e9s. Il exite une solution qui consiste \u00e0 copier l&rsquo;ensemble de la base.<\/p>\n\n\n\n<h2 class=\"has-normal-font-size wp-block-heading\">Sauvegarde \u00e0 froid:<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">La sauvegarde \u00e0 froid est tr\u00e8s simple en elle-m\u00eame mais elle a un petit incov\u00e9nient, il faut arr\u00eater le service mariadb pendant la copie. M\u00eame si la copie ne prend que une \u00e0 deux secondes, le serveur de base de donn\u00e9e seul est inaccessible mais ce moyen de sauvegarde est sur \u00e0 99%. Faisons le avec cette commande:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo systemctl stop mariadb.service\r\nsudo tar cvf ~\/save-mysql.tgz -C \/var\/lib\/mysql\r\nsudo systemctl start mariadb.service<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Pour restaurer la sauvegarde, il faut \u00e9galement arr\u00eater le service maridb et il suffit d&rsquo;extraire l&rsquo;archive dans \/var\/lib comme ceci:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo tar -zxvf save-mysql.tgz -C \/var\/lib\r<\/code><\/pre>\n\n\n\n<h2 class=\"has-normal-font-size wp-block-heading\">Sauvegarde \u00e0 chaud:<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Les sauvegardes \u00e0 chaud sont tr\u00e8s pratiques surtout pour des serveurs productifs car l&rsquo;arr\u00eat des services n&rsquo;est pas obligatoire. Il est pr\u00e9f\u00e9rables en plus de cela de faire une sauvegarde \u00e0 froid de temps en temps (une fois par semaines par exemple). Faisons une sauvegarde \u00e0 chaud avec cette commande:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo mysqldump --user=root --password=motdepasse -all-databases | gzip >save.mysql.sql.gz\r<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Pour restaurer la sauvegarde \u00e0 chaud de notre archive cr\u00e9e au dessus, on extrait dans le chemin que l&rsquo;on souhaite puis on fait cette commande la:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo mysql --user=root --password=motdepasse &lt; save.mysql.sql\r<\/code><\/pre>\n\n\n\n<h2 class=\"has-normal-font-size wp-block-heading\">Sauvegarde de la base de donn\u00e9es postgreSQL<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Pour sauvegarder une base de donn\u00e9es postgresql c&rsquo;est \u00e0 peu pr\u00e8s la m\u00eame chose du moins \u00e0 froid.<\/p>\n\n\n\n<h2 class=\"has-normal-font-size wp-block-heading\">Sauvegarde \u00e0 chaud:<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Pour faire une sauvegarde \u00e0 chaud, on peut utiliser pg_dump si on veut sauvegarder une base de donn\u00e9es sp\u00e9cifique mais dans notre cas, on va sauvegarder l&rsquo;ensemble des bases et utiliser pg_dumpall comme ceci:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo PGPASSWORD='motdepasse' pg_dumpall -U postgres | bzip2 > sauvegarde-pgsql.tar.bz2\r<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Pour restaurer notre sauvegarde, on fera la commande suivante:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo psql -U postgres -f &lt;(bzcat sauvegarde-pgsql.tar.bz2)\r<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Faite attention, car ce genre de sauvegarde, ne sauvegarde pas les utilisateurs mais uniquement l&rsquo;ensemble des bases et leurs donn\u00e9es. PostgreSQL utilise les utilisateurs de l&rsquo;OS comme syst\u00e8me.<\/p>\n\n\n\n<h2 class=\"has-normal-font-size wp-block-heading\">Sauvegarde \u00e0 froid:<\/h2>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Maintenant, m\u00eame principe que pour mariadb, c&rsquo;est \u00e0 dire, pour sauvegarder \u00e0 froid, l\u00e0 aussi il faut arr\u00eater le service comme ceci:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo systemctl stop postgresql.service\r\nsudo tar cjf sauvegarde-pgsql.tar.bz2 \/var\/lib\/pgsql\/data\r\nsudo systemctl start postgresql.service<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\">Pour restaurer notre sauvegarde, il faut extraire l&rsquo;archive dans le chemin \/var\/lib\/pgsql comme ceci:<\/p>\n\n\n\n<pre class=\"wp-block-code has-light-gray-background-color has-background\"><code>sudo tar -zjvf sauvegarde-pgsql.tar.bz2 \/var\/lib\/pgsql\r<\/code><\/pre>\n\n\n\n<p class=\"has-text-color wp-block-paragraph\" style=\"color:#ff0000\"><strong>ATTENTION: Ce type de sauvegarde n&rsquo;est pas compatible entre deux versions majeures de PostgreSQL, le dossier data ne serait plus utilisable. Pr\u00e9f\u00e9rez l&rsquo;utilisation des outils de sauvegarde PostgreSQL pg_dumpall.<\/strong><a href=\"http:\/\/modsfarm-web.raidghost.com\/prepare-bdd.php\"><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sauvegarde de la base de donn\u00e9es MySQL\/mariadb Que le serveur soit productif ou non, il est tr\u00e8s important de sauvegarder l&rsquo;ensemble des donn\u00e9es. L&rsquo;exportation des donn\u00e9es propos\u00e9e par phpmyadmin ou adminer ne suffit pas toujours. Et pour cause, cette exportation ne vous sauvegarde que les tables et leurs donn\u00e9es. N\u00e9anmoins les donn\u00e9es plus \u00ab\u00a0au coeur\u00a0\u00bb &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/modsfarm-web.raidghost.com\/index.php\/sauvegarde-de-la-base-de-donnees\/\" class=\"more-link\">Continuer la lecture <span class=\"screen-reader-text\"> \u00ab\u00a0Sauvegarde de la base de donn\u00e9es\u00a0\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-98","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/pages\/98","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/comments?post=98"}],"version-history":[{"count":1,"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/pages\/98\/revisions"}],"predecessor-version":[{"id":99,"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/pages\/98\/revisions\/99"}],"wp:attachment":[{"href":"http:\/\/modsfarm-web.raidghost.com\/index.php\/wp-json\/wp\/v2\/media?parent=98"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}