Thread View: de.comp.datenbanken.mysql
9 messages
9 total messages
Started by Alexander Goetze
Fri, 11 Jul 2025 01:01
erste Schritte
Author: Alexander Goetze
Date: Fri, 11 Jul 2025 01:01
Date: Fri, 11 Jul 2025 01:01
60 lines
2133 bytes
2133 bytes
Hallo, nun wollte ich erste Schritte wagen und habe mir ein, zwei Tutorials gegriffen. Die ich gefunden habe, beziehen sich alle auf MySQL unter Windows, was für mich unter Linux möglicherweise ein Problem ist. Denn ich kann nicht einmal den ersten Schritt tun: > alex@t560b:~> mariadb > Welcome to the MariaDB monitor. Commands end with ; or \g. > Your MariaDB connection id is 9 > Server version: 11.8.2-MariaDB MariaDB package > > Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. > > Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. > > MariaDB [(none)]> show schemas; > +--------------------+ > | Database | > +--------------------+ > | information_schema | > | test | > +--------------------+ > 2 rows in set (0,001 sec) > > MariaDB [(none)]> create schema S; > ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'S' OK, wenn ich das nicht darf, dann vielleicht root? > MariaDB [(none)]> ^DBye > alex@t560b:~> mariadb -u root -p > Enter password: > ERROR 1698 (28000): Access denied for user 'root'@'localhost' > alex@t560b:~> Auch nicht. Laufen tut es aber: > alex@t560b:~> systemctl status mariadb > ● mariadb.service - MariaDB database server > Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; preset: disabled) > Active: active (running) since Fri 2025-07-11 00:33:55 CEST; 25min ago > Invocation: d2b468e1667145bc8d10ce128fe56db0 > Docs: man:mysqld(8) > https://mariadb.com/kb/en/library/systemd/ > Process: 24009 ExecStartPre=/usr/libexec/mysql/mysql-systemd-helper install (code=exited, status=0/SUCCESS) > Process: 24016 ExecStartPre=/usr/libexec/mysql/mysql-systemd-helper upgrade (code=exited, status=0/SUCCESS) > Main PID: 24095 (mysqld) > Status: "Taking your SQL requests now..." > Tasks: 8 (limit: 18853) > CPU: 6.796s > CGroup: /system.slice/mariadb.service > └─24095 /usr/sbin/mysqld --defaults-file=/etc/my.cnf --user=mysql --socket=/run/mysql/mysql.sock Wo hakt es, was muss ich tun? -- Gruß Alex
Re: erste Schritte
Author: Marco Moock
Date: Fri, 11 Jul 2025 07:25
Date: Fri, 11 Jul 2025 07:25
57 lines
1704 bytes
1704 bytes
Am 11.07.2025 01:01 Uhr schrieb Alexander Goetzenstein: > Hallo, > nun wollte ich erste Schritte wagen und habe mir ein, zwei Tutorials > gegriffen. Die ich gefunden habe, beziehen sich alle auf MySQL unter > Windows, was für mich unter Linux möglicherweise ein Problem ist. Denn > ich kann nicht einmal den ersten Schritt tun: > > > alex@t560b:~> mariadb > > Welcome to the MariaDB monitor. Commands end with ; or \g. > > Your MariaDB connection id is 9 > > Server version: 11.8.2-MariaDB MariaDB package > > > > Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. > > > > Type 'help;' or '\h' for help. Type '\c' to clear the current input > > statement. > > > > MariaDB [(none)]> show schemas; > > +--------------------+ > > | Database | > > +--------------------+ > > | information_schema | > > | test | > > +--------------------+ > > 2 rows in set (0,001 sec) > > > > MariaDB [(none)]> create schema S; > > ERROR 1044 (42000): Access denied for user ''@'localhost' to > > database 'S' > > OK, wenn ich das nicht darf, dann vielleicht root? sudo mysql -u root Hintergrund: Ein normaler Nutzer darf das eben nicht. Wenn du es als normaler User tun willst, musst du dich mit GRANT auseinandersetzen. > > MariaDB [(none)]> ^DBye > > alex@t560b:~> mariadb -u root -p > > Enter password: > > ERROR 1698 (28000): Access denied for user 'root'@'localhost' > > alex@t560b:~> > > Auch nicht. Man muss das mit dem root-UNIX-User tun. Sonst könnte jeder am System wie wild an der Datenbank doktern. -- Gruß Marco Spam und Werbung bitte an 1752188472ichwillgesperrtwerden@nirvana.admins.ws
Re: erste Schritte
Author: Stefan+Usenet@Fr
Date: Fri, 11 Jul 2025 08:50
Date: Fri, 11 Jul 2025 08:50
47 lines
1484 bytes
1484 bytes
On Fri, 11 Jul 2025 07:25:21 Marco Moock wrote: > Am 11.07.2025 01:01 Uhr schrieb Alexander Goetzenstein: >> > alex@t560b:~> mariadb [...] >> > ERROR 1044 (42000): Access denied for user ''@'localhost' to >> > database 'S' >> OK, wenn ich das nicht darf, dann vielleicht root? > sudo mysql -u root *autsch* > Hintergrund: Ein normaler Nutzer darf das eben nicht. Wenn du es > als normaler User tun willst, musst du dich mit GRANT > auseinandersetzen. MySQL/MariaDB ist der Unix-User vollkommen egal, ergo sollte man das Programm gerade eben *nicht* mit der UID 0 aufrufen. Einzige Ausnahme: Wenn die Distribution so hirnkrank ist, dass man zunächst nur mit UID 0 hineinkommt, um sich einen anderen User anzulegen. Das wollen wir einmal nicht hoffen. >> > MariaDB [(none)]> ^DBye >> > alex@t560b:~> mariadb -u root -p >> > Enter password: >> > ERROR 1698 (28000): Access denied for user 'root'@'localhost' >> > alex@t560b:~> >> Auch nicht. Aber doch schon viel besser. Du suchst hier a) entweder das korrekte Passwort, das die Distribution Dir irgendwo mitgeteilt hat, oder b) den Unix-User, dem die Distribution ermöglicht, sich ohne Passwort anzumelden. Sobald Du das hast, legst Du Dir einen minder privilegierten MariaDB-User an und arbeitest mit dem weiter. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Stefan - vertiert, gelassen in allen Nächten! (Sloganizer)
Re: erste Schritte
Author: Jan Schmidt
Date: Fri, 11 Jul 2025 10:40
Date: Fri, 11 Jul 2025 10:40
62 lines
2038 bytes
2038 bytes
Marco Moock schrieb am 11.07.25 um 07:25: > Am 11.07.2025 01:01 Uhr schrieb Alexander Goetzenstein: > >> Hallo, >> nun wollte ich erste Schritte wagen und habe mir ein, zwei Tutorials >> gegriffen. Die ich gefunden habe, beziehen sich alle auf MySQL unter >> Windows, was für mich unter Linux möglicherweise ein Problem ist. Denn >> ich kann nicht einmal den ersten Schritt tun: >> >>> alex@t560b:~> mariadb >>> Welcome to the MariaDB monitor. Commands end with ; or \g. >>> Your MariaDB connection id is 9 >>> Server version: 11.8.2-MariaDB MariaDB package >>> >>> Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. >>> >>> Type 'help;' or '\h' for help. Type '\c' to clear the current input >>> statement. >>> >>> MariaDB [(none)]> show schemas; >>> +--------------------+ >>> | Database | >>> +--------------------+ >>> | information_schema | >>> | test | >>> +--------------------+ >>> 2 rows in set (0,001 sec) >>> >>> MariaDB [(none)]> create schema S; >>> ERROR 1044 (42000): Access denied for user ''@'localhost' to >>> database 'S' >> >> OK, wenn ich das nicht darf, dann vielleicht root? > > sudo mysql -u root > > Hintergrund: Ein normaler Nutzer darf das eben nicht. > Wenn du es als normaler User tun willst, musst du dich mit GRANT > auseinandersetzen. > >>> MariaDB [(none)]> ^DBye >>> alex@t560b:~> mariadb -u root -p >>> Enter password: >>> ERROR 1698 (28000): Access denied for user 'root'@'localhost' >>> alex@t560b:~> >> >> Auch nicht. > > Man muss das mit dem root-UNIX-User tun. > Sonst könnte jeder am System wie wild an der Datenbank doktern. echt? Ich würde mal behaupten, dass die rechte des users, der den client ausführt nichts daran ändert, was der server erlaubt. Die Rechte auf dem server werden ja normalerweise mit dem Datenbankuser festgelegt. Was hier hilft, ist einen user im mysql mit passenden Rechten anzulegen bzw. dem root-user login rechte zu geben. kurze Suche liefert auch eine Erklärung... https://stackoverflow.com/a/42742610 jan
Re: erste Schritte
Author: Stefan+Usenet@Fr
Date: Fri, 11 Jul 2025 11:16
Date: Fri, 11 Jul 2025 11:16
24 lines
943 bytes
943 bytes
On Fri, 11 Jul 2025 11:31:17 Peter J. Holzer wrote: > On 2025-07-11 10:50, Stefan Froehlich <Stefan+Usenet@Froehlich.Priv.at> wrote: >> Ausnahme: Wenn die Distribution so hirnkrank ist, dass man >> zunächst nur mit UID 0 hineinkommt, um sich einen anderen User >> anzulegen. Das wollen wir einmal nicht hoffen. > Ist bei Debian und Ubuntu der Fall. Das Passwort für > root@localhost ist nach der Installation invalid, aber man kann > sich über unix_socket authentifizieren. Huch. Dann habe ich das vor einer Ewigkeit mit meiner Default-Konfiguration entfernt, das war mir gar nicht mehr bewusst. root hat hier genau keine bevorzugte Behandlung bei PostgreSQL, nur der postgres-User darf ohne Passwort als Admin hinein. Das reicht vollkommen. Servus, Stefan -- http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich Offizieller Erstbesucher(TM) von mmeike Kompetent bleibt kompetent: Und dafür Stefan! (Sloganizer)
Re: erste Schritte
Author: "Peter J. Holzer
Date: Fri, 11 Jul 2025 11:22
Date: Fri, 11 Jul 2025 11:22
59 lines
2233 bytes
2233 bytes
On 2025-07-11 10:40, Jan Schmidt <jan.schmidt@gmx.de> wrote: > Marco Moock schrieb am 11.07.25 um 07:25: >> Am 11.07.2025 01:01 Uhr schrieb Alexander Goetzenstein: >> >>> Hallo, >>> nun wollte ich erste Schritte wagen und habe mir ein, zwei Tutorials >>> gegriffen. Die ich gefunden habe, beziehen sich alle auf MySQL unter >>> Windows, was für mich unter Linux möglicherweise ein Problem ist. Denn >>> ich kann nicht einmal den ersten Schritt tun: >>> >>>> alex@t560b:~> mariadb >>>> Welcome to the MariaDB monitor. Commands end with ; or \g. >>>> Your MariaDB connection id is 9 [...] >>>> MariaDB [(none)]> create schema S; >>>> ERROR 1044 (42000): Access denied for user ''@'localhost' to >>>> database 'S' Es existiert offenbar ein User ''@'localhost'. Welche Distribution ist das, die per Default einen User mit einem so seltsamen Namen anlegt? (Und versucht mariadb nicht normalerweise den Unix-Usernamen, wenn man nicht explizit einen angibt? Das müsste hier dann eigentlich 'alex' sein.) >>> >>> OK, wenn ich das nicht darf, dann vielleicht root? >> >> sudo mysql -u root >> >> Hintergrund: Ein normaler Nutzer darf das eben nicht. >> Wenn du es als normaler User tun willst, musst du dich mit GRANT >> auseinandersetzen. >> >>>> MariaDB [(none)]> ^DBye >>>> alex@t560b:~> mariadb -u root -p >>>> Enter password: >>>> ERROR 1698 (28000): Access denied for user 'root'@'localhost' >>>> alex@t560b:~> >>> >>> Auch nicht. >> >> Man muss das mit dem root-UNIX-User tun. >> Sonst könnte jeder am System wie wild an der Datenbank doktern. > > echt? Ich würde mal behaupten, dass die rechte des users, der den > client ausführt nichts daran ändert, was der server erlaubt. So ist es. Aber auf manchen Distributionen (z.B. Debian, Ubuntu) kann der Unix-User root sich ohne Passwort als Datenbank-User root anmelden. > Was hier hilft, ist einen user im mysql mit passenden Rechten > anzulegen Dazu muss man sich erst einmal als privilegierter User an der Datenbank anmelden können. Dazu braucht man entweder das Passwort des Datenbank-Users root (sofern der eines hat) oder man muss auf andere Weise nachweisen, dass man berechtigt ist, sich als root anzumelden (z.B. in dem man bereits Unix-User root ist). hjp
Re: erste Schritte
Author: "Peter J. Holzer
Date: Fri, 11 Jul 2025 11:31
Date: Fri, 11 Jul 2025 11:31
56 lines
1903 bytes
1903 bytes
On 2025-07-11 10:50, Stefan Froehlich <Stefan+Usenet@Froehlich.Priv.at> wrote: > On Fri, 11 Jul 2025 07:25:21 Marco Moock wrote: >> Am 11.07.2025 01:01 Uhr schrieb Alexander Goetzenstein: >>> > alex@t560b:~> mariadb > [...] >>> > ERROR 1044 (42000): Access denied for user ''@'localhost' to >>> > database 'S' > >>> OK, wenn ich das nicht darf, dann vielleicht root? > >> sudo mysql -u root > > *autsch* > >> Hintergrund: Ein normaler Nutzer darf das eben nicht. Wenn du es >> als normaler User tun willst, musst du dich mit GRANT >> auseinandersetzen. > > MySQL/MariaDB ist der Unix-User vollkommen egal, ergo sollte man das > Programm gerade eben *nicht* mit der UID 0 aufrufen. Einzige > Ausnahme: Wenn die Distribution so hirnkrank ist, dass man zunächst > nur mit UID 0 hineinkommt, um sich einen anderen User anzulegen. Das > wollen wir einmal nicht hoffen. Ist bei Debian und Ubuntu der Fall. Das Passwort für root@localhost ist nach der Installation invalid, aber man kann sich über unix_socket authentifizieren. >>> > MariaDB [(none)]> ^DBye >>> > alex@t560b:~> mariadb -u root -p >>> > Enter password: >>> > ERROR 1698 (28000): Access denied for user 'root'@'localhost' >>> > alex@t560b:~> > >>> Auch nicht. > > Aber doch schon viel besser. Du suchst hier a) entweder das korrekte > Passwort, das die Distribution Dir irgendwo mitgeteilt hat, Wenn sie das hat. > oder b) den Unix-User, dem die Distribution ermöglicht, sich ohne > Passwort anzumelden. Dieser User ist bei Debian und Ubuntu root. > Sobald Du das hast, legst Du Dir einen minder privilegierten > MariaDB-User an und arbeitest mit dem weiter. ACK. Wobei es hier ja schon einen solchen gibt. Er hat sich ja erfolgreich als ''@'localhost' eingeloggt. Der hat nur nicht genug Privilegien um eine neue Datenbank anzulegen. Er dürfte aber vermutlich Tabellen in der Datenbank test anlegen dürfen. hjp
Re: erste Schritte
Author: Marco Moock
Date: Fri, 11 Jul 2025 11:32
Date: Fri, 11 Jul 2025 11:32
49 lines
1727 bytes
1727 bytes
Am 11.07.2025 10:40 Uhr schrieb Jan Schmidt: > Marco Moock schrieb am 11.07.25 um 07:25: > > Man muss das mit dem root-UNIX-User tun. > > Sonst könnte jeder am System wie wild an der Datenbank doktern. > > echt? Ich würde mal behaupten, dass die rechte des users, der den > client ausführt nichts daran ändert, was der server erlaubt. Die > Rechte auf dem server werden ja normalerweise mit dem > Datenbankuser festgelegt. Zumindest unter Debian funktioniert dieser Weg. Die Datenbankuser sind getrennt von den UNIX-Usern (ob man auch die nutzen kann, weiß ich ich nicht). Daher muss man erstmal einen Datenbanknutzer haben, der alles darf. Das ist unter Debian so gelöst, dass der UNIX-User root diese Rolle einnimmt, wenn man mariadb installiert hat. Damit nicht jeder User sich als mariadb-root ohne Passwort einloggen kann, ist das halt beschränkt. https://mariadb.com/docs/server/mariadb-quickstart-guides/basics-guide Warum dieser Weg (ggf. von Debian) gewählt wurde, weiß ich nicht. Eine Möglichkeit wäre ja gewesen, einen solchen Superuser in der Konfiguration einzurichten. m@srv1:~$ mysql -u root ERROR 1698 (28000): Access denied for user 'root'@'localhost' m@srv1:~$ sudo mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 74 Server version: 10.11.11-MariaDB-0+deb12u1 Debian 12 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> quit Bye m@srv1:~$ -- Gruß Marco Spam und Werbung bitte an 1752223246ichwillgesperrtwerden@nirvana.admins.ws
Re: erste Schritte
Author: "Peter J. Holzer
Date: Fri, 11 Jul 2025 14:22
Date: Fri, 11 Jul 2025 14:22
31 lines
1460 bytes
1460 bytes
On 2025-07-11 13:16, Stefan Froehlich <Stefan+Usenet@Froehlich.Priv.at> wrote: > On Fri, 11 Jul 2025 11:31:17 Peter J. Holzer wrote: >> On 2025-07-11 10:50, Stefan Froehlich <Stefan+Usenet@Froehlich.Priv.at> wrote: >>> Ausnahme: Wenn die Distribution so hirnkrank ist, dass man >>> zunächst nur mit UID 0 hineinkommt, um sich einen anderen User >>> anzulegen. Das wollen wir einmal nicht hoffen. > >> Ist bei Debian und Ubuntu der Fall. Das Passwort für >> root@localhost ist nach der Installation invalid, aber man kann >> sich über unix_socket authentifizieren. > > Huch. Dann habe ich das vor einer Ewigkeit mit meiner > Default-Konfiguration entfernt, das war mir gar nicht mehr bewusst. Vor Ewigkeiten war das auch nicht so (da wurde man beim Einrichten nach einem Passwort für root gefragt), aber doch schon seit längerer Zeit (ich bin eher Postgres- als MySQL-User, daher weiß ich nicht genau, seit wann). > root hat hier genau keine bevorzugte Behandlung bei PostgreSQL, > nur der postgres-User darf ohne Passwort als Admin hinein. Das > reicht vollkommen. Im Prinzip das Gleiche: Der Betriebssystem-User mit dem gleichen Namen darf sich ohne Passwort anmelden. Nur heißt halt der Root-User bei mysql "root" und bei Postgres "postgres". (Postgres ist da auch ziemlich flexibel: Man kann beliebige Betriebssystemuser auf beliebige Datenbankuser mappen. Davon mache ich auch fleißig Gebrauch. Lokal verwende ich praktisch nie Passwörter) hjp
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads