welcome: please sign in

Revision 7 as of 2007-01-30 00:31:16

Clear message
Edit

DaemonAdmin / MySQL

1. DaemonAdmin/MySQL

Because we wanted to have version 5 of MySQL running on our stable server, we used the [http://dotdeb.org] package. For this reason there should be mirrors from dotdeb.org listed in the file /etc/apt/sources.list on deleuze.

1.1. Configuration details

my.cnf file modified to leave a port open over the network, default is local pipe only.

1.2. Progress

As of Sat Jan 6 12:29:23 EST 2007, the MySQL 5.0 daemon and client libraries have been installed on deleuze. I also installed the mysql-common and mysql-client 5.0 packages on mire which should will allow for users to connect back to the main DB server.

1.3. To Do

dbtool will need to be programmed to store data files in user home directories. It will also need to set up the appropriate GRANT permission on creation of each database to allow a connection from mire or other front-end servers by default.

1.4. Steps to perform

Ok, logically, the steps are:

  1. Create user's database volume in AFS, if one isn't there already
  2. Create directory structure with proper permission within the AFS volume
  3. Create a symbolic link in /var/lib/mysql/ that points to the database
  4. Grant the user rights on the new DB

And, in terms of command line, the steps are:

(This is needed only once, for first mysql DB):

  1. vos create -server afs -partition a -name db.USERNAME -maxquota 5242880
  2. fs mkmount -dir /afs/.hcoop.net/common/mysql/USERNAME -vol db.USERNAME -rw
  3. vos release root.cell
  4. chown mysql.mysql /afs/hcoop.net/common/mysql/USERNAME

(And this for every mysql DB):

  1. $dir = /afs/hcoop.net/common/mysql/USERNAME/DBNAME
  2. mkdir $dir || exit # (Must not exist)

  3. chown mysql:mysql $dir
  4. chmod 770 $dir # (Just for visual impression)
  5. ln -sf $dir /var/lib/mysql/DBNAME
  6. mysql -e 'create database DBNAME'

(TODO: create user, grant permissions). One thing to add is the ability for the same user to have multiple users accessing the DB, so that the security is not compromised. Like, USERNAME_cgi could be account with read-only access to the DBs.