Since my first post on this new website, I tried to migrate the MySQL database from my old Drupal 6.x website. It was a mixed experience that taught me many things…

Regarding databases I learnt, that SQLite fits me just perfectly. It's very lightweight on the resources and needs no daemon, which makes it ideal for such a small low power ARM as my server 1. Since SQLite stores databases as files, backing it up means just copying the .db file, so writing a backup system in FCron should be easy peasy. It also impressed me how nimble and powerful it is for such a small thing!

As for the migration itself I found a Drupal import plug-in for Habari. After fidling with it for some time and lots of help from kind people on Kiberpipa and Habari IRC channels, I managed to connect to my database and import most of it. Surprisingly that 3 year old code worked just fine, but doesn't fit my usecase. Namely you can only import one entry type and one taxonomy list at a time, which resulted in lots of missing comments and tags. I hope I'll manage with my superior lack of coding skill, which I compensate with my boyish charms social engineering skills to hack the importer to my liking – to import it all in one go. Also, probably checkboxes instead of pull-down menues would be better choice in the UI.

In case you were (un)lucky enough to see all the 3/4-migrated stuff here a few days ago, I hope this explains it. I restored from a backup today and hope to get it right soon. I'm optimistic :]

Some small observations I made during this experiment:

  • SSH tunnelling is very useful – e.g. if your provider only allows local access to your database and you have ssh access, you can access the database remotely via an ssh tunnel;
  • creating SSH tunnels is dead easy once someone explains it to you: e.g.

    1. log into the box you want to use the tunnelled service (e.g. MySQL) from;
    2. ssh to the remote server with 2:

      ssh -L 3007:localhost:3306 user@example.com
      
    3. now if you connect to port 3307 on your localhost (the box in step 1.) you will be accessing port 3306 on example.org and this inside a secure and encrypted connection.

  • Distcc as a client is very easy to set up, amazing when it works, but counterproductive when the nodes are not accessible, as it takes a even longer and under a bigger load 3. So I guess distcc is great as long as you have stable nodes to count on.

  • Sqliteman is a very intuitive tool to edit SQLite databases.

I really love Habari's admin UI! I know that as with any software there will be days when I'll just want to strangle it, but right now, I adore it :3 Oh, did I mention how awesome it is to be able to navigate the menu with keyboard? Everything is just 1 or 2 keypresses away! Brilliant!

In conclusion: I’m not rueing the day I got my PlugComputer – I learned that just by using a bit more streamlined and lightweight code, you can squeeze a hell lot out of a small ARM.

hook out → right, back to my books


  1. I have a small DreamPlug plug computer. I wrote an FAQ about it, if you’re interested in the details. 

  2. Of course, change the user, example.com and ports accordingly. 

  3. As an example, emerging PHP on this box with -j1 takes 1h30', with a working distcc node in Amazon EC2 and -j8 it takes 40', but if that one’s down it takes 2h. 

Share on: TwitterFacebookEmail


Related Posts