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:
Check of deze onderstaande package in je rijtje heb staan:
Staat de pakkage er bij ga dan ga je naar stap 3.
Als de pakkage er niet bijstaat, voer dan het volgende uit:
In het menu kies je Uli en installeer je deze.
3. INSTALLEREN MYSQL
Voer het onderstaande uit
zoek uli:mysql-5.5.28-arm-2.txz en installeer deze.
Voer de volgende commando's uit:
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:
Voeg bij # The MySQL server onder het kopje [mysqld] en onder port de volgende regel toe:
Sla my.cnf op en Restart daarna Mysql met de volgende commando:
5. COMMUNICATIE
Check of mysql op je aangeven ipadres staat en naar de standaardpoort 3306 luistert:
Deze regel moet zichtbaar zijn:
KLOPT DIT GA DOOR NAAR STAP 6!
Staat deze regel er niet bij, doe dan het volgende:
Vervang de regel:
door
Sla de file op en restart Mysql:
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:
---------------------------------------------------------------------------------------------------------------------------------------------------------
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:
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:
daarna
Om je database te testen voer je het volgende uit:
Dit zou de output moeten zijn:
(Tegenwoordig hoeven we geen databases meer aan te maken voor XBMC. XBMC doet dat nu zelf).
Daarna sluit je de commandline af door:
Restart daarna Mysql.
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:
kopieer deze regels onder de bestaande regels in de file:
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.
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
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"
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