{"id":295,"date":"2012-04-01T17:11:52","date_gmt":"2012-04-01T16:11:52","guid":{"rendered":"http:\/\/www.schoen-bloed.at\/blog\/?p=295"},"modified":"2012-04-01T17:28:35","modified_gmt":"2012-04-01T16:28:35","slug":"wie-komprimiert-man-mehrere-innodb-tabellen-auf-einmal","status":"publish","type":"post","link":"https:\/\/www.schoen-bloed.at\/blog\/2012\/04\/wie-komprimiert-man-mehrere-innodb-tabellen-auf-einmal\/","title":{"rendered":"Wie komprimiert man mehrere InnoDB Tabellen auf einmal?"},"content":{"rendered":"<p>Mein Problem ist folgendes, ich habe mehrere 100 MySQL Datenbanken mit einem gemischten Satz an InnoDB, MyISAM, Memory, &#8230; Tabellen und m\u00f6chte jetzt alle InnoDB Tabellen \u00e4ndern. Um genau zu sein m\u00f6chte ich das Zeilen Format umstellen auf COMPRESSED.<!--more--><\/p>\n<p>Also muss ich f\u00fcr jede Tabelle folgenden SQL Befehl ausf\u00fchren:<br \/>\n<code>ALTER TABLE $table ENGINE = INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8;<\/code><br \/>\nBei der Anzahl an Tabellen w\u00fcrde das h\u00e4ndisch eine Ewigkeit dauern, deswegen habe ich ein kleines Shellscript geschrieben welches mir die Arbeit abnimmt:<br \/>\n<code>#!\/bin\/bash<\/p>\n<p>IFS=\"<br \/>\n\"<\/p>\n<p>dbid=<br \/>\nsocket=\/var\/run\/mysqld\/mysqld${dbid}.sock<br \/>\nuser=root<br \/>\npassword=<\/p>\n<p>dbs=`echo \"show databases\" | mysql --socket=${socket} -u ${user} --password=${password} -B`<br \/>\nfor db in $dbs; do<br \/>\n  echo \"Convert database $db\";<br \/>\n  tables=`echo \"SELECT TABLE_NAME AS ' ' FROM TABLES WHERE TABLE_SCHEMA LIKE '${db}' and ENGINE like 'InnoDB' and CREATE_OPTIONS not like '%COMPRESSED%' \" | mysql --socket=${socket} -u ${user} --password=${password} -D information_schema -B`<br \/>\n  for table in $tables; do<br \/>\n    echo \"Rewrite Table ${table}\"<br \/>\n    echo \"ALTER TABLE \\`$table\\` ENGINE = INNODB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8\" | mysql --socket=${socket} -u ${user} --password=${password} -D $db<br \/>\n  done<br \/>\n  echo \"Convert database $db finished\"<br \/>\ndone<br \/>\n<\/code><a href='http:\/\/www.schoen-bloed.at\/blog\/wp-content\/uploads\/2012\/04\/innodbconvert.txt'>Script Download<\/a><\/p>\n<p>Wichtig: Bevor das funktioniert muss das Dateiformat in der my.cnf Datei auf barracuda ge\u00e4ndert werden. Einfach folgenden Eintrag in der my.cnf Datei \u00e4ndern oder erg\u00e4nzen:<br \/>\n<code>innodb_file_format=barracuda<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mein Problem ist folgendes, ich habe mehrere 100 MySQL Datenbanken mit einem gemischten Satz an InnoDB, MyISAM, Memory, &#8230; Tabellen und m\u00f6chte jetzt alle InnoDB Tabellen \u00e4ndern. Um genau zu sein m\u00f6chte ich das Zeilen Format umstellen auf COMPRESSED.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18,17],"tags":[],"_links":{"self":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts\/295"}],"collection":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/comments?post=295"}],"version-history":[{"count":9,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts\/295\/revisions"}],"predecessor-version":[{"id":306,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/posts\/295\/revisions\/306"}],"wp:attachment":[{"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/media?parent=295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/categories?post=295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.schoen-bloed.at\/blog\/wp-json\/wp\/v2\/tags?post=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}