mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-05 16:07:23 +08:00
c55e298422
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@1698 af4574ff-66df-0310-9fd7-8a98e5e911e0
167 lines
5.4 KiB
XML
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 &&
|
|
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>&1 >/dev/null &</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></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></prompt> <userinput><command>FLUSH PRIVILEGES;</command></userinput>
|
|
Query OK, 0 rows affected (0.00 sec)
|
|
|
|
<prompt>mysql></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 > /etc/rc.d/init.d/mysql << "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 >/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>&1 >/dev/null &
|
|
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 &&
|
|
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</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 >> /etc/ld.so.conf</command></userinput></screen>
|
|
|
|
</sect3>
|
|
|
|
</sect2>
|