• Diese Seite verwendet Cookies. Indem du diese Website weiterhin nutzt, erklärst du dich mit der Verwendung von Cookies einverstanden. Erfahre mehr

Kann keine Datenbank erstellen/importieren mit mysql

cabriofahrer

Well-Known Member
Themenstarter #1
Ich möchte mich zu Trainingszwecken mit mysql beschäftigen und komme schon gleich zu Anfang nicht klar. Ich kann noch nichteinmal eine neue Datenbank erstellen. Hier ist, was ich soweit getan habe:

#service mysql-server onestart

In anderem Terminal dann:

$mysql

Code:
$ mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.38 Source distribution

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database employees;
ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'employees'
mysql> status
--------------
mysql  Ver 14.14 Distrib 5.6.38, for FreeBSD11.0 (amd64) using  EditLine wrapper

Connection id:          7
Current database:
Current user:           werner@localhost
SSL:                    Not in use
Current pager:          more
Using outfile:          ''
Using delimiter:        ;
Server version:         5.6.38 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /tmp/mysql.sock
Uptime:                 15 min 43 sec

Threads: 1  Questions: 31  Slow queries: 0  Opens: 67  Flush tables: 1  Open tables: 60  Queries per second avg: 0.032
--------------

mysql>
Wie man sieht, kann ich keine Datenbank erstellen, siehe oben "create database employees;"

Warum nicht? Ich nehme an, ich muss da noch vorher irgendetwas konfigurieren?
 

Rakor

Administrator
Mitarbeiter
#2
Steht doch da. Du hast keine Rechte. In mysql gibt es auch einen Benutzer 'root' der volle Rechte hat. Les dich mal in die Benutzer- und Rechtestruktur ein.
 

cabriofahrer

Well-Known Member
Themenstarter #3
So etwas hatte ich mir gedacht. Leider weiß ich nicht, wonach ich genau suchen soll in dieser Masse von Informationen der MySQL-Seite. Wärst Du bitte so freundlich, mir hier die URL zum relevanten Kapitel zu posten?
 
#6
@cabriofahrer Um dich als root zu verbinden, nutze einfach den Parameter -u root beim Aufruf des MySQL-Kommandozeilentools.
Der vorangelegte root-Account hat kein Passwort, dieses solltest du auf jeden Fall setzen.

Das Skript mysql_secure_installation nimmt dir da einiges an Arbeit ab - ist aber für den Betrieb als solchen nicht zwingend.

Rob
 

cabriofahrer

Well-Known Member
Themenstarter #7
Um dich als root zu verbinden, nutze einfach den Parameter -u root beim Aufruf des MySQL-Kommandozeilentools.
Wunderbar, hat geklappt! Ich konnte so auch eine Testdatenbank importieren und gleich einige Abfragen testen.

Der vorangelegte root-Account hat kein Passwort, dieses solltest du auf jeden Fall setzen.
Wie geht das genau?

Das Skript mysql_secure_installation nimmt dir da einiges an Arbeit ab - ist aber für den Betrieb als solchen nicht zwingend.
Wozu genau würde ich das denn brauchen, wenn "mysql -u root" schon geklappt hat?

In dem von @foxit vorgeschlagenen Artikel findet sich folgender Eintrag für die /etc/rc.conf:

Code:
mysql_enable="YES"
mysql_args="--bind-address=127.0.0.1"
Ich nehme an, der Eintrag mit der computereigenen IP ist auch nicht nötig, wenn es bei mir mit "service mysql-server onestart" geklappt hat?
 

foxit

Moderator
Mitarbeiter
#8
Steht in dem Link von mir. Stichwort: "mysql_secure_installation"
Wozu genau würde ich das denn brauchen, wenn "mysql -u root" schon geklappt hat?
Beispiel: Im Internet setzt jemand einen MySQL Server auf und denkt: Ah super ich kann mich per root einloggen! Nein nichts ist super. Wenn du den Eintrag: "--bind-address=127.0.0.1" nicht machst, kann jeder im Netzwerk einfach ohne Passwort auf deine Datenbank zugreifen und einen DB Drop Befehl ausführen. Darum sollte man immer zuerst "mysql_secure_installation" starten und ein Passwort für "root" setzen. Ja auch im lokalen Netzwerk finde ist das wichtig :)
Ich nehme an, der Eintrag mit der computereigenen IP ist auch nicht nötig, wenn es bei mir mit "service mysql-server onestart" geklappt hat?
mysql_enable="YES" ist nötig, damit es per "service mysql-server start" funktioniert und die DB nach dem Reboot automatisch startet.
 

cabriofahrer

Well-Known Member
Themenstarter #10
Vielen Dank für Eure Hinweise! Habe jetzt das Skript mysql_secure_installation laufen lassen, die Einträge in die /etc/rc.conf hinzugefügt und kann nun mittles

$mysql -u root -p

den Betrieb starten. Es ist nur schade, dass diese Kleinigkeiten für den Anfang kaum dokumentiert sind. Das gehört eigentlich ins Handbook. Vielleicht kann man es wenigstens hier ins WIKI tun.
 
#13