[MyBook Live] MySQL

In diesen Artikel beschreibe ich wie man auf den MyBook Live einen MySQL Server installiert.

Zu aller erst updaten wir apt-get. Stellt aber sicher dass ihr die Squeeze Pakete deaktiviert habt (siehe Kompatibilitätsprobleme Verhindern). Mit der zweiten Zeile installieren wir MySQL.

#apt-get update
#apt-get install mysql-server mysql-client php5-mysql

Wenn man angezeigt bekommt das php5-common geupdated werden soll

php5-mysql: Depends: php5-common (= 5.2.6.dfsg.1-1+lenny16) but 5.2.6.dfsg.1-1+lenny9 is to be installed

und beim versuch folgende Fehlermeldung kommt:

Sub-process /usr/bin/dpkg returned an error code (1)

Versucht folgendes:

#dpkg -i --force-overwrite /var/cache/apt/archives/php5-common_5.2.6.dfsg.1-1+lenny16_powerpc.deb
#apt-get update

[Update] Oder bei neueren Firmware-Versionen (um 02.43.03-022):

#apt-get -o Dpkg::Options::=”–force-overwrite” install php5-common

Falls jetzt noch Warnungen kommen wie:

W: GPG error: http://archive.debian.org lenny Release: The following signatures were invalid: KEYEXPIRED 1337087218 The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA

hilft folgendes:

#apt-get install debian-archive-keyring

Um MySQL automatisch mit dem System zu starten:

#ln -s /etc/init.d/mysql /etc/rc2.d/

Zum Schluss initialisieren wir noch die Datenbank:

#mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

Tipp

Die Standard Einstellungen von MySQL (/etc/mysql/my.cnf) erlauben nur den Zugriff direkt vom Server. Wenn ihr PuTTy nutzt könnt ihr aber euch auch recht einfach mit einen MySQL Client wie HeidiSQL verbinden:

Öffne PuTTy und gib unter Session wie gewohnt die SSH Verbindung ein. Nun noch auf Connection > SSH > Tunnels. In die Felder kommt: Source Port: 3306 und Destination: 127.0.0.1:3307. Dann add und ganz normal die Verbindung öffnen und einloggen.

Solange diese Verbindung steht könnt ihr von euren PC auf die Datenbank zugreifen (Host: 127.0.0.1 Port: 3307).

40 Gedanken zu „[MyBook Live] MySQL

  1. Hi,
    Thanks for that interesting How to,
    However, if I install an update of the firmware , won’t it delete the Mysql server ?

    • Hey,

      I’ve not tested it, but if you make a WD-Firmeware update all changes on the Linux will reset.

      I found this on http://mybookworld.wikidot.com/mybook-live :

      If you upgrade the firmware through WD’s UI, all customizations will be removed. This does not include SSH access, but it includes packages, kernel modules, SSH keys in /root/.ssh, everything that is not configured through the Web UI.
      WD’s upgrade is actually very clever: the system’s root partition is a ‚fake RAID‘ (two 2GB partitions on the same disk) and during upgrade, they disable one copy of the copies, install a new partition image, then synchronize the fake RAID, and reboot. So everything gets overwritten. This can also help if something is broken – just upgrade the firmware again, and everything will be reset to normal.

  2. Frage: Kann man nicht statt heidiSQL auch phpadmin auf der WD im Debian installieren ? wenn ja, kannst DU es kurz erklären wie und was man machen muß.
    Danke

    • Klar kann man auch phpmyadmin drauf installieren. Ich bevorzuge aber Heidie da ich es übersichtlicher und vor allem schneller finde.

      Abgesehen davon: Wenn man seinen Server von außen erreichbar macht sieht man recht schnell in den logs die „Abklopfversuche“ um Sicherheitslücken zu finden. Und auf Platz eins ist da meist die such nach einen phpmyadmin. Ich weiß nicht wie der aktuelle stand ist aber zumindest bei einer älteren Version scheint es Lücken zu geben.

      Bei mir weißt der Server alle Anfragen zurück die von einer anderen IP kommen (only 127.0.0.1). So kann man ohne SSH-Zugriff erst gar nicht auf den SQL-Server zugreifen.

      Nachtrag:
      Ich hab noch nie selber phpmyadmin aufgesetzt – daher kann ich dir keine Anleitung geben. Ist es denn eine reine Webanwendung oder müssen auch Pakete installiert werden.

      • Sorry war länger im Spital und kann erst jetzt antworten.

        Gedacht habe ich mir das ich die NAS für meine XBMC Videothek verwende. Daher möchte ich eine SQL Datenbank darauf betreiben und via phpmyadmin nur in die Datenbank reinschauen können. Also alles in allem eine reine Heimnetzangelegenheit. Keine anderen php-Seiten, keine Homepage etc.

          • Nochmals Hi,
            ich habe heute versucht mein NAS nach Deiner Anleitung zu adaptieren (mysql). Leider kamen bei mir andere Fehlercodes und plötzlich ließ sich der apache nicht mehr starten (war auch nicht mehr unter /etc/init.d/apache2 erreichbar). Auch auf die Konsole (im Browser die UI/login seite) konnte ich nicht mehr zugreifen. Nach stundenlangem Suchen im Internet fand ich aus mehreren Vorschlägen einen Weg ein „demoliertes“ Debian wieder neu aufzusetzen. Somit stehe ich wieder am Anfang meines Plans, aber mit einer originalen unberührten NAS.

            2 Sachen:
            1. Wenn Du für Deinen Blog die Anleitung zur Wiederherstellung möchtest, kann ich sie Dir gerne per email schicken.

            2. Darf ich Dich nächse Woche per email anschreiben damit Du mir hilfst mein WD-NAS zu adaptieren. Also mysql und so einrichten damit ich auch noch auf die originale Seite der WD browsen kann.

            schon im voraus danke ung grüße Charly

    • Du kannst gerne hier deine Fehlermeldung Posten bei der du nicht weiter kommst, so Helfen wir evtl. noch andere die das gleiche Problem haben 🙂

      Hast du dir diesen Blog-Beitrag angesehen: http://sitdnow.de/blog/?p=496 ? Dort findest du nicht nur wie du von deinen System ein Backup machst sondern auch wie du die sources.list bearbeiten musst damit keine Kompatibilitätsprobleme bekommst.

      Wie man einen weiteren Virtual-Host einrichtet damit die WD-UI auch weiter erreichbar ist hab ich in diesen Beitrag kurz skizziert: http://sitdnow.de/blog/?p=578

      • ja ich habe auch die anderen Blogs von Dir gelesen.
        ich muss sagen das ich aus der windows-welt komme und von linux keine Ahnung habe.
        Frage zum Backup:
        Wie restore ich dieses dann wenn etwas schief geht ?
        Frage zum VirtualHost:
        Brauche ich das wenn ich nur mysql haben will ?
        Brauche ich es für phpmyadmin ?
        Oder nur wenn ich einen eigene website machen möchte ?
        konkret: brauche ich es fürs XBMC?

        • Das Backup wieder einspielen tust du ebenfalls mit dd, schau mal hier: http://www.debianhelp.co.uk/ddcommand.htm

          Mit den VirtualHost trennst du WD-Site von deinen Kram. Die WD-Site liegt auf der sehr kleinen System-Partition (unter /var/www). Deine Website sollte da bestenfalls aber nicht liegen – dafür kann man ja die 2TB-Partition nutzen. Das hat mehrere Vorteile – abgesehen vom Platz, könntest du nur deine Website von außen erreichbar machen – ohne dass von außen auf die WD-Site zugegriffen werden kann – und die WD-Site bleibt einfach unberührt und es ist sichergestellt dass sie auch weiter funktioniert.

          Für XBMC brauchst du nicht unbedingt einen MySQL-Server. Einfach direkt per SMB auf deine Media-Ordner zugreifen. Wenn du aber unbedingt eine shared library brauchst dann kommst du natürlich nicht um MySQL herum.

          XBMC braucht nur die Datenbank – sprich du bräuchtest nicht mal php5-mysql, das braucht nur phpmyadmin.

          Aber an sich sollte es durchaus machbar sein alles zu installieren. Es ist eben nur die Frage wo die Installation schief geht. 🙂

  3. Hi,
    – habe Backup durchgeführt
    – habe die sources.list editiert (nur squeeze aktiv gesetzt)
    – habe Kompatibilität durchgeführt
    -habe „apt-get install mysql-server mysql-client php5-mysql“ durchgeführt

    dabei Probleme bekommen:
    – mysql-server dürfte erfolgreich gewesen sein, da ein Fenster aufging zum PW erstellen
    – mysql-client dürfte erfolgreich gewesen sein, da ein Fesnter aufging zum PW erstellen
    – php5-mysql … da kamen Errors
    – habe danach nur „# apt-get install php5-mysql“ eingegeben und bekomme folgendes retour.

    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    php5-mysql is already the newest version.
    You might want to run `apt-get -f install‘ to correct these:
    The following packages have unmet dependencies:
    libapache2-mod-php5: Depends: php5-common (= 5.3.3-7+squeeze17) but 5.2.6.dfsg.1-1+lenny9 is to be installed
    php5-cli: Depends: php5-common (= 5.3.3-7+squeeze17) but 5.2.6.dfsg.1-1+lenny9 is to be installed
    php5-curl: Depends: php5-common (= 5.3.3-7+squeeze17) but 5.2.6.dfsg.1-1+lenny9 is to be installed
    php5-mysql: Depends: php5-common (= 5.3.3-7+squeeze17) but 5.2.6.dfsg.1-1+lenny9 is to be installed
    php5-sqlite: Depends: php5-common (= 5.3.3-7+squeeze17) but 5.2.6.dfsg.1-1+lenny9 is to be installed
    E: Unmet dependencies. Try ‚apt-get -f install‘ with no packages (or specify a solution).

    – „php -v“ gibt mir folgendes retour:

    PHP Deprecated: Comments starting with ‚#‘ are deprecated in /etc/php5/cli/conf.d/curl.ini on line 1 in Unknown on line 0
    PHP Deprecated: Comments starting with ‚#‘ are deprecated in /etc/php5/cli/conf.d/pdo.ini on line 1 in Unknown on line 0
    PHP Deprecated: Comments starting with ‚#‘ are deprecated in /etc/php5/cli/conf.d/pdo_sqlite.ini on line 1 in Unknown on line 0
    PHP Deprecated: Comments starting with ‚#‘ are deprecated in /etc/php5/cli/conf.d/sqlite.ini on line 1 in Unknown on line 0
    PHP Warning: PHP Startup: Unable to load dynamic library ‚/usr/lib/php5/20090626+lfs/pdo.so‘ – /usr/lib/php5/20090626+lfs/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0
    PHP Warning: PHP Startup: Unable to load dynamic library ‚/usr/lib/php5/20090626+lfs/pdo_sqlite.so‘ – /usr/lib/php5/20090626+lfs/pdo_sqlite.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
    PHP Warning: PHP Startup: Unable to load dynamic library ‚/usr/lib/php5/20090626+lfs/sqlite.so‘ – /usr/lib/php5/20090626+lfs/sqlite.so: undefined symbol: php_pdo_register_driver in Unknown on line 0
    PHP 5.3.3-7+squeeze17 with Suhosin-Patch (cli) (built: Aug 26 2013 07:55:17)
    Copyright (c) 1997-2009 The PHP Group
    Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

    Bitte um Hilfe !!!

    • Du könntest mit:

      apt-get -o Dpkg::Options::=“–force-overwrite“ install php5-common

      Erzwingen dass er die 5.2.6.dfsg.1-1+lenny9 überschreibt und das neue php5-common installiert. Doch dabei muss ich vor möglichen Nebenwirkungen Warnen da ich 5.2.6.dfsg.1-1+lenny9 nicht kenne- doch du bist ja mittlerweile geübt im Backup aufspielen 😀

      Ich hatte auch ein Problem die php5-common zu updaten – doch bei mit war es glaube ich ein anderes Packet das ich überschreiben musste.

      • Juhu, vielen lieben Dank !!!!!
        Keine Fehler beim installieren und auch phpmyadmin läßt sich installieren. Auch die UI-Seite der WD ist nach wie vor erreichbar.

        Bei Deinem Befehl kam nur eine Aufforferung bzüglich installieren von Versionen. Die habe ich mit default (N) bestätigt und danach noch 2x andere, die ich ebenfalls mit default bestätigt habe.

        Nochmals vielen Dank. Jetzt weiß ich was ich die nächsten Monate machen werde …. mich mit Linux auseinader setzen und viel lernen 😉

  4. Hi there, sorry for the English, it’s my better language over German.

    If I will follow the steps in your first post, will the UI of the MybookLive still be accessible. I’ve wrecked it a few times since I tried installing mysql as described in different websites. To be noted that the shares always remained intact as the telnet / ssh did, but ik hate to reinstall the MBL again if my UI dissappears again. I’m running 02.43.03-022 Firmware. Thx for an answer in advance.

    • Hi Chris,

      with your current firmware you will get a dependency conflict with the apache. Take a look at the comments above from Charly, he got a similar problem. If you don’t need mysql access from php you can just leave off the php5-mysql. Otherwise you have to resolve the dependency conflicts, but try to keep the old configure files.

      If you are stuck with an error just post it here 😀

  5. Well the thing is, I want to see if it’s possible to run Spotweb server on it. Maybe you can tell me if that’s possible at all. It’s intended for personal use only…

      • Hi there,

        My UI is gone again, after trying above procedure. Whatever from the moment I use
        #apt-get -o Dpkg::Options::=”–force-overwrite” install php5-common

        I get the error: „E: Unmet dependencies. Try ‘apt-get -f install’ with no packages (or specify a solution).“

        I’m not at home at the moment, but it does mention the packages it fails to install offcourse.

        All other commands after above one, fail too. With the same message. The mysql_install_db command isn’t recognized at all.

        Also when I try to restore my UI with the Virtualhost script on your site, same problems and no return of the UI.

        Any thing you can think of that I can try ? I would really like to install a working server with both nzbget (which still works) and spotwebserver. For the latter, I need a working mysql database. And it would be nice if my UI could still be reachable 🙂

          • MyBookLive:~# apt-get -f install
            Reading package lists… Done
            Building dependency tree
            Reading state information… Done
            Correcting dependencies… Done
            The following extra packages will be installed:
            libapache2-mod-php5 libc-bin libc6 liblzma5 libonig2 libpcre3 libqdbm14 libsqlite3-0 libssl1.0.0 libtinfo5 libxml2 php-apc
            php5-cli php5-common php5-curl php5-sqlite psmisc
            Suggested packages:
            php-pear glibc-doc php5-gd
            The following NEW packages will be installed:
            libapache2-mod-php5 liblzma5 libonig2 libqdbm14 libssl1.0.0 libtinfo5
            The following packages will be upgraded:
            libc-bin libc6 libpcre3 libsqlite3-0 libxml2 php-apc php5-cli php5-common php5-curl php5-sqlite psmisc
            11 upgraded, 6 newly installed, 0 to remove and 277 not upgraded.
            2 not fully installed or removed.
            Need to get 2614kB/15.4MB of archives.
            After this operation, 15.7MB of additional disk space will be used.
            Do you want to continue [Y/n]? y
            WARNING: The following packages cannot be authenticated!
            libc-bin libc6 libssl1.0.0 liblzma5 libtinfo5 libpcre3 libsqlite3-0 libxml2 libonig2 libqdbm14 libapache2-mod-php5 php5-curl
            php5-sqlite php-apc php5-cli psmisc php5-common
            Install these packages without verification [y/N]? y
            Get:1 http://ftp.us.debian.org wheezy/main libapache2-mod-php5 5.4.4-14+deb7u5 [2614kB]
            Fetched 2614kB in 1s (1422kB/s)
            Preconfiguring packages …
            (Reading database …
            dpkg: warning: files list file for package `ramlog‘ missing, assuming package has no files currently installed.

            dpkg: warning: files list file for package `libparted0′ missing, assuming package has no files currently installed.
            (Reading database … 18722 files and directories currently installed.)
            Preparing to replace libc-bin 2.11.2-2 (using …/libc-bin_2.13-38_powerpc.deb) …
            Unpacking replacement libc-bin …
            dpkg: error processing /var/cache/apt/archives/libc-bin_2.13-38_powerpc.deb (–unpack):
            trying to overwrite ‚/etc/ld.so.conf.d/libc.conf‘, which is also in package wd-lib 01.04.01-81092
            dpkg-deb: subprocess paste killed by signal (Broken pipe)
            Errors were encountered while processing:
            /var/cache/apt/archives/libc-bin_2.13-38_powerpc.deb
            E: Sub-process /usr/bin/dpkg returned an error code (1)

    • Hi Chris,

      Sorry for the late answer. I see you have to update Apache, but there is a conflict with libc. I got this by installing gcc, too. I just force to overwrite the old libc:

      apt-get -o Dpkg::Options::=”–force-overwrite” install libc-bin

      Than you can try again „apt-get -f install“

      I got the same problem witch libc6 and overwrite it, too:

      apt-get -o Dpkg::Options::=”–force-overwrite” install libc6

  6. Hi there, it’s me once more….

    After bricking some around (even had to screw th MBL open once again for restore) I finally added 2 tutorials and found out it’s extremely easy.

    First (most important part):
    #rm -f /var/lib/dpkg/info/wd-nas.*

    after that, alter /etc/apt/sources.list to:

    deb http://ftp.us.debian.org/debian/ squeeze main
    deb-src http://ftp.us.debian.org/debian/ squeeze main
    #deb http://ftp.us.debian.org/debian/ wheezy main
    #deb-src http://ftp.us.debian.org/debian/ wheezy main
    #deb http://ftp.us.debian.org/debian/ sid main

    then it’s up to the above tutorial again:

    #apt-get update
    #apt-get install mysql-server mysql-client php5-mysql

    You have to answer some questions with a yes and make a password. Also some questions about if I wanted to change the php.ini which I answered the default: No.

    Not a single message or package which couldn’t be installed. I added phpmyadmin to the /var/www/ folder and voila, a working mqsql database.

    After that spotweb installed to it’s own folder and also little problems with that.

    Maybe it’s wise to update the first topic, since it works perfectly on squeeze now ?

    Man, it was really easy this way 🙂

    • No, it just wasnt approved for release 🙂

      Your solution is quite rigorously. I prefer to overwrite only the packages that i needed, because I’m not sure what is in the wd-nas package. In worst case the NAS bricks.

      Apart from that: yes i really need to update this Blog 🙂

  7. Ich bekomme nur fehler meldungen, und mein UI läuft nun auch nicht mehr 🙁
    MobileStoreLive:~# apt-get update
    Get:1 http://archive.debian.org lenny Release.gpg [1034B]
    Hit http://archive.debian.org lenny Release
    Err http://archive.debian.org lenny Release

    Get:2 http://archive.debian.org lenny Release [99.6kB]
    Ign http://archive.debian.org lenny Release
    Ign http://archive.debian.org lenny/main Packages/DiffIndex
    Hit http://archive.debian.org lenny/main Packages
    Fetched 101kB in 2s (46.8kB/s)
    Reading package lists… Done
    W: GPG error: http://archive.debian.org lenny Release: The following signatures were invalid: KEYEXPIRED 1337087218 The following signatures couldn’t be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
    W: You may want to run apt-get update to correct these problems
    MobileStoreLive:~#

    Und es soll nach der kompatibilität, auch Var/www vorhanden sein. Diese werden nicht erstellt.
    Debian 5.0.4
    Weezy ist auskommentiert, Squezzie auch. nur Lenny ist Aktiv.

    • Hallo, schau mal der dein Fehler wird oben schon erwähnt. Du musst einfach die Keys neu installieren:

      #apt-get install debian-archive-keyring
      #apt-get update

      Das deine UI nicht mehr Antwortet ist nicht so toll, lässt sich der Apache noch starten?

      #/etc/init.d/apache2 start

  8. Hallo,
    soweit ganz gut. Jedoch wäre es möglich dort auch eine Datenbank ala mssql ans laufen zu bekommen? diese dann über Hamachi anzusprechen?

    wenn ja einen Tip für mich?
    Danke
    Gruß

    • Hi,

      Datenbanken an sich sind natürlich kein Problem (MySQL, PostgreSQL, SQLite, usw.) – Alle die in den Debian-Repository drin sind kann man genauso installieren wie MySQL (siehe Artikel).

      MS-SQL ist natürlich etwas anderes da es nur für Windows angeboten wird. Es soll aber wohl auch möglich sein diese mit Wine zum laufen zu bekommen. Das ist aber wesentlich komplizierter als eine DB zu Installieren die von Haus aus auch für Linux angeboten wird (also sogut wie alle anderen 🙂 )

  9. Zufällig einen Tip wie man dort PHP 5.4 installieren kann? ich habe leider nichts gefunden 🙁 wollte owncloud installieren und dies benötigt 5.4

    • Hi,

      da ich mittlerweile für Server-Dienste auf einen Raspberry Pi umgestiegen bin kann ich es nicht mehr Probieren – Aber im Grunde müsste es funktionieren in der ‚/etc/apt/sources.list‘ die Wheezy-Repositories einzutragen:

      deb http://ftp.de.debian.org/debian stable main contrib non-free
      deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
      deb http://security.debian.org/ wheezy/updates main contrib non-free

      „apt-get update“ danach nicht vergessen.

      Und dann PHP5 zu installieren/updaten. Durch Abhängigkeiten müssen aber bestimmt auch andere Pakete aktualisiert werden, hier könnte es durchaus knifflig werden.
      Ich hatte es damals sogar hinbekommen Debian komplett auf Wheezy zu aktualisieren, musste aber auch einige Pakete „gewaltsam“ updaten (force) – am ende lief es aber.

      Wichtig: Je nach Fähigkeiten muss ich von einigen Schritten abraten:

      1. sources.list anpassen und „apt-get install php5“ ausprobieren kann jeder machen der einigermaßen die Ausgabe von apt-get versteht und nicht einfach yes eintippt 🙂
      2. Muss Apache aktualisiert werden, sollte man in der lage sein Fehler in log-files zu finden und Config-Files anzupassen (denn es könnte schiefgehen und damit wäre die Web-Oberfläche nicht mehr erreichbar). Zur Not sollte hier aber noch der Reset-Button funktionieren.
      3. Pakete mit force installieren oder Upgrade zu Wheezy: Hier sollte man in der Lage sein im Notfall das komplette MyBookLive wiederherzustellen. Bedeutet: Platte ausbauen, Image überspielen (Am besten vorher Backup machen, oder sich aus dem Netz besorgen). Durfte ich auch einmal machen, geht 🙂 hier die Anleitung

      TLDR; Ja es geht, kann aber mit Komplikationen verbunden sein.

  10. Vielen Dank, ich werde es später mal mit deinen Sources testen.
    Die anderen Sources die ich gefunden habe waren anders und selbst mit Forces Update oder Forces install kam kein 5.4 dabei rum. Ich muss aber erst einmal wieder downgraden da mal wieder nichts geht Reset button sei dank 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.