Configuring mysql
Config files
/etc/my.cnf, ~/.my.cnf
Configuration Information
There are several default configurations file available in
/usr/share/mysql which you can use.
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
We can now install a database and change the ownership to the
unpriviledged user and group.
mysql_install_db
chown -R mysql:mysql /var/lib/mysql
Further configuration requires that the mysql server be running:
safe_mysqld 2>&1 >/dev/null &
A default installation, does not setup a password for the administrator.
So here we will login and set one. We strongly suggest changing
'new-password' to your own.
mysql -uroot mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 3.23.51-log
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> UPDATE user SET password=password('new-password') WHERE user='root';
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> EXIT;
bye
Now that we are done with the configuration of the server, we can
shut it down.
kill `pidof -x safe_mysqld mysqld`
mysql init.d script
To automate the running of mysql, use the following command to create
the init.d script:
cat > /etc/rc.d/init.d/mysql << "EOF"
#!/bin/bash
# Begin $rc_base/init.d/
# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org
source /etc/sysconfig/rc
source $rc_functions
case "$1" in
start)
echo "Starting MySQL daemon..."
/usr/bin/safe_mysqld 2>&1 >/dev/null &
evaluate_retval
;;
stop)
echo "Stopping MySQL daemon..."
killproc mysqld
;;
restart)
$0 stop
sleep 1
$0 start
;;
status)
statusproc /usr/sbin/mysqld
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
# End $rc_base/init.d/
EOF
chmod 755 /etc/rc.d/init.d/mysql
Create the symbolic links to this file in the relevant rc.d directory
with the following commands:
cd /etc/rc.d/init.d &&
ln -sf ../init.d/mysql ../rc0.d/K26mysql &&
ln -sf ../init.d/mysql ../rc1.d/K26mysql &&
ln -sf ../init.d/mysql ../rc2.d/K26mysql &&
ln -sf ../init.d/mysql ../rc3.d/S34mysql &&
ln -sf ../init.d/mysql ../rc4.d/S34mysql &&
ln -sf ../init.d/mysql ../rc5.d/S34mysql &&
ln -sf ../init.d/mysql ../rc6.d/K26mysql