[NAS] Iomega StorCenter ix + FFP & Mysql XBMC database share

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Anoniem: 461211

Topicstarter
Deze stappen heb ik moeten ondernemen op mijn Iomega Ix2 200 (cloudedition) NAS om Mysql werkend te krijgen. In deze tutorial is tevens beschreven hoe je xbmc gebruik kunt laten maken van een mysql database op je NAS. Ik ben niet aansprakelijk voor eventuele problemen welke ontstaan zijn aan je NAS door het volgen van deze tutorial. Succes!

1. INSTALLEREN FFP

Installeer eerst FFP (Fonz FunPlug) via [NAS] Iomega/Lenovo armel based Funplug

2. INSTALLEREN ULI

Inloggen via Putty met root op je NAS. Daarna het volgende uitvoeren:
# /ffp/bin/slacker -ac mysql


Check of deze onderstaande package in je rijtje heb staan:
i mysql - mysql-5.5.28-arm-2 uli:mysql-5.5.28-arm-2.txz


Staat de pakkage er bij ga dan ga je naar stap 3.
Als de pakkage er niet bijstaat, voer dan het volgende uit:
wget http://wolf-u.li/u/441 -O /ffp/bin/uwsiteloader.sh
chmod a+x /ffp/bin/uwsiteloader.sh
uwsiteloader.sh


In het menu kies je Uli en installeer je deze.

3. INSTALLEREN MYSQL

Voer het onderstaande uit
slacker -UaA uli

zoek uli:mysql-5.5.28-arm-2.txz en installeer deze.

Voer de volgende commando's uit:
sh /ffp/start/mysqld.sh stop
cp /ffp/etc/examples/mysql/my.cnf /ffp/etc/
ln -snf /ffp/opt/srv /srv
mkdir -p /srv/mysql/{innodblogdir,binlog,log,tmp,datadir}
mkdir -p /srv/tmp
/ffp/bin/mysql_install_db --basedir=/ffp
sh /ffp/start/mysqld.sh start
/ffp/bin/mysql_secure_installation


Vervolgens worden je een aantal vragen gesteld neem het onderstaande voorbeeld over:


NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password: VERZINEENPASSWORD
Re-enter new password: VERZINEENPASSWORD
Password updated successfully!
Reloading privilege tables..
… Success!

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
… Success!

By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!


4. EDIT MY.CNF

Daarna gaan we een config file aanpassen. Voer het volgende uit:
nano /ffp/etc/my.cnf


Voeg bij # The MySQL server onder het kopje [mysqld] en onder port de volgende regel toe:
bind-address    = het ipadres van je NAS.


Sla my.cnf op en Restart daarna Mysql met de volgende commando:
sh /ffp/start/mysqld.sh restart



5. COMMUNICATIE

Check of mysql op je aangeven ipadres staat en naar de standaardpoort 3306 luistert:
netstat -lptn


Deze regel moet zichtbaar zijn:
tcp        0      0 ipadres nas:3306        0.0.0.0:*               LISTEN      32680/mysqld


KLOPT DIT GA DOOR NAAR STAP 6!

Staat deze regel er niet bij, doe dan het volgende:
nano /ffp/start/mysqld.sh


Vervang de regel:
mysqld_flags="--skip-networking --user=root"
door
mysqld_flags="--user=root"


Sla de file op en restart Mysql:
sh /ffp/start/mysqld.sh restart


Als het goed is is Mysql nu goed geïnstalleerd en luistert hij op de juiste poort. Check dit door stap 5 nog een keer uit te voeren.

6. MYSQL CONFIGUREREN VOOR GEBRUIK XBMC

Nu gaan we mysql instellen voor het gebruik van XBMC (Frodo). Voer het volgende commando uit:
mysql -u root -p


---------------------------------------------------------------------------------------------------------------------------------------------------------
Als je de melding Can't connect to local MySQL server through socket '/ffp/var/run/mysql/mysql.sock' (2) krijgt doe dan het volgende:

Kopieer het pad achter "trough socket" in dit geval '/ffp/var/run/mysql/mysql.sock'
Wat we nu gaan doen is een symlink maken. mysql.sock staat waarschijnlijk niet op de plaats waar het systeem hem meent te vinden. Zoek in je systeem de juiste locatie van mysql.sock als je deze gevonden hebt, kopieer je het pad.

Voer het volgende commando uit:
su mysql


ln -s /voer hier het actuele pad naar mysql.sock in /voer hier pad achter "trough socket" in


Voorbeeld: ln -s /data/mysql_datadir/mysql.sock /ffp/var/run/mysql/mysql.sock

Daarna probeer stap 6 opnieuw.
----------------------------------------------------------------------------------------------------------------------------------------------------------

Je krijgt nu een command line te zien. Voer in:
CREATE USER 'xbmc' IDENTIFIED BY 'xbmc';

daarna
GRANT ALL ON *.* TO 'xbmc';

Om je database te testen voer je het volgende uit:
SELECT host,user from mysql.user;
SHOW DATABASES;


Dit zou de output moeten zijn:
mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |      |
+--------------------+
4 rows in set (0.00 sec)

mysql> SELECT host,user from mysql.user;
+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | xbmc             |
| 127.0.0.1 | root             |
| localhost | debian-sys-maint |
| localhost | root             |
| ubuntu    | root             |
+-----------+------------------+
5 rows in set (0.00 sec)


(Tegenwoordig hoeven we geen databases meer aan te maken voor XBMC. XBMC doet dat nu zelf).

Daarna sluit je de commandline af door:
mysql> \q


Restart daarna Mysql.
sh /ffp/start/mysqld.sh restart


7. OPBOUWEN DATABASE IN XBMC

Ik ben met een schone lei begonnen met het opbouwen van een database. Als je wilt weten hoe je een bestaande database wilt gebruiken en deze in mysql wilt pompen, dan zijn er genoeg sites te vinden die dat beschrijven.

Beginnen met een schone lei doe je zo. Start al je mediaplayers met XBMC. Log in via putty op je mediaplayers. Voer het volgende commando uit:

nano ~/.xbmc/userdata/advancedsettings.xml


kopieer deze regels onder de bestaande regels in de file:
<videodatabase>
        <type>mysql</type>
        <host>IPADRES NAS</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
 </videodatabase>

 <musicdatabase>
        <type>mysql</type>
        <host>IPADRES NAS</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
    </musicdatabase>
</advancedsettings>


Voer uiteraard het ipadres van de NAS in.
Doe dit ook bij je tweede en eventueel 2e en 3e mediaplayer. Sla de file op en zet vervolgens mediaplayer 2 en 3 etc. uit.

Restart mediaplayer 1 en laat hem een volledige scan doen van je video's en music. Dus als je van een schone lei begint, voeg je de directory's van je video's en music toe en laat deze dmv een scraper de benodigde info zoeken.

Als deze alles gevonden heeft start je je 2e en 3e mediaplayer op. Als het goed is maken zij al gebruik van de gedeelde database.

8. Wat de toen na een reboot van de NAS:

Als ik mijn NAS opnieuw opstart werkt mysql niet. Als ik na een reboot de volgende regels uitvoer loopt mysql weer als een zonnetje.

ln -snf /ffp/opt/srv /srv
/ffp/bin/mysql_install_db --basedir=/ffp
sh /ffp/start/mysqld.sh restart


Wellicht is hier een betere oplossing voor! Heb je ideeën / opmerkingen hierover dan hoor ik het graag zodat we deze tutorial wat extra kunnen finetunen!

Credits voor tweaker Mijzelf, en de jongens van NAS-TWEAKS.NET

Acties:
  • 0 Henk 'm!

Anoniem: 521295

Is het ook mogelijk om xbmc te draaien op mij nas zonder dat ik een mediaspeler heb die xbmc reeds bevat?
FFP 0.7 is geïnstalleerd maar vind daar alleen plex maar die is erg onstabiel (moet telkens opnieuw opgestart worden) en vindt xbmc mooier als online database.

Acties:
  • 0 Henk 'm!

  • theoneandonlytz
  • Registratie: Januari 2011
  • Laatst online: 05-12-2024
Anoniem: 521295 schreef op vrijdag 14 juni 2013 @ 13:15:
Is het ook mogelijk om xbmc te draaien op mij nas zonder dat ik een mediaspeler heb die xbmc reeds bevat?
FFP 0.7 is geïnstalleerd maar vind daar alleen plex maar die is erg onstabiel (moet telkens opnieuw opgestart worden) en vindt xbmc mooier als online database.
Nee dat is niet mogelijk.
XBMC is geen media server, maar een media player. En draait dus niet op een NAS.

Acties:
  • 0 Henk 'm!

  • vanThijs
  • Registratie: Juni 2003
  • Laatst online: 13-01 15:53
Bedankt voor deze geweldige guide!
Ik ben wel nog wat problemen tegengekomen:
- Voordat ik via FFP MySQL heb getest, heb ik de MySQL LifelineApp geprobeerd. Deze startte MySQL niet op. Toen ik daarna via FFP een MySQL 5.5(?) installeerde, bleef ik de "Can't connect to local MySQL server through socket" erros krijgen, wanneer ik de secure_installation wilde starten.
--> Gelukkig had ik nog geen data op de nas, en heb een factory reset gedaan. Hiermee was het os weer in helemaal proper. Vervolgens de stappen gevolgd, en alles liep vlot.

- Er is een database (MyVideos) corrupt geraakt tijdens het scrapen, de oorzaak hiervan heb ik (nog) niet kunnen achterhalen. Ik kon hierna echter de database niet meer droppen ("can't connect...").
--> Ik heb dan maar de data uit "innodblogdir,binlog,log,tmp,datadir" gewist en de guide terug gevolgd vanaf "/ffp/bin/mysql_install_db --basedir=/ffp" Voorlopig blijft gelukkig alles stabiel! :>

Acties:
  • 0 Henk 'm!

Anoniem: 461211

Topicstarter
Graag gedaan ;) . Als je de error Can't connect to local MySQL server through socket krijgt kun je ook het volgende doen. Ik doe dat meestal na een reboot van mijn NAS:

sh /ffp/start/mysqld.sh stop
cp /ffp/etc/examples/mysql/my.cnf /ffp/etc/
ln -snf /ffp/opt/srv /srv
mkdir -p /srv/mysql/{innodblogdir,binlog,log,tmp,datadir}
mkdir -p /srv/tmp
/ffp/bin/mysql_install_db --basedir=/ffp
sh /ffp/start/mysqld.sh start
/ffp/bin/mysql_secure_installation
vanThijs schreef op dinsdag 24 september 2013 @ 10:26:
Bedankt voor deze geweldige guide!
Ik ben wel nog wat problemen tegengekomen:
- Voordat ik via FFP MySQL heb getest, heb ik de MySQL LifelineApp geprobeerd. Deze startte MySQL niet op. Toen ik daarna via FFP een MySQL 5.5(?) installeerde, bleef ik de "Can't connect to local MySQL server through socket" erros krijgen, wanneer ik de secure_installation wilde starten.
--> Gelukkig had ik nog geen data op de nas, en heb een factory reset gedaan. Hiermee was het os weer in helemaal proper. Vervolgens de stappen gevolgd, en alles liep vlot.

- Er is een database (MyVideos) corrupt geraakt tijdens het scrapen, de oorzaak hiervan heb ik (nog) niet kunnen achterhalen. Ik kon hierna echter de database niet meer droppen ("can't connect...").
--> Ik heb dan maar de data uit "innodblogdir,binlog,log,tmp,datadir" gewist en de guide terug gevolgd vanaf "/ffp/bin/mysql_install_db --basedir=/ffp" Voorlopig blijft gelukkig alles stabiel! :>

Acties:
  • 0 Henk 'm!

Anoniem: 484622

Kan het zijn dat de Uli optie niet meer beschikbaar is?

Acties:
  • 0 Henk 'm!

Anoniem: 550184

Fantastische GUIDE, ik heb deze mooi gevolgd & alles werkte zoals het moest. Ik had echter een ander probleem met met iomega (kon tijdelijk geen films meer afspelen, heb dit nog al eens gehad), waardoor ik de reset butten heb moeten induwen. Nu heb ik met database corrupt gemaakt vrees ik (zie logs hieronder).

Ik heb geprobeerd de guide nog eens te volgen, maar de out-of-the-box repair functionaliteit doesn't do the trick. Ik vrees dat ik dus eerst een mooie opkuis moet doen alvorens opnieuw een MySQL te installeren, maar daar heb ik helaas geen kaas van gegeten (niet echt een linux expert...)

Kan iemand me hierbij helpen?

140421 21:34:14 mysqld_safe Starting mysqld daemon with databases from /srv/mysql/datadir
140421 21:34:14 InnoDB: The InnoDB memory heap is disabled
140421 21:34:14 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140421 21:34:14 InnoDB: Compressed tables use zlib 1.2.6
140421 21:34:14 InnoDB: Initializing buffer pool, size = 16.0M
140421 21:34:14 InnoDB: Completed initialization of buffer pool
140421 21:34:15 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
140421 21:34:15 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
140421 21:34:15 InnoDB: Error: page 7 log sequence number 2024264
InnoDB: is in the future! Current system log sequence number 1595916.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/...cing-innodb-recovery.html
InnoDB: for more information.
140421 21:34:15 InnoDB: Error: page 1 log sequence number 2024527
InnoDB: is in the future! Current system log sequence number 1595916.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/...cing-innodb-recovery.html
InnoDB: for more information.


......


End of logs:

140421 21:34:15 InnoDB: Error: space id and page n:o stored in the page
InnoDB: read in are 0:448, should be 0:417!
140421 21:34:15 InnoDB: Error: page 448 log sequence number 2148944
InnoDB: is in the future! Current system log sequence number 1595916.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/...cing-innodb-recovery.html
InnoDB: for more information.
140421 21:34:15 InnoDB: Error: page 194 log sequence number 1732345
InnoDB: is in the future! Current system log sequence number 1595916.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/...cing-innodb-recovery.html
InnoDB: for more information.
140421 21:34:15 InnoDB: Assertion failure in thread 1073778688 in file fut0lst.ic line 83
InnoDB: Failing assertion: addr.page == FIL_NULL || addr.boffset >= FIL_PAGE_DATA
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/...cing-innodb-recovery.html
InnoDB: about forcing recovery.
19:34:15 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=16384
read_buffer_size=262144
max_used_connections=0
max_threads=151
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 49437 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

140421 21:34:15 mysqld_safe mysqld from pid file /ffp/run/mysqld/mysqld.pid ended

[ Voor 34% gewijzigd door Anoniem: 550184 op 21-04-2014 23:33 ]


Acties:
  • 0 Henk 'm!

Anoniem: 550184

Mmm, ik heb te snel gepost... Ik heb hier & daar selectief wat files & folders verwijderd & nu lijkt alles toch terug te draaien zoals ik wil :)

Again, Great Post, thx A LOT !!! :)

Acties:
  • 0 Henk 'm!

Anoniem: 550184

Damnit, te vroeg victory geroepen... Gisteren werkte alles inderdaad mooi, vanmorgen ook nog & had heel de nacht door een deel van men database aangemaakt (met series). Gedurende de dag heb ik dan men movies nog in men database gestoken, maar toen ik thuiskwam was het ineens terug kapot...

Any clues wat dit kan veroorzaken?

InnoDB: Error: trying to access page number 4294965119 in space 0,
InnoDB: space name /srv/mysql/innodb/ibdata1,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
InnoDB: your my.cnf matches the ibdata files that you have in the
InnoDB: MySQL server.
140422 21:24:17 InnoDB: Assertion failure in thread 1073778688 in file fil0fil.c line 4436
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/...cing-innodb-recovery.html
InnoDB: about forcing recovery.
19:24:17 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

key_buffer_size=16384
read_buffer_size=262144
max_used_connections=0
max_threads=151
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 49437 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

140422 21:24:18 mysqld_safe mysqld from pid file /ffp/run/mysqld/mysqld.pid ended
Pagina: 1