DBLOG: Datenbank erstellen nicht möglich

Begonnen von walterschmitz, 18 Mai 2015, 23:09:28

Vorheriges Thema - Nächstes Thema

walterschmitz

Hallo zusammen,

ich habe http://www.fhemwiki.de/wiki/DbLog#Datenbank-Anbindung_mittels_db.conf begonnen das DBLog einzustellen.
MySql wurde installiert und kann über root / password in der Konsole erreicht werden.

Nächster Schritt war die db_create_mysql.sql entsprechend meinen Bedürfnissen zu editieren.
CREATE DATABASE `fhem` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'fhemuser'@'%' IDENTIFIED BY 'fhempassword';
CREATE TABLE `fhem`.`history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
CREATE TABLE `fhem`.`current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));
GRANT SELECT, INSERT, DELETE, UPDATE ON `fhem`.* TO 'fhemuser'@'%';
CREATE INDEX Search_Idx ON `fhem`.`history` (DEVICE, READING, TIMESTAMP);

Hier kann ich den User und das Passwort noch entsprechend anpassen.

Der entsprechende User wird ja / sollte ja beim Einlesen von db_create_mysql.sql erstellt werden, wenn ich das richtig interpretiere.

Also starte ich auf der Konsole den Befehl:
mysql -u root -p < db_create_mysql.sql
Nach Eingabe des Root-Passwortes erhalte ich die Fehlermeldung:
ERROR 1049 (42000): Unknown database 'fhem'

Klar: Die Database fhem ist nicht existent, soll aber in der ersten Zeile erzeugt werden.
Warum wird sie nicht erstellt?

Erst im Anschluß daran kann ich die db.conf entsprechend der User / Passwort-Einstellung vornehmen und dann weiterarbeiten... aber warum wird die Database nicht erstellt?

Gruß

Information:
MySQL-Version:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 60
Server version: 5.5.43-0+deb7u1 (Debian)

Copyright (c) 2000, 2015, 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.


ChrisK

Was passiert denn, wenn Du in der Datei nur die Zeile mit CREATE DATABASE drin lässt und alles andere entfernst?
Läuft er dann durch oder gibt es dann auch eine Fehlermeldung?

walterschmitz

Hm...  ::)

Wenn ich die Zeilen einzeln in der db_create_mysql.sql stehen lasse und sie über mysql -u root -p < db_create_mysql.sql importiere, scheint es zu gehen.

Muss also irgendwo ein Fehler in der Datei gewesen sein. Habe schließlich immer alles rausgelöscht, bis auf jede einzelne Zeile.
Erklären kann ich mir das gerade nicht, warum es vorher nicht ging... habe es halt immer gleich gemacht :(

Naja... jetzt geht es anscheinend. Muss ich nur noch die db.conf anpacken :)

Danke dir für den Hinweis.

Zephyr

hast Du mal geschaut, ob die DB 'fhem' in Deiner mySQL-Instanz schon erstellt war?
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433

walterschmitz

Hallo,

die Datenbank fhem gab es noch nicht.
Ich hatte sie zuvor zum Testen angelegt, bevor ich gesehen habe, dass es die db_create_mysql.sql gab. Dann hab ich die fhem mit drop als root wieder gelöscht... somit gab es sie nicht (mehr).
Trotzdem gab es den Fehler.