PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MySQL Datenbanken sind read-only



samy-delux
15.12.04, 22:13
Hallo,

Ich setz mir grad nen Home Webserver unter Linux auf. Es läuft auch schon fast alles nur die MySQL Datenbanken sind logischerweiße nicht als normaler User zu editieren.
Meine Idee war es einfach "chmod 0777" auf das mysql Datenbanken verzeichnis zu machen. Problem: das sind ja die ganzen DB Dateien drin und die kann ich als normaler User trotzdem ned benutzen. Aber chmod ist ja sowieso ned das richtige!
Dann kam ich auf "chown" nur weis ich ned welcher Gruppe mein normaler User denn nu' angehört. Und funktioniert das überhaupt mit chown???
Wenn ja muss ich es auf jede Datei machen und wie kann ich das automatisieren?

Fragen über Fragen die für nen Anfänger ganz schwer zu lösen sind ;)

mfg samy,

Tomek
15.12.04, 22:27
Öhm, ich verstehe nicht ganz. Du willst die Datenbankdateien von MySQL per Hand editieren? Aua! Dazu kommt, dass du mit chmod "rumgespielt" hast...

Wieso installierst du nicht einfach die MySQL-Pakete deiner Distribution?

samy-delux
15.12.04, 22:53
Nene, so dumm bin ich auch ned. Und wie soll man die bitte öffnen? Mit Kwrite oder what ;)

Wenn ich im Browser auf ned PHP Datei zugreife in der z.B. ne MySQL Tabbellen Zeile aktualisiert wird dann sagt MySQL mir als Error das die DB read-only ist.

Ich hab MySQL vorher immer nur unter Windows mit xampp von www.apachefriends.org benutzt. Und da gabs sowas wie "read-only" ned. Hat der read-only Fehler nur was mit MySQL zu tun oder wie ich dachte doch mit meinen Rechten als User?
Oder einfach nur: Wie kann ich per MySQL-PHP Modul die Datenbanken verändern wenn ich nur als normaler User angemeldet bin.

mfg samy,

Pingu
16.12.04, 06:21
GNU/Linux-User != MySQL-User

Benutzermanagement von MySQL siehe Manual: http://dev.mysql.com/doc/mysql/de/User_Account_Management.html

samy-delux
16.12.04, 14:39
Das ist mir auch klar, ich melde mich unter MySQL als root mit enstprechendem PW an. Wie kann ich die Datenbanken jetzt auf writeable stellen???

mfg samy,

LKH
16.12.04, 17:15
Hi,

mal ne Frage: sind die Dateien read-only oder hat der Benutzer nur Leserechte?

Im ersten Fall musst du natürlich die Rechte an den Dateien ändern. Im normalen Betrieb (ausser bei komprimierten MYISAM-Tabellen) hatte ich das noch nie. :D

Im zweiten Fall musst du die Privilegien der Benutzer anpassen. Ein Blick in die Tabellen der mysql-Datenbank ist dafür hifreich. Wenn ein Benutzer neue Datensätze einfügen darf, muss der INSERTen, für Änderungen UPDATEn und fürs Löschen DELETEn können.

Hoffe es hilft,

LKH

samy-delux
16.12.04, 17:53
Wie gesagt ich logge mich in Mysql asl root ein und der hat alle Rechte. Ich hab auch extra nomma nachgeschaut und der kann alles inklusive CREATE, UPDATE etc.

Also wirds wohl an den Datenbank Dateien liegen? Was muss ich mit denen machen?

PHPmyAdmin sagt auch beim verändern einer Tabelle:
"#1036 - Table 'rohstoffe' is read only"

mfg samy,

LKH
16.12.04, 20:50
Hi,

geh mal bitte in das Verzeichnis, wo sich die Datenbanken befinden und nenne mal die Rechte, den Besitzer und die Gruppe aller relevanten Verzeichnisse und Dateien.

PS: Welchen Typ hat denn die Tabelle "rohstoffe"? MyISAM?

LKH

samy-delux
16.12.04, 22:17
OK es lag an den System Zugriffsrechten. Der SYSTEM-user "mysql" hatte keinen Zugriff da die Dateine root gehörten. habs mit chown geändert. Und jetzt gehts!

Ich hab nur nen kleinen Fehler gemacht. ich war in /var/lib udn hab alles in lib den User "mysql" zugeordnet. Ich hab dannach wieder alles root zugeordnet da ich ja nur wollte das alles in /var/lib/mysql/ dem User "mysql" gehört.
Ich hab auch noch keine Probleme gefunden, aber kann ich das noch rückgänig machen. Vieleicht hatten manche Dateien ind /var/lib/ ja nen anderen Besitzer als root.

samy-delux
16.12.04, 22:30
****, jetzt merk ich die auswirkungen von meinem "kleinem" Irrtum.
Ich kann unter X ned mal mehr die Maus ohne extremes ruckeln bewegen. NEIIINN!!!! :mad:

Ich glaub ich muss Linux nomma auf ner anderen Platte neuinstallieren und /var/lib/ rüberkopieren. Das wird dann wenigstens die Dateien von den Standart Programmen wieder herstellen.

LKH
17.12.04, 11:44
*LOL* :D ... sorry.

Was liegt denn so bei dir unter /var/lib?

LKH

samy-delux
17.12.04, 13:00
Also ich hab ja Mandrake 10.1 Community.
Und unter /var/lib/ liegt folgendes:
dhcp/, games/, kdm/, mailman/, menu/, misc/, msec/, mysql/, nfs/, random_seed, random-seed, rpm/, samba/, scrollkeeper/, shorewall/, slocate/,rupmi/, xdm/, xkb

Das wärs dann auch. Ich denke ich installier Mandrake auf ner noch ungenutzten Platte, die für nen Raid gedacht ist, mit den gleichen Packeten und kopier /var/lib nomma rüber.
Oder kann man die chmod Einstellungen irgendwie von dem einen /var/lib/ ins andere /var/lib/ übernehmen? Da gibts doch so ein Parameter "-R file" was Referenc bedeutet. Kann man dass auch für ein ganzez Verzeichnis übernehmen?? Und das er als Refernc immer das File auf dem anderen /var/lib/ nimmt?
Fragen über Fragen ;)