{"id":467,"date":"2013-05-22T10:14:53","date_gmt":"2013-05-22T08:14:53","guid":{"rendered":"http:\/\/www.lafabriquedecode.com\/blog\/?p=467"},"modified":"2013-05-22T10:16:25","modified_gmt":"2013-05-22T08:16:25","slug":"mysql-innodb-innodb_file_per_table","status":"publish","type":"post","link":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/","title":{"rendered":"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table"},"content":{"rendered":"<h1>Fichiers de base d&rsquo;InnoDB<\/h1>\n<p>Par d\u00e9faut, votre configuration pour les tables utilisant le moteur InnoDB avec MySQL est la suivante :<\/p>\n<ul>\n<li><span style=\"line-height: 13.993056297302246px;\">un fichier ibdata1 constamment aliment\u00e9 est cr\u00e9\u00e9<\/span><\/li>\n<li>deux fichiers de log (ib_logfile0 et ib_logfile1) sont cr\u00e9es<\/li>\n<\/ul>\n<p><span style=\"line-height: 26.666667938232422px;\">Vous pouvez les voir en faisant :\u00a0<\/span><\/p>\n<pre>sebastien.ferrandez@sebastien$ ls -l \/var\/lib\/mysql\r\ntotal 28736\r\n-rw-rw---- 1 mysql mysql 18874368 mai   21 10:17 ibdata1\r\n-rw-rw---- 1 mysql mysql  5242880 mai   21 10:17 ib_logfile0\r\n-rw-rw---- 1 mysql mysql  5242880 mai   20 15:58 ib_logfile1<\/pre>\n<p>Evidemment, il faudra au besoin modifier le chemin si vous avez <em>customis\u00e9<\/em> votre configuration MySQL. Le probl\u00e8me de ce fichier <strong>ibdata1<\/strong> en mode append est qu&rsquo;il a tendance \u00e0 grossir tr\u00e8s vite et \u00e0 atteindre des tailles probl\u00e9matiques (de nature \u00e0 remettre en cause le bon fonctionnement de MySQL) : sur ma machine locale, le mien faisait 3.4G ! Il m&rsquo;a fallu <em>dumper<\/em> mes bases de donn\u00e9es \u00e0 des fins de sauvegarde, faire en sorte de ne plus avoir ce fichier monolithique mais plusieurs (par base de donn\u00e9es et par table), red\u00e9marrer MySQL et rejouer mon script SQL pour remettre en place les donn\u00e9es dont j&rsquo;avais besoin rapidement.<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/05\/mysql.png\"><img loading=\"lazy\" class=\"alignnone size-full wp-image-486\" alt=\"mysql\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/05\/mysql.png\" width=\"488\" height=\"103\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/05\/mysql.png 488w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/05\/mysql-300x63.png 300w\" sizes=\"(max-width: 488px) 100vw, 488px\" \/><\/a><\/p>\n<p>Pour effectuer ce d\u00e9coupage propre par table, nous allons nous servir de la directive de configuration\u00a0<strong>innodb_file_per_table<\/strong>. Comme je le disais plus haut, celle-ci n&rsquo;est pas activ\u00e9e par d\u00e9faut :<\/p>\n<pre>mysql&gt; <strong>SHOW VARIABLES LIKE 'innodb_file_per_table';<\/strong>\r\n+-----------------------+-------+\r\n| Variable_name         | Value |\r\n+-----------------------+-------+\r\n| innodb_file_per_table | OFF   |\r\n+-----------------------+-------+<\/pre>\n<p>Pour l&rsquo;activer, il vous suffit d&rsquo;en faire mention dans votre fichier <strong>my.cnf<\/strong> (situ\u00e9 par d\u00e9faut sur mon installation dans \/etc\/mysql\/my.cnf), dans la section r\u00e9serv\u00e9e \u00e0 <strong>mysqld<\/strong> (par exemple du c\u00f4t\u00e9 du commentaire \u00ab\u00a0Fine-tuning\u00a0\u00bb) et \u00e9videmment il vous faudra red\u00e9marrer le d\u00e9mon <strong>mysqld<\/strong> pour prendre en compte ce changement.<\/p>\n<p>Voici l&rsquo;option de configuration \u00e0 rajouter :<\/p>\n<pre>[mysqld]\r\n#\r\n# * Fine Tuning\r\n#\r\n<strong>innodb_file_per_table   = 1<\/strong><\/pre>\n<p>Vous pouvez \u00e9galement \u00e9crire tout simplement \u00ab\u00a0innodb_file_per_table\u00a0\u00bb, ceci fonctionnera. Red\u00e9marrez ensuite le service MySQL :<\/p>\n<pre>sudo service mysql restart<\/pre>\n<p>Connectez-vous en ligne de commande \u00e0 votre MySQL et retapez la commande donn\u00e9e ci-dessus, vous devriez avoir du nouveau :<\/p>\n<pre>mysql&gt; SHOW VARIABLES LIKE 'innodb_file_per_table';\r\n+-----------------------+-------+\r\n| Variable_name         | Value |\r\n+-----------------------+-------+\r\n| innodb_file_per_table | ON    |\r\n+-----------------------+-------+\r\n1 row in set (0.00 sec)<\/pre>\n<p>Bien ! Notre modification est donc bien prise en compte ! Si je cr\u00e9e une nouvelle base de donn\u00e9es et une nouvelle table :<\/p>\n<pre>mysql&gt; create database lolcats; use lolcats;\r\nQuery OK, 1 row affected (0.00 sec)\r\n\r\nDatabase changed\r\nmysql&gt; create table cat(id tinyint unsigned primary key, name varchar(20), age tinyint unsigned);\r\nQuery OK, 0 rows affected (0.04 sec)<\/pre>\n<p>Je retrouve bien tout \u00e7a dans mon r\u00e9pertoire MySQL :<\/p>\n<pre>sebastien.ferrandez@sebastien$ <strong>sudo ls -l \/var\/lib\/mysql\/lolcats\/<\/strong>\r\ntotal 116\r\n-rw-rw---- 1 mysql mysql  8614 mai   21 10:44 cat.frm\r\n-rw-rw---- 1 mysql mysql 98304 mai   21 10:44 cat.ibd\r\n-rw-rw---- 1 mysql mysql    65 mai   21 10:43 db.opt<\/pre>\n<p>C&rsquo;est bien le signe que le d\u00e9coupage \u00ab\u00a0un fichier par table\u00a0\u00bb est d\u00e9sormais en place !<\/p>\n<h1>B\u00e9n\u00e9ficier du d\u00e9coupage avec une base de donn\u00e9es d\u00e9j\u00e0 implant\u00e9e<\/h1>\n<p>Si vous avez d\u00e9j\u00e0 une base de donn\u00e9es et que vous vous apercevez qu&rsquo;ibdata1 a grossi et qu&rsquo;il est temps de passer \u00e0 un fichier par table, proc\u00e9dez comme suit :<\/p>\n<p>Cr\u00e9ez un r\u00e9pertoire s&rsquo;appr\u00eatant \u00e0 recueillir votre sauvegarde :<\/p>\n<pre>sebastien.ferrandez@sebastien:$ mkdir -p $HOME\/mysql\/backups\/avant_filepertable<\/pre>\n<p>Faites une sauvegarde de l&rsquo;int\u00e9gralit\u00e9 de vos donn\u00e9es :<\/p>\n<pre>sebastien.ferrandez@sebastien:$ mysqldump -u root -p --all-databases &gt; $HOME\/mysql\/backups\/avant_filepertable\/all_databases.sql<\/pre>\n<p>Arr\u00eatez le d\u00e9mon MySQL :<\/p>\n<pre>sebastien.ferrandez@sebastien:~$ sudo service mysql stop\r\n[ ok ] Stopping MySQL database server: mysqld.<\/pre>\n<p>Naturellement, rajoutez votre option dans my.cnf :<\/p>\n<pre>[mysqld]\r\n#\r\n# * Fine tuning\r\n#\r\ninnodb_file_per_table<\/pre>\n<p>Red\u00e9marrez MySQL :<\/p>\n<pre>sebastien.ferrandez@sebastien:~$ sudo service mysql start\r\n[ ok ] Starting MySQL database server: mysqld ..\r\n[info] Checking for tables which need an upgrade, are corrupt or were \r\nnot closed cleanly..<\/pre>\n<p>A l&rsquo;issue de ce red\u00e9marrage, pensez \u00e0 valider la bonne prise en compte de cette option \u00e0 l&rsquo;aide du SHOW VARIABLES montr\u00e9 un peu plus haut dans ce billet.<br \/>\nSupprimez vos fichiers (\u00e0 vous de voir si vous souhaitez conserver les logs) :<\/p>\n<pre>sebastien.ferrandez@sebastien:$ sudo rm -fr \/var\/lib\/mysql\/*<\/pre>\n<p>Installez de nouvelles tables syst\u00e8me. Attention, les messages que j&rsquo;ai mis en gras n\u00e9cessitent votre attention !<\/p>\n<pre>sebastien.ferrandez@sebastien:$ <strong>sudo \/usr\/bin\/mysql_install_db<\/strong>\r\nInstalling MySQL system tables...\r\nOK\r\nFilling help tables...\r\nOK\r\n\r\nTo start mysqld at boot time you have to copy\r\nsupport-files\/mysql.server to the right place for your system\r\n\r\n<strong>PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !\r\nTo do so, start the server, then issue the following commands:<\/strong>\r\n\r\n<strong>\/usr\/bin\/mysqladmin -u root password 'new-password'<\/strong>\r\n\/usr\/bin\/mysqladmin -u root -h sebastien password 'new-password'\r\n\r\nAlternatively you can run:\r\n\/usr\/bin\/mysql_secure_installation\r\n\r\nwhich will also give you the option of removing the test\r\ndatabases and anonymous user created by default.  This is\r\nstrongly recommended for production servers.<\/pre>\n<p>Je vous conseille de passer par :<\/p>\n<pre>sudo \/usr\/bin\/mysql_secure_installation<\/pre>\n<p>Voici les options que j&rsquo;ai personnellement choisi :<\/p>\n<pre>Change the root password? [Y\/n] n\r\n ... skipping.\r\n\r\nRemove anonymous users? [Y\/n] n\r\n ... skipping.\r\nDisallow root login remotely? [Y\/n]\r\n ... Success!\r\n\r\nRemove test database and access to it? [Y\/n]\r\n - Dropping test database...\r\n ... Success!\r\n - Removing privileges on test database...\r\n ... Success!\r\n\r\nReload privilege tables now? [Y\/n]<\/pre>\n<p>R\u00e9-injectez vos donn\u00e9es sauvegard\u00e9es dans votre base qui maintenant sait d\u00e9couper par table :<\/p>\n<pre>sebastien.ferrandez@sebastien:~$ mysql -u root -p &lt; $HOME\/mysql\/backups\/avant_filepertable\/all_databases.sql<\/pre>\n<p>Et validez que les tables que vous avez recr\u00e9e se trouvent bien dans les r\u00e9pertoires correspondant \u00e0 vos bases de donn\u00e9es :<\/p>\n<pre>sebastien.ferrandez@sebastien:~$ sudo ls -l \/var\/lib\/mysql\/lolcats\r\ntotal 116\r\n-rw-rw---- 1 mysql mysql    65 mai   22 09:31 db.opt\r\n-rw-rw---- 1 mysql mysql  8556 mai   22 10:02 cat.frm\r\n-rw-rw---- 1 mysql mysql 98304 mai   22 10:02 cat.ibd<\/pre>\n<p>La table cat que j&rsquo;ai cr\u00e9e se retrouve bien dans le r\u00e9pertoire correspondant \u00e0 la base de donn\u00e9es lolcats dont elle fait partie, l&rsquo;op\u00e9ration est un succ\u00e8s !<\/p>\n<h1>Kit de premiers secours<\/h1>\n<h2>Probl\u00e8mes pouvant survenir au <em>shutdown<\/em> du d\u00e9mon MySQL<\/h2>\n<p>Si jamais vous n&rsquo;arrivez pas \u00e0 stopper MySQL, il s&rsquo;agit sans doute d&rsquo;un probl\u00e8me li\u00e9 \u00e0 l&rsquo;utilisateur &lsquo;debian-sys-maint&rsquo; du \u00e0 la suppression des tables.<br \/>\nVoici comment le r\u00e9soudre :<\/p>\n<p>R\u00e9cup\u00e9rez d&rsquo;abord le mot de passe courant de cet utilisateur (c&rsquo;est une installation locale, je vous donne le mot de passe sans crainte) :<\/p>\n<pre>sebastien.ferrandez@sebastien:$ sudo grep password \/etc\/mysql\/debian.cnf\r\npassword = JZe6ZMa9bMK4aqfm<\/pre>\n<p>Ensuite mettez-lui les bons privil\u00e8ges dans votre ligne de commande MySQL :<\/p>\n<pre>mysql&gt; GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'JZe6ZMa9bMK4aqfm' WITH GRANT OPTION;\r\nQuery OK, 0 rows affected (0.00 sec)<\/pre>\n<h2>Changer le mot de passe root<\/h2>\n<p>Pour mettre p@$sW0rd! comme mot de passe \u00e0 l&rsquo;utilisateur root<\/p>\n<pre>mysqladmin -u root password p@$sW0rd!<\/pre>\n<h1>Pour aller plus loin&#8230;<\/h1>\n<p><a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/fr\/innodb-configuration.html\" target=\"_blank\">http:\/\/dev.mysql.com\/doc\/refman\/5.0\/fr\/innodb-configuration.html<\/a><br \/>\n<a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.5\/en\/innodb-multiple-tablespaces.html\" target=\"_blank\">http:\/\/dev.mysql.com\/doc\/refman\/5.5\/en\/innodb-multiple-tablespaces.html<\/a> (anglais)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fichiers de base d&rsquo;InnoDB Par d\u00e9faut, votre configuration pour les tables utilisant le moteur InnoDB avec MySQL est la suivante : un fichier ibdata1 constamment aliment\u00e9 est cr\u00e9\u00e9 deux fichiers de log (ib_logfile0 et ib_logfile1) sont cr\u00e9es Vous pouvez les voir en faisant :\u00a0 sebastien.ferrandez@sebastien$ ls -l \/var\/lib\/mysql total 28736 -rw-rw&#8212;- 1 mysql mysql 18874368 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[2],"tags":[53,5],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.6.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table - La Fabrique de code - Tech blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table - La Fabrique de code - Tech blog\" \/>\n<meta property=\"og:description\" content=\"Fichiers de base d&rsquo;InnoDB Par d\u00e9faut, votre configuration pour les tables utilisant le moteur InnoDB avec MySQL est la suivante : un fichier ibdata1 constamment aliment\u00e9 est cr\u00e9\u00e9 deux fichiers de log (ib_logfile0 et ib_logfile1) sont cr\u00e9es Vous pouvez les voir en faisant :\u00a0 sebastien.ferrandez@sebastien$ ls -l \/var\/lib\/mysql total 28736 -rw-rw---- 1 mysql mysql 18874368 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/\" \/>\n<meta property=\"og:site_name\" content=\"La Fabrique de code - Tech blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-05-22T08:14:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-05-22T08:16:25+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/05\/mysql.png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:site\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/\",\"name\":\"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table - La Fabrique de code - Tech blog\",\"isPartOf\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\"},\"datePublished\":\"2013-05-22T08:14:53+00:00\",\"dateModified\":\"2013-05-22T08:16:25+00:00\",\"author\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\"},\"breadcrumb\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.lafabriquedecode.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/\",\"name\":\"La Fabrique de code - Tech blog\",\"description\":\"PHP objet, MySQL, Design Patterns, OOP...et plus !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"caption\":\"admin\"},\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table - La Fabrique de code - Tech blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/","og_locale":"fr_FR","og_type":"article","og_title":"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table - La Fabrique de code - Tech blog","og_description":"Fichiers de base d&rsquo;InnoDB Par d\u00e9faut, votre configuration pour les tables utilisant le moteur InnoDB avec MySQL est la suivante : un fichier ibdata1 constamment aliment\u00e9 est cr\u00e9\u00e9 deux fichiers de log (ib_logfile0 et ib_logfile1) sont cr\u00e9es Vous pouvez les voir en faisant :\u00a0 sebastien.ferrandez@sebastien$ ls -l \/var\/lib\/mysql total 28736 -rw-rw---- 1 mysql mysql 18874368 [&hellip;]","og_url":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/","og_site_name":"La Fabrique de code - Tech blog","article_published_time":"2013-05-22T08:14:53+00:00","article_modified_time":"2013-05-22T08:16:25+00:00","og_image":[{"url":"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/05\/mysql.png"}],"author":"admin","twitter_card":"summary","twitter_creator":"@LaFabrique2Code","twitter_site":"@LaFabrique2Code","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/","url":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/","name":"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table - La Fabrique de code - Tech blog","isPartOf":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website"},"datePublished":"2013-05-22T08:14:53+00:00","dateModified":"2013-05-22T08:16:25+00:00","author":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162"},"breadcrumb":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/05\/mysql-innodb-innodb_file_per_table\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.lafabriquedecode.com\/blog\/"},{"@type":"ListItem","position":2,"name":"MySQL et InnoDB : activer les fichiers au niveau table avec innodb_file_per_table"}]},{"@type":"WebSite","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website","url":"http:\/\/www.lafabriquedecode.com\/blog\/","name":"La Fabrique de code - Tech blog","description":"PHP objet, MySQL, Design Patterns, OOP...et plus !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162","name":"admin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/","url":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","caption":"admin"},"url":"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/467"}],"collection":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/comments?post=467"}],"version-history":[{"count":38,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/467\/revisions"}],"predecessor-version":[{"id":507,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/467\/revisions\/507"}],"wp:attachment":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/media?parent=467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/categories?post=467"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/tags?post=467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}