mysql Standardordner ist: /var/lib/mysql
sqlite: /usr/local/smarthome/var/db
Ankündigung
Einklappen
Keine Ankündigung bisher.
Raspberry Image Version 2.2 mit SmarthomeNG 1.5.1
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Bei der älteren war sie immer unter /var/db/ gespeichert.
Gruß
Hans
Einen Kommentar schreiben:
-
Hallo,
an welchem Ort bzw in welchem Verzeichnis wird die DB gespeichert?
Danke für die Rückmeldung.
Einen Kommentar schreiben:
-
Onkelandy
Also die Datein mysqlinit gibt es im Verzeichnis /root/. Diese enthält
Ist aber wahrscheinlich nicht ausgeführt worden.Code:# BEGIN ANSIBLE MANAGED BLOCK DELETE FROM user WHERE USER = 'root' AND HOST = 'localhost'; CREATE USER 'root'@'%' IDENTIFIED BY 'smarthome'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; CREATE DATABASE smarthome; CREATE USER 'smarthome'@'localhost' IDENTIFIED BY 'smarthome'; GRANT ALL PRIVILEGES ON smarthome.* TO 'smarthome'@'localhost' WITH GRANT OPTION; CREATE USER 'smarthome'@'%' IDENTIFIED BY 'smarthome'; GRANT ALL PRIVILEGES ON smarthome.* TO 'smarthome'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; # END ANSIBLE MANAGED BLOCK
Ausführen von Hand geht.
Danke nochmal
Einen Kommentar schreiben:
-
Tatsache? Das wäre bitter, dann hat was nicht geklappt. Hast du ein mysqlinit im root Ordner?
Dann nach dem Stoppen des Services das hier ausführen: mysql -uroot -proot mysql < /root/mysqlinit
Ansonsten bitte gerne mal die Datei anlegen und danach ausführen. Dann sollten alle User und Datenbank hergestellt werden...
Code:DELETE FROM user WHERE USER = 'root' AND HOST = 'localhost'; CREATE USER 'root'@'%' IDENTIFIED BY 'smarthome'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; CREATE DATABASE smarthome; CREATE USER 'smarthome'@'localhost' IDENTIFIED BY 'smarthome'; GRANT ALL PRIVILEGES ON smarthome.* TO 'smarthome'@'localhost' WITH GRANT OPTION; CREATE USER 'smarthome'@'%' IDENTIFIED BY 'smarthome'; GRANT ALL PRIVILEGES ON smarthome.* TO 'smarthome'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
Einen Kommentar schreiben:
-
Onkelandy DANKE
Das hat mich weiter gebracht. Allerdings stimmt das neue WIKI zu mysql nicht bzw. verhält sich das image 2.0.1 bei mir anders:- Datenbank smarthome-DB ist noch nicht angelegt
- user smarthome ist noch nicht angelegt (Demzufolge auch kein Passwort)
- user root hat kein Passwort (Deswegen ist ein Login via phpmyadmin nicht möglich)
Einen Kommentar schreiben:
-
schloessl Du schreibst:
In der 2.0 hatte ich eine eigene MariaDB angelegt und ein Backup erzeugt.
Die Lösung läuft unter 2.0 problemlos. Ich vermute ein Rechteproblem.
Hast du die Probleme also erst mit 2.0.1? Dort ist alles schon angelegt.. Infos siehe Wiki. Ich habe mal getestet, eine Datenbank in die bestehende zu importieren. Via phpmyadmin auch nach Anpassen sämtlicher PHP Optionen dauerte das zu lange und brach ab. Via Commandline hat es aber geklappt.
Einen Kommentar schreiben:
-
Ups, hier die Infos:
https://sourceforge.net/p/smarthomen...ge/wiki/mysql/
Wie bei den meisten anderen Service auch, ist es nötig, via systemctl start mysql zu starten. Für dauerhaften Einsatz zusätzlich: systemctl enable mysql
Einen Kommentar schreiben:
-
Ich habe auch auf die neuen Version umgestellt. Super gelaufen!!
Ein kleines Problem habe ich noch.
In der 2.0 hatte ich eine eigene MariaDB angelegt und ein Backup erzeugt.
Meine alte DB war unter mysql -u root -pdbaxx erreichbar.. Hier finde ich auch
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
|früher portfolio (meine table ) | jetzt steht hier phpmyadmin
+--------------------+
Mit source /usr/local/smarthome/var/eig/portfoliodb_sav/20170921-120150portfolio.sql kann ich meine Datenbank nicht mehr rückladen.
Per Programm kann die Datenbank nicht mehr angelegt werden.-- MySQL dump 10.16 Distrib 10.1.23-MariaDB, for debian-linux-gnueabihf (armv7l)
--
-- Host: localhost Database: portfolio
-- ------------------------------------------------------
-- Server version 10.1.23-MariaDB-9+deb9u1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `depwerte`
--
DROP TABLE IF EXISTS `depwerte`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `depwerte` (
`_index` int(11) unsigned NOT NULL AUTO_INCREMENT,
...
mariadb 111 connection refused
mysqld.sock doesn't exist
Gibt es hier Rechteprobleme oder ein anderes Passwort?
Ich stehe auf dem Schlauch!
Wolfgang
Ich bin jetzt etwas weiter.
Der Beitrag
https://stackoverflow.com/questions/...ld-mysqld-sock
half mir die DB-Rechte neu zu setzen:
UPDATE mysql.user SET authentication_string=PASSWORD('dbaxxx') WHERE user='root' AND host='localhost';
Danach konnte ich meine Datenbank anlegen und den Reload ausführen.
Unter root und sudo kann ich jetzt alles ausführen.
Aus smarthome als User smarthome versorge ich den Aufruf mit
Das Ergebnis istMain Logger : <logging.Logger object at 0x7204ded0>
Main db : portfolio
Main host : localhost
Main rootuser : root
Main rootPW : dbaxxx
Main user : smarthome
in im Init
def A01_connect_db(self):
if self._tracetest>0:
self.logger.info("*************************")
self.logger.info("A01_CONNECT DB")
self.logger.info("*************************")
try:
return pymysql.connect(host=self._host, user=self._rootuser,
password=self._rootpassword,
charset='utf8')
# charset='utf8',
# cursorclass=pymysql.cursors.DictCursor)
if self._traceaktie>0:
self.logger.info("*************************")
self.logger.info("CONNECTED TO DB")
self.logger.info("*************************")
except pymysql.err.OperationalError as e:
self.logger.info("Error connecting to mysql: {0}".format(e))
return False
#------------------------------------------- A02_check_db --------------------------------------------------------------------
def A02_check_db(self):
if self._tracetest>0:
self.logger.info("hier *************** A02_check_db *******************")
dbconn = self.A01_connect_db()
cursor = dbconn.cursor()
cursor.execute("use `" + self._db + "`")
# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")
# Fetch a single row using fetchone() method.
data = cursor.fetchone()
self._dbversion = data
if self._traceaktie>0:
self.logger.info("Database version : {0}".format(self._dbversion))
# Prüfe ob table vorhanden
try:
self.logger.info("Prüfe ob Database {0} vorhanden ist!".format(self._db))
cursor = dbconn.cursor()
self._sw_DBfehlt = False
self.logger.info("Database {0} ist vorhanden ".format(self._db))
except pymysql.err.OperationalError as e:
## self.logger.info("Error use Database: {0}".format(e))
raise
self.logger.info("Database {0} nicht vorhanden ".format(self._db))
self._sw_DBfehlt = True
Die Lösung läuft unter 2.0 problemlos. Ich vermute ein Rechteproblem.File "/usr/local/smarthome/plugins/aaportfolio/__init__.py", line 153, in __init__
self.A02_check_db()
File "/usr/local/smarthome/plugins/aaportfolio/__init__.py", line 216, in A02_check_db
cursor = dbconn.cursor()
AttributeError: 'bool' object has no attribute 'cursor'
Wer kann mir helfen?
Zuletzt geändert von schloessl; 05.10.2017, 18:44. Grund: Neuere Erkenntnisse brachten mich weiter, jedoch nicht zum Ziel.
Einen Kommentar schreiben:
-
So, ich habe am langen Wochenende nun auch den Umstieg gemacht.
Hat eigentlich alles super funktioniert.
Zwei Dinge musste ich noch ändern:
Ich musste bei dem Pi3 unbedingt die Bluetooth Schnittstelle deaktivieren. Ansonsten hatte ich verzögerungen beim Schalten über KNXD von manchmal bis zu 10Sekunden.
Nach dem Deaktivieren funktioniert wieder alles wie gewohnt.
In der /boot/config.txt folgendes einfügen:
Und dann noch ein:Code:dtoverlay=pi3-disable-bt
Und ich musste die Rechte für das Dashbuttonplugin noch setzen. Aber das sollte ja klar sein, wenn man ein Plugin startet...Code:sudo systemctl disable hciuart
Auf jeden Fall vielen Dank an Onkelandy!Code:sudo setcap cap_net_raw=eip /usr/bin/python3.4 sudo setcap cap_net_raw=eip /usr/sbin/tcpdump
Zuletzt geändert von schuma; 04.10.2017, 11:29.
Einen Kommentar schreiben:
-
Ja sehr gerne, am besten in einem eigenen repo auf der smarthomeNG Github Seite.Zitat von Onkelandy Beitrag anzeigenWenn Interesse besteht, kann ich auch die Ansible Playbooks veröffentlichen, die ich zum Erstellen des Images genutzt habe.
Wir machen gerade das gleiche für Docker und
Msinn
hat einen Bereich dafür angelegt.
https://github.com/smarthomeNG/docker
Für Ansible dann entsprechend:
https://github.com/smarthomeNG/ansible
fände ich gut.
Gruß,
Henning
Einen Kommentar schreiben:


Einen Kommentar schreiben: