When you install MySQL 5.x you will also want to comment
out "log-bin" in your my.cnf
configuration file. This option will
quickly fill your "/var" disk partition with many gigabytes of data,
unless you are doing database replication and deleting these files regularly.
If this is the system maintaining the database, make sure that MySQL is running and started at boot. Click on Mandriva Control Center->System->Services, find MySQL and click the "On Boot" button and the "Start" button if the MySQL status shows that it isn't running yet.
$ su
# chkconfig --level 35 mysql on
# /etc/rc.d/init.d/mysql start
# exit
If this is the system maintaining the database, make sure that MySQL is running and started at boot. Click on Redhat menu>Server Settings>Services and enter the root password when asked. Check "mysqld" and then click Start. Click Save, then close the window.
This can be done from the command line by typing:
# /sbin/chkconfig mysqld on
# /sbin/service mysqld start
After installing MySQL you need to initialize the database by running mysql_install_db as root.
This step is only required on the system maintaining the database, which
may or may not be one of your MythTV boxes. If the database is on a
non-MythTV machine you'll need to copy the database/mc.sql
file to it.
To setup the initial MySQL databases:
$ cd database
$ mysql -u root < mc.sql
$ mysql < mc.sql
$ su
# mysql < /usr/share/mythtv/database/mc.sql
If you're going to have multiple systems accessing a master database,
you must grant access to the database from remote systems. By default, the
mc.sql
script is only granting access to the local host.
To allow other hosts access to your master database, you can either set it up for no security at all, or with more granularity. Note that the "%" is the wildcard character in MySQL.
This example has no security at all, and allows access from any host.
$ mysql -u root mythconverg
mysql> grant all on mythconverg.* to mythtv@"%" identified by "mythtv";
mysql> flush privileges;
For a more secure setup, you can restrict which machines or subnets have access. If you have a complete DNS system operational, you could do the following:
$ mysql -u root mythconverg
mysql> grant all on mythconverg.* to mythtv@"%.mydomain.com" identified by "mythtv";
mysql> flush privileges;
Finally, if you just want to restrict by IP subnet (in this example, the 192.168.1. network):
$ mysql -u root mythconverg
mysql> grant all on mythconverg.* to mythtv@"192.168.1.%" identified by "mythtv";
mysql> flush privileges;
You'll also need to check that the "networking" feature of MySQL is turned
on. Check that /etc/mysql/my.cnf
does not contain
skip-networking
. If it does, remove it. Also verify that
bind-address
is set to your IP address instead of
127.0.0.1
. If you change either of these items, restart
MySQL.
NOTE: Your distribution may have a customized MySQL configuration
file; in Mandriva, check /etc/sysconfig/mysqld
for additional
configuration.