MySQL/Setting up Kodi: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
(No difference)

Revision as of 20:36, 27 April 2013

Emblem-important-yellow.png NOTICE:
Since it seems that using "single file" export/import might be having issues with the image URLs for thumbnails in XBMC v12, this page of the MySQL guide has been recently simplified to say just use multiple file export as a safe method to both update the library to use network paths and to import the library for MySQL.

HOW-TO:Sync multiple libraries/Contents

Each device that will be sharing a library will need an advancedsetting.xml file.


Make files accessible over the network

If you haven't already done so, you will need to make your media files accessible to all your XBMC devices by sharing them on the network through file sharing. XBMC itself or the MySQL server will not share the actual files for this set up. Most operating systems have built-in methods for sharing files, or a NAS device can be used.


Most of XBMC's file sharing protocols will work except for UPnP, which does not work with the Library feature.


See Category:File Sharing for some of the file sharing methods that work with XBMC.


Note: If you use passwords on your network shares then you will need to copy (or sync) your passwords.xml file from the userdata folder to each XBMC device.

MySQL advancedsettings

advancedsettings.xml:
<advancedsettings>
    <videodatabase>
        <type>mysql</type>
        <host>***.***.***.***</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
    </videodatabase> 

    <musicdatabase>
        <type>mysql</type>
        <host>***.***.***.***</host>
        <port>3306</port>
        <user>xbmc</user>
        <pass>xbmc</pass>
    </musicdatabase>

     <videolibrary>
          <importwatchedstate>true</importwatchedstate>
     </videolibrary>
</advancedsettings>

See also this note about using the <name> tag: #Name tag
<importwatchedstate> is only needed when you're importing a previous library from exported files.

  1. Open XBMC on the computer that has the library you want to share (If you have not created a library yet you can skip this step)
    1. Export the Video Library by doing the following:
      1. Go to System/Settings -> Video -> Library and select Export library
      2. Select Multiple files
    2. Export the Music Library by doing the following:
      1. Go to System/Settings -> Music -> Library and select Export library
      2. Select Multiple files
  2. Create (or add to, if you already have one) an advancedsettings.xml file:
    1. Open up a plain text editor
    2. Copy and paste the text from the right-hand box into a new text document
    3. Replace the two instances of ***.***.***.*** with local network IP address of your MySQL server
    4. Save the file as advancedsettings.xml
  3. Copy this advancedsettings.xml file you just created to the userdata folder of every XBMC install you want to sync with:
    • Windows XP: Documents and Settings\<your_user_name>\Application Data\XBMC\userdata\advancedsettings.xml
    • Vista/Windows 7: Users\<your_user_name>\AppData\Roaming\XBMC\userdata\advancedsettings.xml
    • Mac OS X: /Users/<your_user_name>/Library/Application Support/XBMC/userdata/advancedsettings.xml
    • iOS: /private/var/mobile/Library/Preferences/XBMC/userdata/advancedsettings.xml
    • Linux: $HOME/.xbmc/userdata/advancedsettings.xml
  4. Open any of your XBMC installs and re-import your library data (If you have not created a library yet you can skip this step)
    1. Import the Video Library by doing the following: Add the networked video source to XBMC and scan it in as if you were setting up your library for the first time (see adding videos to the library). However, XBMC will read the exported nfo files and images and use those instead of rebuilding the library from scratch. The end result will be an identical library, and your watched status for videos will be preserved.
    2. Import the Music Library by doing the following: Same idea as videos, but using the steps for adding music to the library. You'll end up with an identical library.
  5. You can now add files and update the library from any of your XBMC devices and the library for all of them will stay in sync.


Note: If you want to update the library from any of the XBMC devices then they must all have the same sources set. See the Sources section of Part 6 for one method of keeping them in sync.
Note: If you encounter error 1062, then you'll need to change your paths from "\\" to "//" as MySQL has trouble understanding "\\"
Note: If you are using Eden, the video MySQL database will have 60 appended to the name (ex. video_database60). The music MySQL database will have 18 appended to the name (ex. music_database18).

Name tag

An additional <name> tag can be used for both the video and music entries in advancedsettings.xml if you want to change the name of the database.

The name tag is not required (XBMC will use a default "MyVideos" and "MyMusic" DB name) and it is recommended to not include it if you only need one library, as some users have reported problems/bugs when it was included.

The tag is only needed if you want to have separate databases on the same MySQL server, like for more than one shared library. For example, if you want to create multiple profiles, each with their own shared library, so that each XBMC device can "log-into" that library.

Editor note: eventually we'll have a better section for explaining the <name> tag. Until then, check out the alternative MySQL guide from howtogeek.com, which does dive into using the <name> tag for multiple databases and even profiles: How to Sync Your Media Across Your Entire House with XBMC.