Ankündigung

Einklappen
Keine Ankündigung bisher.

OH 1.4 MySQL Persistence: Communications Links Failure

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    OH 1.4 MySQL Persistence: Communications Links Failure

    Hi,

    seit OpenHAB Release 1.4 hat sich ja einiges getan im Bezug auf die MySQL Persistence. Leider auch soviel, dass ich sie nicht mehr zum Laufen bekomme:

    Neu aufgesetztes Debian Wheezy mit OpenHAB 1.4 (Stable) und MySQL 5.5.35.

    openhab.cfg:

    Code:
    #### SQL Persistence Service  ####
    # the database url like 'jdbc:mysql://<host>:<port>/<user>'
    mysql:url=jdbc:mysql://localhost:3306/openhab
    mysql:user=openhab
    mysql:password=abc123
    Im logback.xml den Log-Level für "org.openhab.persistence" auf DEBUG gesetzt:

    Code:
    ==> /var/log/openhab/events.log <==
    2014-02-16 23:35:49 - MySwitchItem received command OFF
    
    ==> /var/log/openhab/openhab.log <==
    23:35:49.591 DEBUG o.o.p.m.i.MysqlPersistenceService[:355]- mySQL: Attempting to connect to database jdbc:mysql://localhost:3306/openhab
    23:35:49.595 ERROR o.o.p.m.i.MysqlPersistenceService[:383]- mySQL: Failed connecting to the SQL database using: driverClass=com.mysql.jdbc.Driver, url=jdbc:mysql://localhost:3306/openhab, user=openhab, password=abc123
    [COLOR="Red"]com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure[/COLOR]
    
    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
            at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
            at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
    Caused by: java.net.ConnectException: Connection refused
            at java.net.PlainSocketImpl.socketConnect(Native Method)
            at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
            at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
            at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
            at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:385)
            at java.net.Socket.connect(Socket.java:546)
    23:35:49.595 WARN  o.o.p.m.i.MysqlPersistenceService[:268]- mySQL: No connection to database. Can not persist item 'MySwitchItem  (Type=SwitchItem, State=OFF)'! Will retry connecting to database next time.
    Versuch in der Shell mit lokalem MySQL zu connecten:

    Code:
    user@mainserver:/opt/openhab/configurations/persistence# mysql -u openhab -p openhab
    Enter password:
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 2377
    Server version: 5.5.35-0+wheezy1 (Debian)
    
    Copyright (c) 2000, 2013, 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> [B]create table EXAMPLE( id INT);
    Query OK[/B], 0 rows affected (0.86 sec)
    
    mysql> drop table EXAMPLE;
    Query OK, 0 rows affected (0.06 sec)
    
    mysql>
    => An den Berechtigungen kann es also nicht liegen.

    Hat irgendjemand eine Idee, was ich noch versuchen kann?

    LG,
    Michael

    #2
    Ich hatte vor einiger Zeit auch das Problem, dass die Verbindung zu mySQL verloren ging. Allerdings reichte bei mir ein Neustart von mySQL und openHAB.

    Kommentar


      #3
      Hilft bei mir leider nichts :-(

      Kommentar


        #4
        Habe seit einiger Zeit das selbe Problem und die gleiche Fehlermeldung.
        Gibt es schon eine Lösung dazu?

        Michael

        Kommentar


          #5
          Also bei mir hat es geholfen, eine Database "openhab" zu erzeugen.

          Dazu erst mit dem mysql-User "openhab" sich einloggen (zumindest geht das bei Linux so):

          Code:
          mysql -u openhab -p
          Dann in mysql die Datenbank erzeugen:

          Code:
          create database openhab;
          Mit quit wieder raus:

          Code:
          quit
          Schon hat es funktioniert bei meinem openhab.cfg (hier ein Auszug):

          Code:
          ############################ SQL Persistence Service ##################################
          # the database url like 'jdbc:mysql://<host>:<port>/<user>'
          mysql:url=jdbc:mysql://127.0.0.1/openhab
          
          # the database user
          mysql:user=openhab
          
          # the database password
          mysql:password=openhab
          Wär ganz hilfreich gewesen, wenn das in der Wiki drinstünde.

          Kommentar


            #6
            Hi,

            in der openhab.cfg ist de connect-String falsch beschrieben. Dort steht
            Code:
            ############################ SQL Persistence Service ##################################
            # the database url like 'jdbc:mysql://<host>:<port>/<user>'
            Korrekterweise müsste es lauten:
            Code:
            ############################ SQL Persistence Service ##################################
            # the database url like 'jdbc:mysql://<host>:<port>/<database>'
            Vielleicht hat das bei einigen zur Verwirrung geführt. Im Wiki ist es übrigens richtig beschrieben.

            Gruß,
            thoern

            Kommentar

            Lädt...
            X