Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: mysqldump directory permissies  (gelezen 887 keer)

mysqldump directory permissies
« Gepost op: 2011/02/18, 00:26:54 »
Ik wil een mysqldump (in een script) doen naar een bepaalde directory. Dat lukt me alleen als ik de directory 777 permissies zet. Ik heb geprobeerd de directory eigenaar naar mysql:mysql te zetten met permissies 755, maar ook dan krijg ik een foutmelding.

mysqldump: Can't create/write to file '/var/www/tables/data23.sql' (Errcode: 13)

Iemand een idee hoe het eigenaarschap van de directory zo te zetten dat er geen 777 permissies op hoeven om van de foutmelding af te zijn?

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: mysqldump directory permissies
« Reactie #1 Gepost op: 2011/02/18, 10:02:28 »
Kun je ook even aangeven welk commando je precies uitvoert?

Het kale commando mysqldump gooit de uitvoer naar de Terminal. Die kun je dan weer redirecten naar een bestand. Bijv.
mysqldump --all-datases > dbs.sql
Dan moet de user waarmee je het uitvoert gewoon kunnen schrijven naar dat bestand.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Re: mysqldump directory permissies
« Reactie #2 Gepost op: 2011/02/18, 10:16:05 »
Het gaat om het volgende commando, zonder pipe dus in dit geval. Ik denk dat met een 'into outfile' query optie, en wat uitvoer bewerken ook wel een cvs te maken valt, die dan gepiped kan worden, maar het onderstaande commando is wel lekker eenvoudig, en zou volgens mij gewoon moeten kunnen werken met de juiste permissies.

De -T optie zorgt ervoor dat de data in de dump en de tabel eigenschappen e.d. in aparte bestanden worden gedumpt. De data als cvs in dit geval.

mysqldump --fields_terminated_by=, -T/var/www/tables databasename tablename

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: mysqldump directory permissies
« Reactie #3 Gepost op: 2011/02/18, 12:07:09 »
Als welke gebruiker draait het script?

Re: mysqldump directory permissies
« Reactie #4 Gepost op: 2011/02/18, 12:49:32 »
Als gebruiker thomas:thomas. :)

edit: en thomas heeft rechten om in de map tables te schrijven.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: mysqldump directory permissies
« Reactie #5 Gepost op: 2011/02/18, 12:53:00 »
Je hebt de eigenaar toch mysql:mysql gemaakt? En thomas is niet hetzelfde als mysql ;)

Als thomas in de groep mysql zit (en je hebt even uit- en ingelogd), dan zou je de permissies op 775 moeten zetten.
Dan heeft de mysql groep ook schrijfrechten en zou het goed moeten gaan. Met 755 als permissie kan alleen de eigenaar schrijven, niet de groep.

Re: mysqldump directory permissies
« Reactie #6 Gepost op: 2011/02/18, 14:26:52 »
Thx. :) dat was de oplossing, zowel thomas als mysql moeten schrijfrechten hebben in de map waarheen geschreven wordt. Ik heb het net nog even getest met het commando direct in de cli, dus zonder script. Dat werkt alleen als zowel thomas als mysql schrijfrechten hebben.

Ik dacht altijd dat er bij een basaal commando of door thomas of door mysql geschreven zou worden, maar bij dit mysqldump commando schrijven blijkbaar zowel thomas als mysql. Weer wat geleerd. :)
« Laatst bewerkt op: 2011/02/18, 14:29:31 door Thomas de Graaff »