Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Comprehensive n00bs Guide on Installing MySQL (and unMENU) to an unRAID Server

Featured Replies

Understandable. That seems excessive to me as well. You could try a reinstall but it does make me wonder if something else is going on. Did you use the most recent version of the plugin? I believe that uses a slightly newer build of MySQL than I am running. That could potentially make a difference. I assume you are on a gigabit network as well? I am also running an ssd now so I don't know if that is also affecting the time difference.

 

Depending on the modifications that you have made, do you mind sending me your plg for me to try with that?

 

If not, I'll try with another version of sql and report back. Yup I'm running gigabit wired. If that doesn't work I guess the next step would be an SSD drive though I feel it's a waste as I would only use it for the xbmc DB.

 

Again thanks for all of your help thus far.

  • Replies 80
  • Views 38.8k
  • Created
  • Last Reply
  • Author

Here's a question.

 

Anytime I power down the server, after I power it back on and bring the array online, when I open an instance of XBMC it no longer is connecting to the database.  The tables still exist on mysql when searching through windows explorer, but when I access the db through HeidiSQL I no longer see the created video and music tables.  I also can't see the created user xbmc.  The same happens if I search directly through a telnet session.  No xbmc user and no xbmc created tables......but once again, these folders such as MyMusic32 and MyVIdeos75 do exist when viewed through Network>tower>disk1>mysql.

 

I'm able to delete everything and start from scratch, but obviously that's not the optimal solution.

 

Any idea why after a reboot XBMC is no longer attaching to the created db?

 

Edit: I powered down from unMENU user scripts, power down option.

Here's a question.

 

Anytime I power down the server, after I power it back on and bring the array online, when I open an instance of XBMC it no longer is connecting to the database.  The tables still exist on mysql when searching through windows explorer, but when I access the db through HeidiSQL I no longer see the created video and music tables.  I also can't see the created user xbmc.  The same happens if I search directly through a telnet session.  No xbmc user and no xbmc created tables......but once again, these folders such as MyMusic32 and MyVIdeos75 do exist when viewed through Network>tower>disk1>mysql.

 

I'm able to delete everything and start from scratch, but obviously that's not the optimal solution.

 

Any idea why after a reboot XBMC is no longer attaching to the created db?

 

Edit: I powered down from unMENU user scripts, power down option.

 

I saw the same issue using HeidiSQL. I re-created the user using the SQL command line and it didn't happen again.

  • Author

I saw the same issue using HeidiSQL. I re-created the user using the SQL command line and it didn't happen again.

 

Yeah, I did that and the HeidiSQL was able to see XBMC as an anywhere user, but the tables are still not visible.  The folders do exist, but the databases aren't visible.

 

The only tables are:

| information_schema |

| Tower              |

| mysql    |

 

There are no My_Music32 or My_Video75 under database.  I can view those folders existing on disk 1, but the databases don't exist.

  • Author

And I can delete the tables off the disk but it still doesn't repopulate when I reopen XBMC.

 

Last time I had to completely unintstall MySQL and load from scratch.

 

I just got my SSD in though so I'm going to have to do so anyway.  I just wanted to see what it is that I need to do to prevent this from happening in the future in the event of a power down.

The database should not be removing anything after you powerdown. My database is always up and running even after reboot. What user are you using to login from HeidiSQL? It sounds like either when you are logging in you are using a user without permissions to see the databases or the databases are not being loaded correctly when the plugin is loaded. Maybe check the config file and see if you are pointing at the wrong file location? I would be happy to post up my plg and package, but as I did not create them I don't want to take credit for another persons work. I also don't want to see a bunch of different plg's running around that all should be doing the same thing. It makes things much too confusing.

  • Author

The database should not be removing anything after you powerdown. My database is always up and running even after reboot. What user are you using to login from HeidiSQL? It sounds like either when you are logging in you are using a user without permissions to see the databases or the databases are not being loaded correctly when the plugin is loaded. Maybe check the config file and see if you are pointing at the wrong file location? I would be happy to post up my plg and package, but as I did not create them I don't want to take credit for another persons work. I also don't want to see a bunch of different plg's running around that all should be doing the same thing. It makes things much too confusing.

 

I use root to log into Heidi.  There's got to be something wrong with the loading of the database after it powers down and back up.  I will take a look at the config file.

 

Make sure the data directory is listed correctly in the config file and that the service is enabled.

  • Author

Hmm, where is the config file located?

 

/boot/config/plugins/mysql

  • Author

Hmm, it's not located there for me:

 

6xMHnfc.png

 

How would I find it on Windows Explorer?  I'm assuming this should be on my cache drive under mysql?

The config file is installed on the flash drive.

  • Author

There are lots of config files.  Which one is it?  network.cfg?  share.cfg? syslinux.cfg?

/boot/config/plugins/mysql/mysql.cfg

  • Author

/boot/config/plugins/mysql/mysql.cfg

 

Inside my flash drive I have a config folder, but no plugins folder within that.  There is only a shares subfolder. 

 

Any idea what's wrong?

 

You may want to search for the mysql.cfg file on your flash drive and your cache drive. Possibly UnMenu is installing this plugin differently. Otherwise it sounds like you may need to manually create this file and give that a try. Most likely when the plugin is being loaded it has no idea where your databases are stored so it doesn't load them. At least that is my guess.

  • Author

The only file I have that's relatively close to that is located on the flash drive in a folder called packages.

 

IT is called

 

mysql-unmenu-pacakage

 

#UNMENU_RELEASE $Revision: 7 $ $Date: 2010-03-29 23:12:23 -0400 (Mon, 29 Mar 2010) $

PACKAGE_NAME mysql (SQL-based relational database server)

PACKAGE_DESCR MySQL is a fast, multi-threaded, multi-user, and robust SQL

PACKAGE_DESCR (Structured Query Language) database server.  It comes with a nice API

PACKAGE_DESCR which makes it easy to integrate into other applications.

PACKAGE_DESCR The home page for MySQL is http://www.mysql.com/

PACKAGE_URL http://slackware.cs.utah.edu/pub/slackware/slackware-12.2/slackware/ap/mysql-5.0.67-i486-1.tgz

PACKAGE_FILE mysql-5.0.67-i486-1.tgz

PACKAGE_MD5 2152772395c13f5af16874760105a33d

PACKAGE_INSTALLED /usr/bin/mysql

PACKAGE_DEPENDENCIES none

PACKAGE_VARIABLE Hostname||vHOSTNAME=media||Hostname of unRAID server

PACKAGE_VARIABLE Disk Label||vDISKLABEL=cache||Disk for installation and databases, e.g. disk1, disk2, etc

PACKAGE_VARIABLE MySQL root Password||vROOTPWD=root||Password for user 'root'

PACKAGE_VARIABLE First Database||vDATABASE=Tower||First Database to create

PACKAGE_VARIABLE Database User||vDBUSER=root||User for First Database (GRANT ALL PRIVILEGES)

PACKAGE_VARIABLE Database User Password||vDBUSERPWD=root||Password for Database User

PACKAGE_VARIABLE Custom parameters||vDBCUSTOM=||Custom options parsed to MySQL. See more info <a href="http://dev.mysql.com/doc/refman/5.0/en/mysqld-safe.html">here</a>.

PACKAGE_INSTALLATION killall mysqld

PACKAGE_INSTALLATION installpkg mysql-5.0.67-i486-1.tgz

PACKAGE_INSTALLATION mkdir -p /var/run/mysql

PACKAGE_INSTALLATION [ ! -d /mnt/${vDISKLABEL-disk1}/mysql ] && mkdir /mnt/${vDISKLABEL-disk1}/mysql

PACKAGE_INSTALLATION cp /etc/my-medium.cnf /etc/my.cnf

PACKAGE_INSTALLATION sed -i -e "s/#innodb_data_home_dir = \/var\/lib\/mysql\//innodb_data_home_dir = \/mnt\/${vDISKLABEL-disk1}\/mysql\//" /etc/my.cnf

PACKAGE_INSTALLATION sed -i -e "s/#innodb_log_group_home_dir = \/var\/lib\/mysql\//innodb_log_group_home_dir = \/mnt\/${vDISKLABEL-disk1}\/mysql\//" /etc/my.cnf

PACKAGE_INSTALLATION sed -i -e "s/#innodb_log_arch_dir = \/var\/lib\/mysql\//innodb_log_arch_dir = \/mnt\/${vDISKLABEL-disk1}\/mysql\//" /etc/my.cnf

PACKAGE_INSTALLATION [ ! -d /mnt/${vDISKLABEL-disk1}/mysql/mysql ] && /usr/bin/mysql_install_db --datadir=/mnt/${vDISKLABEL-disk1}/mysql/ --user=root

PACKAGE_INSTALLATION cd /usr ; /usr/bin/mysqld_safe --datadir=/mnt/${vDISKLABEL-disk1}/mysql/ --user=root --pid-file=/var/run/mysql/mysql.pid &

PACKAGE_INSTALLATION sleep 10

PACKAGE_INSTALLATION [ ! -e /mnt/${vDISKLABEL-disk1}/mysql/.unmenu ] && /usr/bin/mysqladmin -u root password ${vROOTPWD-your_password}

PACKAGE_INSTALLATION [ ! -e /mnt/${vDISKLABEL-disk1}/mysql/.unmenu ] && /usr/bin/mysqladmin -u root -h ${vHOSTNAME-Tower} --password=${vROOTPWD-your_password} password ${vROOTPWD-your_password}

PACKAGE_INSTALLATION mysql -u root --password=${vROOTPWD-your_password} -e "GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '${vROOTPWD-your_password}' WITH GRANT OPTION;"

PACKAGE_INSTALLATION [ ! -d /mnt/${vDISKLABEL-disk1}/mysql/${vDATABASE-Tower} ] && /usr/bin/mysqladmin -u root -h ${vHOSTNAME-Tower} --password=${vROOTPWD-your_password} create ${vDATABASE-Tower}

PACKAGE_INSTALLATION [ -d /mnt/${vDISKLABEL-disk1}/mysql/${vDATABASE-Tower} ] && mysql -u root -h ${vHOSTNAME-Tower} --password=${vROOTPWD-your_password} --database=${vDATABASE-Tower} -e "GRANT ALL PRIVILEGES ON ${vDATABASE-Tower}.* TO ${vDBUSER-root}@'%' IDENTIFIED BY '${vDBUSERPWD-your_password}';"

PACKAGE_INSTALLATION [ -d /mnt/${vDISKLABEL-disk1}/mysql/test ] && /usr/bin/mysqladmin -u root -h ${vHOSTNAME-Tower} -f --password=${vROOTPWD-your_password} drop test

PACKAGE_INSTALLATION touch /mnt/${vDISKLABEL-disk1}/mysql/.unmenu

PACKAGE_INSTALLATION [ ! -d /etc/rc.d/unraid.d ] && mkdir /etc/rc.d/unraid.d

PACKAGE_INSTALLATION echo 'case $1 in' >/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "start)" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "cd /usr" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "/usr/bin/mysqld_safe --datadir=/mnt/${vDISKLABEL-disk1}/mysql/ --user=root --pid-file=/var/run/mysql/mysql.pid ${vDBCUSTOM} &" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo ";;" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "stop)" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "  killall mysqld " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "  # Wait for up to one minute for it to exit, as we don't know how big the DB is...  " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "  for second in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 \\" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 60 ; do " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "    if [ ! -r /var/run/mysql/mysql.pid ]; then " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "      break; " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "    fi " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "    sleep 1 " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "  done " >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo ";;" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION echo "esac" >>/etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_INSTALLATION chmod +x /etc/rc.d/unraid.d/rc.unraid_mysqld

PACKAGE_VERSION_TEST mysql --version 2>&1 | grep Distrib | awk '{print $5}'

PACKAGE_VERSION_STRING 5.0.67,

PACKAGE_MEMORY_USAGE May be huge

 

That is the package file for installing mysql. So from what you posted I am seeing no reference to the mysql.cfg file. However I am not entirely certain that it will even look for the mysql.cfg in the standard location. You could attempt to create the folder structure and the mysql.cfg file however and see if it works.

 

Create a new file called mysql.cfg containing these lines. Substitute the folder names where necessary.

#mysql configuration
SERVICE="enable"
DATADIR="/mnt/user/mysql"

 

Copy the file to your flash drive and store it under /boot/config/plugins/mysql

 

Now reboot and see if it works. If it does not you may ned to get information from someone familiar with the UnMenu MySQL package and ask them some questions or you can install using the other MySQL PLG and start fresh. Personally that would be the way I would go. It is very easy to do.

  • Author

Unfortunately under the flash drive there is no boot folder.  There is a config folder on the root of the flash drive, but within config folder there is no plugins folder.  So I could create the file but I'd have no idea where to put it.

 

Where is the other mysql plugin?

Boot is used when opening from command line. If you are using Windows Explorer then boot is actually just the flash drive itself. It is not actually a folder.

  • Author

I hear ya, but there is still no plugins folder under config.  The only folder under config is shares.

 

How do I get the other plugin for MySQL to test that out?

Right you need to create that folder yourself if it does not exist. The plugin is available from another thread on MySQL 5.5 found under the User Customizations section. Crashnburn posted a link to it in this thread.

I hear ya, but there is still no plugins folder under config.  The only folder under config is shares.

 

How do I get the other plugin for MySQL to test that out?

 

I had to manually create the folder. Did you install the new menu GUI from limetech? Or are you still on the default 5.0 one? I think that might be what creates the plugin folder.

I am still running Simple Features. The plugins I use come with it so I kept it. However I manually created the plugins folder because that is where some of my plugins load from.

  • Author

So I've created the folder "mysql" on the drive "cache".

 

I added the plugin into the folder "mysql".  I then installed the plugin using the command

 

installplg mysql5_.....

 

It does its install process and I get these messages:

 

installing plugin: mysql5_20130227

file /boot/packages/mysql-5.5.30-i486-1gds.txz: downloading from ftp://sotirov-                bg.net/pub/contrib/slackware/packages/slackware-13.37/mysql-5.5.30-i486-1gds.txz                ... 2013-09-06 00:54:37 URL: ftp://sotirov-bg.net/pub/contrib/slackware/packages/slackware-13.3

success

  upgradepkg --install-new /boot/packages/mysql-5.5.30-i486-1gds.txz ...

+==============================================================================

| Installing new package /boot/packages/mysql-5.5.30-i486-1gds.txz

+==============================================================================

 

Verifying package mysql-5.5.30-i486-1gds.txz.

Installing package mysql-5.5.30-i486-1gds.txz:

PACKAGE DESCRIPTION:

# MySQL (SQL-based relational database server)

#

# MySQL is a fast, multi-threaded, multi-user, and robust SQL

# (Structured Query Language) database server.  It comes with a nice API

# which makes it easy to integrate into other applications.

#

# The home page for MySQL is http://www.mysql.com/

#

# Packaged by Georgi D. Sotirov <[email protected]

Executing install script for mysql-5.5.30-i486-1gds.txz.

Package mysql-5.5.30-i486-1gds.txz installed.

 

 

success

file /boot/packages/libaio-0.3.109-i486-1.txz: already exists

  upgradepkg --install-new /boot/packages/libaio-0.3.109-i486-1.txz ...

+==============================================================================

| Installing new package /boot/packages/libaio-0.3.109-i486-1.txz

+==============================================================================

 

Verifying package libaio-0.3.109-i486-1.txz.

Installing package libaio-0.3.109-i486-1.txz:

PACKAGE DESCRIPTION:

# libaio (asynchronous I/O library)

#

# The Linux-native asynchronous I/O facility ("async I/O", or "aio")

# has a richer API and capability set than the simple POSIX async I/O

# facility.  This library provides the Linux-native API for async I/O.

# The POSIX async I/O facility requires this library in order to

# provide kernel-accelerated async I/O capabilities, as do applications

# which require the Linux-native async I/O API.

#

Executing install script for libaio-0.3.109-i486-1.txz.

Package libaio-0.3.109-i486-1.txz installed.

 

 

success

file /boot/config/plugins/mysql/mysql.png: downloading from http://lime-technol                ql/mysql.png" [1]

success

file /boot/config/plugins/mysql/mysql.cfg: successfully wrote INLINE file conte

file /tmp/mysql-upgrade: successfully wrote INLINE file contents

  /bin/bash /tmp/mysql-upgrade ... success

file /usr/local/emhttp/plugins/mysql/mysql.png: successfully copied LOCAL file

file /usr/local/emhttp/plugins/mysql/mysql.page: successfully wrote INLINE file

file /usr/local/emhttp/plugins/mysql/mysql.php: successfully wrote INLINE file

file /usr/local/emhttp/plugins/mysql/mysqlctl.php: successfully wrote INLINE fi

file /usr/local/emhttp/plugins/mysql/event/disks_mounted: successfully wrote IN

  successfully changed file mode

file /usr/local/emhttp/plugins/mysql/event/unmounting_disks: successfully wrote

  successfully changed file mode

plugin successfully installed

 

However, when I type "mysql" I get the message:

 

root@media:/mnt/cache/mysql# mysql

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mys

 

Can't connect with Heidi either.  Any idea what the issue may be?

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.