Discussion:
Mysql innodb tablespace kérdés
Szegő Zoltán
2009-03-26 10:01:18 UTC
Permalink
Sziasztok,

próbáltam megkeresni a problémámat a neten, de sehol nem találtam rá választ:
Hogy tudom megmondani egy mysql innodb típusú táblának,
hogy melyik táblateret (datafile) használja?
Az /etc/my.cnf-ben be van állítva a következő paraméterek:
[mysqld]
...
innodb_file_per_table
innodb_data_file_path=telefon.dbf:50M;cdrom.dbf:20M

A probléma tehát az, hogy van két táblám külön adatbázisban. mind2 táblám
a telefon.dbf-be ír, de én azt szeretném, ha használná a cdrom.dbf fájlt a
másik tábla.Köszönöm előre is a segítséget.

Üdv:SZZ
Miki
2009-03-26 10:36:06 UTC
Permalink
Post by Szegő Zoltán
[mysqld]
...
innodb_file_per_table
innodb_data_file_path=telefon.dbf:50M;cdrom.dbf:20M
A probléma tehát az, hogy van két táblám külön adatbázisban. mind2 táblám
a telefon.dbf-be ír, de én azt szeretném, ha használná a cdrom.dbf fájlt a
másik tábla.Köszönöm előre is a segítséget.
Szerintem az adataid .ibd fileokban vannak kulon-kulon tablankent az
adatbazis konyvtaraban, a telefon.dbf-t meg mint altalanos tarolot
hasznalja az innodb.

Egyebkent mit szeretnel elerni es miert?
Szegő Zoltán
2009-03-26 11:51:41 UTC
Permalink
Azt szeretném, hogy minden tábla külön fájlban tárolódna (írna).
Jelenleg az innodb mindig ugyanabba a fájlba ír, függetlenül melyik
táblába végzek módosítást (insert...stb)
Post by Miki
Post by Szegő Zoltán
[mysqld]
...
innodb_file_per_table
innodb_data_file_path=telefon.dbf:50M;cdrom.dbf:20M
A probléma tehát az, hogy van két táblám külön adatbázisban. mind2 táblám
a telefon.dbf-be ír, de én azt szeretném, ha használná a cdrom.dbf fájlt a
másik tábla.Köszönöm előre is a segítséget.
Szerintem az adataid .ibd fileokban vannak kulon-kulon tablankent az
adatbazis konyvtaraban, a telefon.dbf-t meg mint altalanos tarolot
hasznalja az innodb.
Egyebkent mit szeretnel elerni es miert?
_______________________________________________
linux++ mailing list
http://mlf2.linux.rulez.org/mailman/listinfo/linux++
Miki
2009-03-26 12:23:36 UTC
Permalink
Post by Szegő Zoltán
[mysqld]
...
innodb_file_per_table
Nalam ezzel a beallitassal ez megvalosul, legalabbis vannak .frm es
.ibd fileok minden tablahoz, az ibd merete pedig ranezesre aranyban
all a tabla meretevel.

Hogyan vizsgalod, hogy mikor hova ir? Vannak neked is .ibd fileok az
adatbazis konyvtaraban? Vizsgalod azokat is?

Egyebkent meg mindig kerdes, miert is akarod ezt. InnoDB -t file
szinten backuppolni nem trivialis, ahhoz tobb filet kell mented,
tobbek kozt a konfiguracios filet is.
Szegő Zoltán
2009-03-26 13:24:56 UTC
Permalink
Persze. Onnan, hogy megnyitom és belegreppelek (más adatok vannak a táblában)
Post by Miki
Post by Szegő Zoltán
[mysqld]
...
innodb_file_per_table
Nalam ezzel a beallitassal ez megvalosul, legalabbis vannak .frm es
.ibd fileok minden tablahoz, az ibd merete pedig ranezesre aranyban
all a tabla meretevel.
Hogyan vizsgalod, hogy mikor hova ir? Vannak neked is .ibd fileok az
adatbazis konyvtaraban? Vizsgalod azokat is?
Egyebkent meg mindig kerdes, miert is akarod ezt. InnoDB -t file
szinten backuppolni nem trivialis, ahhoz tobb filet kell mented,
tobbek kozt a konfiguracios filet is.
_______________________________________________
linux++ mailing list
http://mlf2.linux.rulez.org/mailman/listinfo/linux++
Szládovics Péter
2009-03-26 12:48:56 UTC
Permalink
Post by Miki
Post by Szegő Zoltán
[mysqld]
...
innodb_file_per_table
Nalam ezzel a beallitassal ez megvalosul, legalabbis vannak .frm es
.ibd fileok minden tablahoz, az ibd merete pedig ranezesre aranyban
all a tabla meretevel.
Mert Te az adatbázist a beállítás életbe léptetése _után_ hoztad létre.
Ha ő utólag csinálta, akkor ez nála koránt sincs így.

mysqldump, drop database, dump visszatöltése, és akkor a régi adatbázis
is már az új beállításokkal, külön fájlba teszi a táblákat.
Hirling Endre
2009-03-26 12:57:29 UTC
Permalink
Post by Szegő Zoltán
Azt szeretném, hogy minden tábla külön fájlban tárolódna (írna).
Jelenleg az innodb mindig ugyanabba a fájlba ír, függetlenül melyik
táblába végzek módosítást (insert...stb)
Ha utólag állítottad be a file_per_table opciót, akkor a régi tábláidra
ez nem lesz hatással, azokat újra kell csinálni. A legegyszerűbb módja
az, hogy

alter table xxx engine=innodb

ekkor megcsinálja a külön file-t neki. A közös táblatér ettől persze nem
lesz kisebb, azt menet közben nem lehet csökkenteni.

-m-
Szegő Zoltán
2009-03-26 13:28:37 UTC
Permalink
Pont az elején adtam meg azt az opciót a my.cnf-ben.
De azt nem értem, hogy mondjam meg a mysql-nek ,hogy ez a tábla ebbe a
táblatérbe, a másik a másik táblatérbe írjon. Lehet, hogy erre nem az
innodb a megoldás? Azt hallottam, hogy alapból a mysql nem supportálja a
külön-külön tábla/táblatér megvalósítást.
Sajna a nagyok közül egyedül az oracle támogatja azt.
Köszi
Post by Hirling Endre
Post by Szegő Zoltán
Azt szeretném, hogy minden tábla külön fájlban tárolódna (írna).
Jelenleg az innodb mindig ugyanabba a fájlba ír, függetlenül melyik
táblába végzek módosítást (insert...stb)
Ha utólag állítottad be a file_per_table opciót, akkor a régi tábláidra
ez nem lesz hatással, azokat újra kell csinálni. A legegyszerűbb módja
az, hogy
alter table xxx engine=innodb
ekkor megcsinálja a külön file-t neki. A közös táblatér ettől persze nem
lesz kisebb, azt menet közben nem lehet csökkenteni.
-m-
_______________________________________________
linux++ mailing list
http://mlf2.linux.rulez.org/mailman/listinfo/linux++
Hirling Endre
2009-03-26 14:51:11 UTC
Permalink
Post by Szegő Zoltán
Pont az elején adtam meg azt az opciót a my.cnf-ben.
De azt nem értem, hogy mondjam meg a mysql-nek ,hogy ez a tábla ebbe a
táblatérbe, a másik a másik táblatérbe írjon. Lehet, hogy erre nem az
innodb a megoldás? Azt hallottam, hogy alapból a mysql nem supportálja a
külön-külön tábla/táblatér megvalósítást.
Sajna a nagyok közül egyedül az oracle támogatja azt.
Légy szíves leírni az elejéről, hogy mit szeretnél elérni. Ha nem
táblánként külön file-t, miért állítottad be úgy? Ha valami mást, akkor
áruld el, micsodát, mert azt hiszem, nem értem. A mysql 5.1 a táblaterek
fogalmát csak NDB engine-nel ismeri, az innodb tud közös adatfileokba
pakolni, vagy táblánként külön.

Más, én nem vagyok admin, a világért sem tiltom meg neked a
toppostolást, de a további toppostjaidra nem válaszolok.

-m-

Loading...