PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mysql: root zum "root" des Mysql machen



pablovschby
04.05.03, 12:33
hallo...nachdem ich dem shell-user "mysql" folgende Rechte erteilte, konnte ich den Daemon auf einmal starten:[root@linuxserver1 bin]# chmod -R 755 /var/mysql
[root@linuxserver1 bin]# chown -R mysql /usr/local/mysql
[root@linuxserver1 bin]# chown -R mysql /var/mysql
[root@linuxserver1 bin]# chgrp -R mysql /var/mysql
[root@linuxserver1 bin]# su mysql
[mysql@linuxserver1 bin]$ init.d/mysql.server start
bash: init.d/mysql.server: Datei oder Verzeichnis nicht gefunden
[mysql@linuxserver1 bin]$ cd /etc
[mysql@linuxserver1 etc]$ init.d/mysql.server start
[mysql@linuxserver1 etc]$ Starting mysqld daemon with databases from /var/mysql/data ich habe hierzu eine wichtige Frage: WIE VERDAMMT NOCHMAL (hab alles, was es gibt, probiert)...kann ich den shell-user "root" zum root des mysql machen, damit der den dienst starten/stoppen/administrieren kann...? das geht alles net:[root@linuxserver1 bin]# chgrp -R root /usr/local/mysql/
[root@linuxserver1 bin]# chgrp -R root /usr/local/
[root@linuxserver1 bin]# chown -R root /usr/local/
[root@linuxserver1 bin]# /usr/local/mysql/3.23.52/share/mysql/mysql.server start
[root@linuxserver1 bin]# Starting mysqld daemon with databases from /var/mysql/data
030504 12:13:14 mysqld ended

[root@linuxserver1 bin]# chmod -R 755 /usr/local/..............oder ist das unmöglich.......

falls es unmöglich ist: wie ist dann überhaupt eine administrierung des mysql-servers per "webmin" möglich,.... dort [b]muss man sich ja als root einloggen...man kann gar net anders....

und wenn ich mich dann als root eingeloggt habe, heissts, wenn ich was mache am mysql-server: keine rechte usw.....

gruss&danke
pablo

alexm
04.05.03, 12:57
wenn ich mich recht entsinne ist am anfang kein root passwort für mysql gesetzt, d.h. du loggst dich das erste mal ohne passwort ein und setzt dann das passwort

pablovschby
04.05.03, 12:59
Original geschrieben von alexm
wenn ich mich recht entsinne ist am anfang kein root passwort für mysql gesetzt, d.h. du loggst dich das erste mal ohne passwort ein und setzt dann das passwort You do not have access to this MySQL database hahahahaha ...... tut mir leid, aber der user "mysql" ist ein shell-user...... und ich will den nicht mehr.....

SQL select * from user order by user failed : Access denied for user: '@localhost' to database 'mysql'
bin am verzweifeln......

lest bitte: VERSTEHT IHR DEN NICHT??????? MAN KANN SICH NICHT ALS SHELL-USER "mysql" am webmin-interface einloggen, es geht net.... nur für root....gemacht ist das klar...?

wie zum teufel administriert denn einer mit "webmin" seinen sql-server...

ist ja anscheinend absolut unmöglich....

alexm
04.05.03, 13:19
ja weil mysql seine eigene user verwaltung hat, die ist von der normalen systemuserverwaltung abgeschottet

pablovschby
04.05.03, 13:23
Original geschrieben von alexm
ja weil mysql seine eigene user verwaltung hat, die ist von der normalen systemuserverwaltung abgeschottet ich kann aber nur als shell-user "mysql" (hast du das überhaupt gelesen, oben?) den MYSQL.SERVER-DAEMON starten.................. ist das klar ausgedrückt...?

shell-user=linuxuser= user des btriebssystems linux....

und das ist NICHT GLEICH mysql-user...

..ich hoffe, es ist jetzt verständlich... und es ist ja so, dass ich mit webmin nur als root einloggen kann, aber der root nicht die rechte hat, die datenbank.files zu schreiben .... (oder was auch immer...)

erbitte hilfe....wie dass ich dem root die rechte gebe, den server zu starten und zu administrieren....habe k.A., wieso das net geht...

gruss&danke
pablo

oschoenknecht
04.05.03, 13:32
Hey Pablo,

erstmal : Ruhig bleiben und einen Gang zurückschalten! Nicht hysterisch werden!

Der MySQL-Dienst läuft unter dem Linux-Benutzer und der Linux-Gruppe "mysql". Das ist - auch laut Deiner Anleitung - okay so!

MySQL hat aber eine eigene Benutzerverwaltung, die UNABHÄNGIG von der Linux-internen läuft, daher mußt Du da Deinen Benutzer "mysql", mit dem Du die Datenbank betreiben willst, erstmal anlegen!

Wenn Du den angelegt hast, kannst Du ihm diverse Rechte geben - ob jetzt über den Webmin oder über (mein bevorzugtes Tool) phpMyAdmin...

Versuch's mal so und sei nicht so hektisch ;) !

pablovschby
04.05.03, 13:37
Original geschrieben von oschoenknecht
Hey Pablo,

erstmal : Ruhig bleiben und einen Gang zurückschalten! Nicht hysterisch werden!heisst das, wenn man fett und teils gross schreibt, dass man dann hysterisch ist...? ich bin die Ruhe in Person
Der MySQL-Dienst läuft unter dem Linux-Benutzer und der Linux-Gruppe "mysql". Das ist - auch laut Deiner Anleitung - okay so! gut...
MySQL hat aber eine eigene Benutzerverwaltung, die UNABHÄNGIG von der Linux-internen läuft, daher mußt Du da Deinen Benutzer "mysql", mit dem Du die Datenbank betreiben willst, erstmal anlegen! genau, und genau das (habe ich oben bereits beschrieben) kann ich als root nicht machen, weil der shell-user root keine rechte auf die mysql-datenbankjen hat
Wenn Du den angelegt hast, kannst Du ihm diverse Rechte geben - ob jetzt über den Webmin oder über (mein bevorzugtes Tool) phpMyAdmin... ich kann nix anderes sagen, als immer wieder den gleichen müll schreiben:

in webmin kann man sich nur als root einloggen...... und der root kann keinen user erstellen auf mysql..... also ist somit die administration unmöglich...

verstehst du meine zwickmühle...? gibts daraus en ausweg???
danke fürs reply...
pablo

pablovschby
04.05.03, 13:42
so, jetzt machmer musik....... ich bin heute abend nochmals hier....schönknecht...

...ich bedanke mich für deine allfälligen replys...und wünsche schönes weekend...cu heute abend.....

gruss
pablo

oschoenknecht
04.05.03, 13:50
Original geschrieben von pablovschby
heisst das, wenn man fett und teils gross schreibt, dass man dann hysterisch ist...? ich bin die Ruhe in Person gut... genau, und genau das (habe ich oben bereits beschrieben) kann ich als root nicht machen, weil der shell-user root keine rechte auf die mysql-datenbankjen hat ich kann nix anderes sagen, als immer wieder den gleichen müll schreiben:

in webmin kann man sich nur als root einloggen...... und der root kann keinen user erstellen auf mysql..... also ist somit die administration unmöglich...

verstehst du meine zwickmühle...? gibts daraus en ausweg???
danke fürs reply...
pablo

Ähm,

der Webmin-Root ist auch ein eigener Benutzer. Geh beim Webmin mal bitte auf das MySQL-Modul und kümmer' Dich da mal um den MYSQL (!) Root-Benutzer!

Benno
04.05.03, 13:54
Also wenn ich das richtig verstanden habe soll Dein Benutzer in Mysql 'mysql' heißen.
Wahrscheinlich ist mysql unter Mysql ein Schlüsselwort. Vielleicht klappt es deswegen nicht. Nenn Ihn Otto oder
Wilma aber doch nicht unbedingt mysql. Oder wenn Du willst mysql1 oder mysql3, aber doch bestimmt nicht mysql.

Vielleicht liegt es ja daran.
Ist nur mal so eine Idee!

alexm
04.05.03, 14:28
hallo

groß und noch dazu fett schreiben wird allgemein, insbesondere von mir, oft als schreien angesehen, und ich lasse mich nicht gerne anschreien, noch dazu wenn ich versuche dir kostenlos zu helfen.

jetzt wieder zum sachlichen, dem mysql server ist es egal mit welchem shelluser du dich verbindest, wenn der user unter mysql stimmt. mysql -u root localhost wenn ich mich recht entsinne.

pablovschby
04.05.03, 16:56
Original geschrieben von oschoenknecht
Ähm,

der Webmin-Root ist auch ein eigener Benutzer. Geh beim Webmin mal bitte auf das MySQL-Modul und kümmer' Dich da mal um den MYSQL (!) Root-Benutzer!

ich war bei Webmin auf MySQl....... hab alle Pfade richtig eingegeben.... vorher den sql server als shell-user "mysql" gestartet, weil es ja ned anders ging......

teils fehlermeldungen von webmin habe ich oben berets gepostet.... webmin meint, dass der shell-user "root" (der ja der einzige ist, der bei webmin einloggen darf)...keine schreibrechte auf besagte db-files des mysql hat.....

webmin meint immer dass.....wenn ich en user erstellen will.... wenn ich ne neue db erstellen wil....eigentlich immer
gruss&danke
pablo

pablovschby
04.05.03, 17:01
Original geschrieben von Benno
Also wenn ich das richtig verstanden habe soll Dein Benutzer in Mysql 'mysql' heißen.
Wahrscheinlich ist mysql unter Mysql ein Schlüsselwort. Vielleicht klappt es deswegen nicht. Nenn Ihn Otto oder
Wilma aber doch nicht unbedingt mysql. Oder wenn Du willst mysql1 oder mysql3, aber doch bestimmt nicht mysql.

Vielleicht liegt es ja daran.
Ist nur mal so eine Idee! ich habe keinen user "mysql" erstekken wollen, musste das aber...

nach anleitung von www.baach.de konnte ich keinen mysql-server starten........nach anleitung von www.sql.com (bin mir der site nicht sicher, bin net zu hause)

musste ein user "mysql" erstellt werden....obwohl ich bei den 3 linien mit "chmod", "chgrp" und "chown" jeweils "mysql" mit "root" ausgetauscht habe

ich mache es aber gerne nah eurer anleitung heute abend nochmals......aber ich finde nur die 2 ....

gruss&danke

pablovschby
04.05.03, 17:04
Original geschrieben von alexm
hallo

groß und noch dazu fett schreiben wird allgemein, insbesondere von mir, oft als schreien angesehen, und ich lasse mich nicht gerne anschreien, noch dazu wenn ich versuche dir kostenlos zu helfen.

jetzt wieder zum sachlichen, dem mysql server ist es egal mit welchem shelluser du dich verbindest, wenn der user unter mysql stimmt. mysql -u root localhost wenn ich mich recht entsinne.

entschuldigung an alle, die ich "runtergemacht" haben sollte....wirklich..werde ncht mehr fett schreiben....und auch net gross

...wenn das so ist, dann müssten die einstellungen des webmin falsch sein..

....ich poste die mal, wenn ich zu hause bin

danke&gruss
pablo

$kuLL
04.05.03, 17:38
hallo,

also um nochmal die verwiirung etwas zu mildern ...

wenn man mysql richtig installiert hat, startet man den mysqld als nutzer mysql
danach muss erstmal ein passwort für den (mysql)nutzer root gesetzt werden
das pw sollte nicht das gleiche sein, wie das des unix-roots

$ mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('schoenespw') WHERE user='root';
mysql> FLUSH PRIVILEGES;

danach kann man sich als root an der mysql konsole anmelden

$ mysql -u root -p
password: ....
mysql> ...

jetzt kannst du dich auch über webmin als nutzer root mit dem pw 'schoenespw' anmelden und alles administrieren wie du lustig bist

jetzte kannst du neue nutzer hinzufügen, meinetwegen auch noch einen zweiten superuser der alle rechte hat (das wird alles in der db 'mysql' verwaltet):

$ mysql -u root -p mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO secondsu@localhost IDENTIFIED BY 'nocheinschoenespw' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO secondsu@"%" IDENTIFIED BY 'nocheinschoenespw' WITH GRANT OPTION;

damit alle rechte wirksam werden:

mysql> FLUSH PRIVILEGES;
mysql> exit

fertig

jetzt hast du einen zweiten root namens 'secondsu' der sich local und remote anmelden kann, auch über webmin

wenn du gar nicht mehr durchsiehst bei dir, installier den mysqld neu und verfahre mal so

hoffe ich konnte bissl helfen
gruß, $kuLL

pablovschby
05.05.03, 06:56
Original geschrieben von $kuLL
hallo,

also um nochmal die verwiirung etwas zu mildern ...

wenn man mysql richtig installiert hat, startet man den mysqld als nutzer mysql
danach muss erstmal ein passwort für den (mysql)nutzer root gesetzt werden
das pw sollte nicht das gleiche sein, wie das des unix-roots

$ mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('schoenespw') WHERE user='root';
mysql> FLUSH PRIVILEGES;

danach kann man sich als root an der mysql konsole anmelden

$ mysql -u root -p
password: ....
mysql> ...

jetzt kannst du dich auch über webmin als nutzer root mit dem pw 'schoenespw' anmelden und alles administrieren wie du lustig bist

jetzte kannst du neue nutzer hinzufügen, meinetwegen auch noch einen zweiten superuser der alle rechte hat (das wird alles in der db 'mysql' verwaltet):

$ mysql -u root -p mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO secondsu@localhost IDENTIFIED BY 'nocheinschoenespw' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO secondsu@"%" IDENTIFIED BY 'nocheinschoenespw' WITH GRANT OPTION;

damit alle rechte wirksam werden:

mysql> FLUSH PRIVILEGES;
mysql> exit

fertig

jetzt hast du einen zweiten root namens 'secondsu' der sich local und remote anmelden kann, auch über webmin

wenn du gar nicht mehr durchsiehst bei dir, installier den mysqld neu und verfahre mal so

hoffe ich konnte bissl helfen
gruß, $kuLL danke, ich versuch das heute oder mprgen abend....hab keine ferien mehr, daher nicht mehr allzuviel Zeit...

gruss
pablo

pablovschby
05.05.03, 17:47
hallo

ich habe mysql hetzt erfolreich aufgesetzt(YEAHHHHH)

2sachen:

1. 2 roots gibts jetzt mit nem ultralangem passwort, das ist gut so.... aber: der user mysql hat immer noch vollzugriff und kein passwort.... wie ändere ich sein passwort..? das habe ich versucht:UPDATE user SET Password=PASSWORD('%PASSWORT%') WHERE user='mysql
';
ERROR 1046: No Database Selected wie heisst hierzu die richtige datenbank..?


dann....2.:
... alles was ich noch tun will, ist in der Datenbank "board1" (welche ich bereits erstellt habe), einem user admin mit nem passwort die rechte auf diese datenbank zu geben.... (und zwar alle rechte..)

die db ist erstellt, wie gesagt....aber: laut http://www.web-helfer.de/article.php?sid=4 soll nach der db-erstellung gleich ein user erstellt werden....das geht aber net...da meint mein mysql:
table "board1.user" doesn't existsinsert into user values ('localhost','benutzer',password('passwort'),
-> 'N','N','N','N','N','N','N','N','N','N','N','N','N ','N');[/list] wäre der befehl...[/list]

jetzt find ich hierzu kein beispiel....ziel ist ganz einfach: das installieren des "phpBB2" mittels mysql... und hierzu brauch ich ja en user, der auf eine bereits erstellte datenbank (board1) vollzugriff hat...

....und dazu brauchts in board1 irgendwie ne tabelle

habe k.A von mysql...könntet ihr mir nicht bitte en beispiel posten.... ich will einfach phpBB2 isntallieren...

gruss&danke
pablo

pablovschby
05.05.03, 18:25
ich komm sogar auf die db rauf, aber ...... wie muss ich ne tabelle erstellen, um nachher einem user "root" vollzugriff zu geben...
[root@linuxserver1 root]# /usr/local/mysql/3.23.52/bin/mysql -u root -p board1
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 36 to server version: 3.23.52-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use board1
Database changed
mysql>.........erbitte rat

pablovschby
05.05.03, 18:56
..das problem ist gelöst...ich war wohl zu dämlich...der hatte die privileges...noch nicht ge"flush"t....


nur noch frage1 das: wie lösche ich jetzt den user "mysql" mit leerem passwort....mit einer linie befehl...?

naja, ich find dazu nix 100ert prozentiges, bin aber noch am suchen....

$kuLL
05.05.03, 19:28
hier gehts jetzt am einfachsten über webmin
server --> mysql-server --> benutzerrechte

da kannst du alle beliebigen user löschen / erstellen / bearbeiten

pablovschby
05.05.03, 19:54
ich denke, es ist wiedermal eine klare sache....ich hatte über webmin die rechte noch nie und werd sie auch nie als root haben... (?)

ausserdem: als ich den user "mysql" mit id 501 löschte, konnte der mysqlserver als "root" nicht mehr gestartet werden.... das hatten wir auch schon mal...... user "mysql" mit 501 wieder erstellt (ein völlig anderes pwd als root) und zack, mysql liess sich als root natürlich wieder starten... (ich meine shell-user)

aber warum??? die lösung ---> übermenschlich...

pablovschby
05.05.03, 19:55
habs bild vergessen

pablovschby
05.05.03, 19:56
uups...sorry,....da hab ich was falsch gemacht....webmin geht, habe user alle löschen können.....sooory...

jetzt ist nur noch das problem mit dem shelluser "mysql"

gruss&danke
pablo

pablovschby
05.05.03, 20:13
im webmin drin........... dort gibts ne db, die heisst "mysql" .

hat das vielleicht was damit zu tun?

danke&gruss
pablo

$kuLL
05.05.03, 20:19
die db 'mysql' ist für die komplette verwaltung des mysqld zuständig
hier werden die user mit den passwörtern und den dazugehörigen rechten verwaltet

ich weiß jetzt nicht genau was du jetzt machen willst, aber den user mysql brauchst du eigentlich nicht zu löschen -- oder hab ich da jetzt was falsch verstanden

ps: was hast du denn für ein betriebsystem?

pablovschby
05.05.03, 20:20
ok, dann lass ich ihn halt und vergib ein weiteres ultralanges passwort....easy....

das wars dann glaubs schon....DANKE VIELMALS (freudenschrei,...)
pablo

$kuLL
05.05.03, 20:27
na dann ist ja gut :D
der user 'mysql' ist ja letztendlich nur dazu da, um den mysqld nicht als root auszuführen sondern als mysql

wenn ein angreifer ne schwachstelle entdeckt, kann er dann keine root rechte erlangen, sondern nur die rechte von mysql, welcher ja nur beschränkten zugriff auf das system hat und somit nix kaputt machen kann

du kannst den mysql auch als user 'mrx' laufen lassen, das ist das selbe
du musst nur den user in die /etc/my.cnf eintragen

pablovschby
05.05.03, 20:29
Original geschrieben von $kuLL
na dann ist ja gut :D
der user 'mysql' ist ja letztendlich nur dazu da, um den mysqld nicht als root auszuführen sondern als mysql

wenn ein angreifer ne schwachstelle entdeckt, kann er dann keine root rechte erlangen, sondern nur die rechte von mysql, welcher ja nur beschränkten zugriff auf das system hat und somit nix kaputt machen kann

du kannst den mysql auch als user 'mrx' laufen lassen, das ist das selbe
du musst nur den user in die /etc/my.cnf eintragen ich dank dir vielmals........dann ists ja wieder logsich
gruss
pablo