[TYPO3-UG Dutch] Serverbeheer MySQL vraag

Jordan van Bergen jordanvanbergen at gmail.com
Sat Apr 30 20:57:49 CEST 2011


Hoi Bas,

Klopt, dat kan ik ook nog proberen. Dat was hoe ik het inderdaad deed
hiervoor bedenk ik me nu. Als ik een snelle dump wilde overhalen dan
eerst truncate inderdaad en dan het mysqldump commando uitvoeren:

TRUNCATE TABLE index_fulltext;
TRUNCATE TABLE index_phash;
TRUNCATE TABLE index_section;
TRUNCATE TABLE index_words;
TRUNCATE TABLE index_rel;
TRUNCATE TABLE index_grlist;
TRUNCATE TABLE cache_extensions;
TRUNCATE TABLE cache_hash;
TRUNCATE TABLE cache_imagesizes;
TRUNCATE TABLE cache_md5params;
TRUNCATE TABLE cache_pages;
TRUNCATE TABLE cache_pagesection;
TRUNCATE TABLE cache_typo3temp_log;

Echter dan raak je de ibdata file niet kwijt en ik wil en een snelle
dump en weer schijfruimte winnen ;-) Daarnaast geld dat ik door
innodb_file_per_table =1 te weten ga komen welke tabel zo groot wordt
in deze database. Wellicht kan ik er dan wat aan gaan doen. 

Iedereen dank voor de feedback en wellicht plaats ik nog een keer een
andere MySQL thread als ik zie om welke tabel het gaat.

MvG,

Jordan


On Sat, 30 Apr 2011 20:51:25 +0200, "bas at kompasmedia.nl"
<bas at kompasmedia.nl> wrote:

>Een TRUNCATE TABLE voordat je dumpt zou genoeg moeten zijn hiervoor. 
>
>Groeten,
>Bas
>
>----- Reply message -----
>From: "Jordan van Bergen" <jordanvanbergen at gmail.com>
>To: <typo3-ug-dutch at lists.typo3.org>
>Subject: [TYPO3-UG Dutch] Serverbeheer MySQL vraag
>Date: Sat, Apr 30, 2011 20:26
>
>
>Nou ik heb het aangedurfd op de live omgeving:
>
>MySQL gestopt:
>/etc/init.d/mysql stop
>nu de /var/lib/mysql/ibdata en ib_logfile0 en ib_logfile1 gemoved naar
>een tijdelijke /backup directory mocht het mis gaan.
>
>Toen in /etc/mysql/my.cnf
>deze regel toegevoegd zodat iedere tabel zijn eigen .ibd bestand
>krijgt:
>
>innodb_file_per_table = 1
>
>MySQL weer starten
>/etc/init.d/mysql start
>
>Leek goed te gaan maar ik kon van mijn database geen dump meer maken.
>Vette foutmelding. Toen met database compare van de install tool
>uitgevogeld welke tabellen het niet meer deden en deze eerst met DROP
>TABLE en dan CREATE TABEL weer aangemaakt:
>
>DROP TABLE cache_hash;
>CREATE TABLE cache_hash ( id int(11) unsigned NOT NULL auto_increment,
>hash varchar(32) NOT NULL default '', content mediumblob, tstamp
>int(11) unsigned NOT NULL default '0', ident varchar(32) NOT NULL
>default '', PRIMARY KEY (id), KEY hash (hash) ) ENGINE=InnoDB;  
>
>DROP TABLE cachingframework_cache_hash;
>CREATE TABLE cachingframework_cache_hash ( id int(11) unsigned NOT
>NULL auto_increment, identifier varchar(128) NOT NULL default '',
>crdate int(11) unsigned NOT NULL default '0', content mediumblob,
>lifetime int(11) unsigned NOT NULL default '0', PRIMARY KEY (id), KEY
>cache_id (identifier) ) ENGINE=InnoDB;  
>
>DROP TABLE cachingframework_cache_hash_tags;
>CREATE TABLE cachingframework_cache_hash_tags ( id int(11) unsigned
>NOT NULL auto_increment, identifier varchar(128) NOT NULL default '',
>tag varchar(128) NOT NULL default '', PRIMARY KEY (id), KEY cache_id
>(identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;  
>
>DROP TABLE cache_imagesizes;
>CREATE TABLE cache_imagesizes ( md5hash varchar(32) NOT NULL default
>'', md5filename varchar(32) NOT NULL default '', tstamp int(11) NOT
>NULL default '0', filename varchar(255) NOT NULL default '',
>imagewidth mediumint(11) unsigned NOT NULL default '0', imageheight
>mediumint(11) unsigned NOT NULL default '0', PRIMARY KEY (md5filename)
>) ENGINE=InnoDB;  
>
>DROP TABLE sys_history;
>CREATE TABLE sys_history ( uid int(11) unsigned NOT NULL
>auto_increment, sys_log_uid int(11) NOT NULL default '0', history_data
>mediumtext, fieldlist text, recuid int(11) NOT NULL default '0',
>tablename varchar(255) NOT NULL default '', tstamp int(11) NOT NULL
>default '0', history_files mediumtext, snapshot tinyint(4) NOT NULL
>default '0', PRIMARY KEY (uid), KEY recordident_1 (tablename,recuid),
>KEY recordident_2 (tablename,tstamp), KEY sys_log_uid (sys_log_uid) )
>ENGINE=InnoDB;  
>
>DROP TABLE sys_log;
>CREATE TABLE sys_log ( uid int(11) unsigned NOT NULL auto_increment,
>userid int(11) unsigned NOT NULL default '0', action tinyint(4)
>unsigned NOT NULL default '0', recuid int(11) unsigned NOT NULL
>default '0', tablename varchar(255) NOT NULL default '', recpid
>int(11) NOT NULL default '0', error tinyint(4) unsigned NOT NULL
>default '0', details text NOT NULL, tstamp int(11) unsigned NOT NULL
>default '0', type tinyint(3) unsigned NOT NULL default '0', details_nr
>tinyint(3) unsigned NOT NULL default '0', IP varchar(39) NOT NULL
>default '', log_data varchar(255) NOT NULL default '', event_pid
>int(11) NOT NULL default '-1', workspace int(11) NOT NULL default '0',
>NEWid varchar(20) NOT NULL default '', PRIMARY KEY (uid), KEY event
>(userid,event_pid), KEY recuidIdx (recuid,uid) ) ENGINE=InnoDB;  
>
>DROP TABLE cache_pages;
>CREATE TABLE cache_pages ( id int(11) unsigned NOT NULL
>auto_increment, hash varchar(32) NOT NULL default '', page_id int(11)
>unsigned NOT NULL default '0', reg1 int(11) unsigned NOT NULL default
>'0', HTML mediumblob, temp_content int(1) NOT NULL default '0', tstamp
>int(11) unsigned NOT NULL default '0', expires int(10) unsigned NOT
>NULL default '0', cache_data mediumblob, KEY page_id (page_id), KEY
>sel (hash,page_id), PRIMARY KEY (id) ) ENGINE=InnoDB;  
>
>DROP TABLE cache_pagesection;
>CREATE TABLE cache_pagesection ( page_id int(11) unsigned NOT NULL
>default '0', mpvar_hash int(11) unsigned NOT NULL default '0', content
>blob, tstamp int(11) unsigned NOT NULL default '0', PRIMARY KEY
>(page_id,mpvar_hash) ) ENGINE=InnoDB;  
>
>DROP TABLE cachingframework_cache_pages;
>CREATE TABLE cachingframework_cache_pages ( id int(11) unsigned NOT
>NULL auto_increment, identifier varchar(128) NOT NULL default '',
>crdate int(11) unsigned NOT NULL default '0', content mediumblob,
>lifetime int(11) unsigned NOT NULL default '0', PRIMARY KEY (id), KEY
>cache_id (identifier) ) ENGINE=InnoDB;  
>
>DROP TABLE cachingframework_cache_pages_tags;
>CREATE TABLE cachingframework_cache_pages_tags ( id int(11) unsigned
>NOT NULL auto_increment, identifier varchar(128) NOT NULL default '',
>tag varchar(128) NOT NULL default '', PRIMARY KEY (id), KEY cache_id
>(identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;  
>
>DROP TABLE cachingframework_cache_pagesection;
>CREATE TABLE cachingframework_cache_pagesection ( id int(11) unsigned
>NOT NULL auto_increment, identifier varchar(128) NOT NULL default '',
>crdate int(11) unsigned NOT NULL default '0', content mediumblob,
>lifetime int(11) unsigned NOT NULL default '0', PRIMARY KEY (id), KEY
>cache_id (identifier) ) ENGINE=InnoDB;  
>
>DROP TABLE cachingframework_cache_pagesection_tags;
>CREATE TABLE cachingframework_cache_pagesection_tags ( id int(11)
>unsigned NOT NULL auto_increment, identifier varchar(128) NOT NULL
>default '', tag varchar(128) NOT NULL default '', PRIMARY KEY (id),
>KEY cache_id (identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;  
>
>DROP TABLE cache_typo3temp_log;
>CREATE TABLE cache_typo3temp_log ( md5hash varchar(32) NOT NULL
>default '', tstamp int(11) NOT NULL default '0', filename varchar(255)
>NOT NULL default '', orig_filename varchar(255) NOT NULL default '',
>PRIMARY KEY (md5hash) ) ENGINE=InnoDB;  
>
>DROP TABLE cache_md5params;
>CREATE TABLE cache_md5params ( md5hash varchar(20) NOT NULL default
>'', tstamp int(11) NOT NULL default '0', type tinyint(3) NOT NULL
>default '0', params text, PRIMARY KEY (md5hash) ) ENGINE=InnoDB;  
>
>DROP TABLE cache_treelist;
>CREATE TABLE cache_treelist ( md5hash char(32) NOT NULL default '',
>pid int(11) NOT NULL default '0', treelist text, tstamp int(11) NOT
>NULL default '0', expires int(11) unsigned NOT NULL default '0',
>PRIMARY KEY (md5hash) ) ENGINE=InnoDB;  
>
>DROP TABLE fe_session_data;
>CREATE TABLE fe_session_data ( hash varchar(32) NOT NULL default '',
>content mediumblob, tstamp int(11) unsigned NOT NULL default '0',
>PRIMARY KEY (hash), KEY tstamp (tstamp) ) ENGINE=InnoDB;  
>
>DROP TABLE fe_sessions;
>CREATE TABLE fe_sessions ( ses_id varchar(32) NOT NULL default '',
>ses_name varchar(32) NOT NULL default '', ses_iplock varchar(39) NOT
>NULL default '', ses_hashlock int(11) NOT NULL default '0', ses_userid
>int(11) unsigned NOT NULL default '0', ses_tstamp int(11) unsigned NOT
>NULL default '0', ses_data blob, ses_permanent tinyint(1) unsigned NOT
>NULL default '0', PRIMARY KEY (ses_id,ses_name) ) ENGINE=InnoDB;  
>
>DROP TABLE tt_news_cache;
>CREATE TABLE tt_news_cache ( id int(11) unsigned NOT NULL
>auto_increment, identifier varchar(32) NOT NULL default '', content
>text NOT NULL, crdate int(11) NOT NULL default '0', lifetime int(11)
>NOT NULL default '0', PRIMARY KEY (id), KEY cache_id (identifier) )
>ENGINE=InnoDB;  
>
>DROP TABLE tt_news_cache_tags;
>CREATE TABLE tt_news_cache_tags ( id int(11) unsigned NOT NULL
>auto_increment, identifier varchar(128) NOT NULL default '', tag
>varchar(128) NOT NULL default '', PRIMARY KEY (id), KEY cache_id
>(identifier), KEY cache_tag (tag) ) ENGINE=InnoDB;  
>
>DROP TABLE tx_realurl_pathcache;
>CREATE TABLE tx_realurl_pathcache ( cache_id int(11) NOT NULL
>auto_increment, page_id int(11) NOT NULL default '0', language_id
>int(11) NOT NULL default '0', rootpage_id int(11) NOT NULL default
>'0', mpvar tinytext NOT NULL, pagepath text NOT NULL, expire int(11)
>NOT NULL default '0', PRIMARY KEY (cache_id), KEY pathq1
>(rootpage_id,pagepath(32),expire), KEY pathq2
>(page_id,language_id,rootpage_id,expire), KEY expire (expire) )
>ENGINE=InnoDB;  
>
>DROP TABLE tx_realurl_chashcache;
>CREATE TABLE tx_realurl_chashcache ( spurl_hash char(32) NOT NULL
>default '', chash_string varchar(32) NOT NULL default '', spurl_string
>text, PRIMARY KEY (spurl_hash), KEY chash_string (chash_string) )
>ENGINE=InnoDB;  
>
>DROP TABLE tx_realurl_urldecodecache;
>CREATE TABLE tx_realurl_urldecodecache ( url_hash char(32) NOT NULL
>default '', spurl tinytext NOT NULL, content blob NOT NULL, page_id
>int(11) NOT NULL default '0', rootpage_id int(11) NOT NULL default
>'0', tstamp int(11) NOT NULL default '0', PRIMARY KEY (url_hash), KEY
>page_id (page_id) ) ENGINE=InnoDB;  
>
>DROP TABLE tx_realurl_urlencodecache;
>CREATE TABLE tx_realurl_urlencodecache ( url_hash char(32) NOT NULL
>default '', origparams tinytext NOT NULL, internalExtras tinytext NOT
>NULL, content text NOT NULL, page_id int(11) NOT NULL default '0',
>tstamp int(11) NOT NULL default '0', PRIMARY KEY (url_hash), KEY
>page_id (page_id) ) ENGINE=InnoDB; 
>
>BAM ! backup maken werkt weer en de dump is nu maar 36 MB in plaats
>van 5 GIGABYTE. MOOI ZO ! dat wilde ik hebben. 
>
>Nu kan ik ook omdat er nu per tabel een .ibd file wordt gemaakt in de
>gaten houden welke file nu zo groot groeit. Wil ik in het vervolg een
>backup maken dan kan ik dus nu altijd bovenstaande DROP en CREATE
>uitvoeren omdat het toch allemaal cache/index tabellen zijn. Alleen de
>sessions tabellen baren me wat zorgen maar voor een snelle DUMP die je
>lokaal wil overhalen scheelt 36 MB of 5 GIGABYTE toch wel heel veel!
>
>MvG,
>
>Jordan
>
>
>On Mon, 25 Apr 2011 17:01:38 +0200, Jordan van Bergen
><jordanvanbergen at gmail.com> wrote:
>
>>Dank allen voor de tips.
>>
>>Als ik dit lees zou ik bijna dit willen gaan toepassen omdat ik dan
>>weet dat het nooit meer dan 500 MB wordt:
>>
>>InnoDB is not aware of the file system maximum file size, so be
>>cautious on file systems where the maximum file size is a small value
>>such as 2GB. To specify a maximum size for an auto-extending data
>>file, use the max attribute following the autoextend attribute. Use
>>the max attribute only in cases where constraining disk usage is of
>>critical importance, because exceeding the maximum size causes a fatal
>>error, possibly including a crash. The following configuration permits
>>ibdata1 to grow up to a limit of 500MB: 
>>[mysqld]
>>innodb_data_file_path=ibdata1:10M:autoextend:max:500M
>>
>>Echter staat er "exceeding the maximum size causes a fatal error,
>>possibly including a crash"
>>
>>gaat dat ook echt gebeuren is mijn vraag? Omdat innodb alleen op de
>>index/cache tabellen van TYPO3 wordt gebruikt lijkt mij dat 500M ook
>>voldoende moet zijn maar ik heb dus geen idee wat er gebeurt NA 500 MB
>>;-) Als de boel crasht heb je niets aan deze configuratie instelling
>>natuurlijk.
>>
>>Benieuwd of iemand weet of inderdaad TYPO3 (dus MySQL) gaat crashen
>>als de 500M bereikt is?
>>
>>MvG,
>>
>>Jordan
>>
>>On Mon, 25 Apr 2011 13:15:16 +0200, Jigal van Hemert <jigal at xs4all.nl>
>>wrote:
>>
>>>Hoi,
>>>
>>>On 25-4-2011 10:23, Jordan van Bergen wrote:
>>>> Vraag 1: er is een manier om per tabel dit soort innodb bestanden te
>>>> genereren. Als je dan een tabel of databse weggooit wordt dit
>>>> tenminste wel opgeschoond. Kent iemand die manier en hoe stel je dit
>>>> in en hoe kom je dan af van die al bestande 6 GB ibdata1 file?
>>>
>>>Voor configuratie van InnoDB zie [1] en [2].
>>>
>>>Om een bestaande database om te zetten naar per-table-files is een 
>>>compleet recept te vinden op [3].
>>>
>>>> Vraag 2: Een database geeft aan dat deze 360 MB is. Echter met het
>>>> backup command mysqldump --opt etc. wordt het bestand 5 GB !. Dat moet
>>>> dus uit die ibdata1 tabel (innodb) data komen.
>>>
>>>Ten eerste is het tekstformaat van een dump nogal inefficiënt voor 
>>>binaire data die nogal eens in blob-velden voorkomt.
>>>Ten tweede is een backup vaak bedoeld om *belangrijke* data op te slaan. 
>>>In dat geval kun je ervoor kiezen om bepaalde tabellen juist niet mee te 
>>>nemen. Ik zou cache* tabellen uitsluiten, de index_* tabellen (behalve 
>>>index_config) kunnen opnieuw opgebouwd worden (je verliest statistieken, 
>>>maar echt noodzakelijk is dat niet) en de sys_log en sys_history zijn 
>>>niet absoluut onmisbaar, maar vaak wel enorm groot.
>>>
>>>Als je echt het uiterste uit je MySQL installatie moet halen dan kun je 
>>>gaan graven in boeken zoals [4].
>>>
>>>[1] http://dev.mysql.com/doc/refman/5.1/en/innodb-configuration.html
>>>[2] http://dev.mysql.com/doc/refman/5.1/en/innodb-multiple-tablespaces.html
>>>[3] 
>>>http://stackoverflow.com/questions/3927690/howto-clean-a-mysql-innodb-storage-engine/4056261#4056261
>>>[4] http://www.highperfmysql.com/
>_______________________________________________
>TYPO3-UG-Dutch mailing list
>TYPO3-UG-Dutch at lists.typo3.org
>http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-ug-dutch


More information about the TYPO3-UG-Dutch mailing list