Portál AbcLinuxu, 10. května 2025 05:28

Dotaz: Jak na kvoty v MySQL?

5.6.2010 15:35 Thomas123 | skóre: 15
Jak na kvoty v MySQL?
Přečteno: 148×
Odpovědět | Admin

Dobré odpoledne,

vím, že toto téma je celkem známé a že se na něj těžko odpovídá, protože samotná MySQL s kvótama nepočítá. Vygooglil jsem tento návod: návod

Zkoušel jsem to v podstatě krok za krokem a ono to fungovalo. Až na to, že ten poslední řádek je špatně, ne? Protože se prvně určuje cíl a potom název linku?

Mám ovšem několik otázek:

Hledal jsem, co je vlastně ten chmod 3755. Sticky bit jsem trochu pochopil, ale nevím, jaké účinky mají čísla na tom prvním místě.

Tento návod vyrobí, že se všechny soubory databáze tvoří pod foo skupinou a uživatelem mysql. Jak návod upravit, aby se mi tvořily soubory pod foo uživatelem a mysql skupinou? Hraju si s tím už asi 4 dni a nefunguje mi žádné řešení. Zkoušel jsem foo:mysql a práva 5575, ale nefunguje mi to (zkoušel jsem i různé další možnosti), vždy se vytvoří pod uživatelem i skupinou mysql

Díky

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Max avatar 5.6.2010 22:15 Max | skóre: 72 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: Jak na kvoty v MySQL?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten návod popisuje, jak omezit velikost databáze pro konkrétního uživatele, resp. pro skupinu vztahující se k tomu uživateli, pomocí diskových kvót.
Ano, poslední řádek je špatně. Symlink takto nevytvoří.

Myšlenka toho návodu je taková,, že se stopne databáze, přesune se databáze uživatele do připraveného adresáře s příslušnými právy a následně se vytvoří symlink na původní místo, kde databáze byla předtím, aby MySQL naběhla a nevšimla si žádné změny.
Přesun DB na jiné místo není podle mně nutný, jelikož co adresář, to DB, takže se můžou příslušná práva aplikovat rovnou na původní adresář a DB se nemusí migrovat.

Práva "3755", konkrétně ta trojka, znamenají, že se adresáři nastaví setgid+sticky bit. SetGid způsobuje, že se na nově vytvořený adresář / soubor aplikuje dědičnost práv skupiny. Takže když MySQL vytvoří nový soubor, nebo DB, nebo něco, v příslušném adresáři, který má nastaven SetGid, tak se z něj zdědí práva skupiny.

Dědit uživatele nelze, jen skupinu. Kvůli tomu je to řešeno "mysql:uzivatel". Kdyby to bylo "uzivatel:mysql", tak nově vytvořený soubor bude mít práva "mysql:mysql" (to by způsobilo, že na nové soubory a adresáře by se nezvztahovaly kvóty). Kdežto v prvním případě by nový adresář / soubor měl práva "mysql:uzivatel".

Takže řešíš něco, co nejde takto jednoduše vyřešit.
Jinak něco o právech : Přístupová práva v Unixu
A konkrétní rozpis všech setbitů : UNIX permissions help
Zdar Max
Měl jsem sen ... :(

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.