glfs/content/databases/mysql/mysql-config.xml
Igor Živković c55e298422 fixed some formatting issues and added missing ampersands to mysql page
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@1698 af4574ff-66df-0310-9fd7-8a98e5e911e0
2004-01-12 17:55:49 +00:00

167 lines
5.4 KiB
XML

<sect2>
<title>Configuring <application>My<acronym>SQL</acronym></application></title>
<sect3>
<title>Config files</title>
<para><filename>/etc/my.cnf</filename>, <filename>~/.my.cnf</filename></para>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>There are several default configurations file available in
<filename class="directory">/usr/share/mysql</filename> which you can use.</para>
<screen><userinput><command>cp /usr/share/mysql/my-medium.cnf /etc/my.cnf</command></userinput></screen>
<para>We can now install a database and change the ownership to the
unprivileged user and group.</para>
<screen><userinput><command>mysql_install_db &amp;&amp;
chown -R mysql:mysql /var/lib/mysql</command></userinput></screen>
<para>Further configuration requires that the mysql server be running:</para>
<screen><userinput><command>mysqld_safe --user=mysql 2&gt;&amp;1 &gt;/dev/null &amp;</command></userinput></screen>
<para>A default installation does not setup a password for the administrator
so here we will set one. Replace <replaceable>[new-password]</replaceable>
with your own.</para>
<!--
<screen><userinput><command>mysql -uroot mysql</command></userinput>
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.
<prompt>mysql&gt;</prompt> <userinput><command>UPDATE user SET password=password('<replaceable>new-password</replaceable>') WHERE user='root';</command></userinput>
Query OK, 2 rows affected (0.00 sec)
Rows matched: 2 Changed: 2 Warnings: 0
<prompt>mysql&gt;</prompt> <userinput><command>FLUSH PRIVILEGES;</command></userinput>
Query OK, 0 rows affected (0.00 sec)
<prompt>mysql&gt;</prompt> <userinput><command>EXIT;</command></userinput>
bye
</screen>
-->
<screen><userinput><command>mysqladmin -u root password <replaceable>[new-password]</replaceable></command></userinput></screen>
<para>Now that we are done with the configuration of the server, we can
shut it down.</para>
<screen><userinput><command>mysqladmin -p shutdown</command></userinput></screen>
<para>To automate the running of <application>My<acronym>SQL</acronym></application>, use the following command to create
the init.d script:</para>
<screen><userinput><command>cat &gt; /etc/rc.d/init.d/mysql &lt;&lt; "EOF"</command>
#!/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
pid_file=/var/lib/mysql/`/bin/hostname`.pid
case "$1" in
start)
echo "Starting MySQL daemon..."
failure=0
if test -f "$pid_file"
then
if /bin/ps p `cat $pid_file` | grep mysqld &gt;/dev/null
then
print_status warning running
exit 0
else
rm -f $pid_file
if test -f $pid_file
then
failure=1
fi
fi
fi
if [ $failure = 1 ]
then
print_status failure
else
/usr/bin/mysqld_safe --user=mysql 2&gt;&amp;1 &gt;/dev/null &amp;
evaluate_retval
fi
;;
stop)
echo "Stopping MySQL daemon..."
if test -s "$pid_file"
then
kill `cat $pid_file`
sleep 1
failure=0
while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
do
[ -z "$flags" ]
flags=a$flags
sleep 1
done
if [ -s $pid_file ]
then failure=1
fi
(exit $failure)
evaluate_retval
else
print_status warning not_running
fi
;;
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/
<command>EOF
chmod 755 /etc/rc.d/init.d/mysql</command></userinput></screen>
<para>Create the symbolic links to this file in the relevant
<filename class="directory">rc.d</filename> directory
with the following commands:</para>
<screen><userinput><command>cd /etc/rc.d/init.d &amp;&amp;
ln -sf ../init.d/mysql ../rc0.d/K26mysql &amp;&amp;
ln -sf ../init.d/mysql ../rc1.d/K26mysql &amp;&amp;
ln -sf ../init.d/mysql ../rc2.d/K26mysql &amp;&amp;
ln -sf ../init.d/mysql ../rc3.d/S34mysql &amp;&amp;
ln -sf ../init.d/mysql ../rc4.d/S34mysql &amp;&amp;
ln -sf ../init.d/mysql ../rc5.d/S34mysql &amp;&amp;
ln -sf ../init.d/mysql ../rc6.d/K26mysql</command></userinput></screen>
<para>Finally, add this entry to your <filename>ld.so.conf</filename>
file so that programs which utilize
<application>My<acronym>SQL</acronym></application> can find its
libraries:</para>
<screen><userinput><command>echo /usr/lib/mysql &gt;&gt; /etc/ld.so.conf</command></userinput></screen>
</sect3>
</sect2>