Update to mysql-5.5.17.

Update vsftpd boot script.


git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8931 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Bruce Dubbs 2011-11-02 05:08:32 +00:00
parent 72245066a0
commit 16e74d38bb
3 changed files with 75 additions and 108 deletions

View File

@ -56,7 +56,7 @@ $Date$
<!ENTITY lfs-vim-version "7.3">
<!-- End LFS versions -->
<!ENTITY blfs-bootscripts-version "20111028">
<!ENTITY blfs-bootscripts-version "20111101">
<!ENTITY blfs-bootscripts-download "&downloads-root;/blfs-bootscripts-&blfs-bootscripts-version;.tar.bz2">
<!ENTITY blfs-wiki "http://wiki.&lfs-domainname;/blfs/wiki">
@ -500,7 +500,7 @@ $Date$
<!-- Chapter 23 -->
<!ENTITY db-version "5.2.36">
<!ENTITY mysql-version "5.1.52">
<!ENTITY mysql-version "5.5.17">
<!ENTITY postgresql-version "9.0.1">
<!ENTITY sqlite-version "3.7.8">

View File

@ -44,6 +44,9 @@
<listitem>
<para>November 1st, 2011</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to mysql-5.5.17.</para>
</listitem>
<listitem>
<para>[bdubbs] - Minor changes to Python sections.</para>
</listitem>

View File

@ -4,14 +4,12 @@
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!-- <!ENTITY mysql-download-http "http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.0/mysql-&mysql-version;.tar.gz">
<!ENTITY mysql-download-ftp "ftp://ftp.fu-berlin.de/unix/databases/mysql/Downloads/MySQL-5.0/mysql-&mysql-version;.tar.gz"> -->
<!ENTITY mysql-download-http "&sources-anduin-http;/m/mysql-&mysql-version;.tar.gz">
<!ENTITY mysql-download-ftp "&sources-anduin-ftp;/m/mysql-&mysql-version;.tar.gz">
<!ENTITY mysql-md5sum "43c11ad3dded693393c4815d24e2b0a5">
<!ENTITY mysql-size "23.8 MB">
<!ENTITY mysql-buildsize "500 MB (additional 200 MB to run the test suite)">
<!ENTITY mysql-time "5.3 SBU (Test suite is an additional 55 minutes, only partially CPU dependent)">
<!ENTITY mysql-md5sum "dcb6a06e68c5e8f30f57b15300730c9c">
<!ENTITY mysql-size "23 MB">
<!ENTITY mysql-buildsize "883 MB (additional 170 MB to run the test suite)">
<!ENTITY mysql-time "3.9 SBU (Test suite is an additional 45 minutes, only partially CPU dependent)">
]>
<sect1 id="mysql" xreflabel="MySQL-&mysql-version;">
@ -67,11 +65,6 @@
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Required Patch:
<ulink url="&patch-root;/mysql-&mysql-version;-makefile-1.patch"/>
</para>
</listitem>
<listitem>
<para>Optional Documentation (see tip below):
<ulink url="http://dev.mysql.com/doc/"/>
@ -81,16 +74,15 @@
<bridgehead renderas="sect3">MySQL Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="optional"><xref linkend="cmake"/></para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="optional"><xref linkend="openssl"/></para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="tcpwrappers"/></para>
<!-- Removing libedit because it causes more problems than it solves.
<ulink url="http://sourceforge.net/projects/libedit/">libedit</ulink>
(as an alternative to readline)-->
<para role="optional"><xref linkend="tcpwrappers"/>,
<ulink url="http://packages.debian.org/squeeze/libaio-dev">libaio</ulink></para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/mysql"/></para>
@ -107,30 +99,43 @@
useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false -u 40 mysql</userinput></screen>
<note><para>There are a great many options available to
<userinput>./configure</userinput>. Check the output of the
<option>--help</option> option for additional customization
options.</para></note>
<userinput>cmake</userinput>. Check the output of the `<userinput>cmake .
-LH</userinput>` for additional customization options. See ithe <ulink
url="http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html">MySQL
Documentation</ulink> for a full listing of all options.</para></note>
<para>Build and install <application>MySQL</application> by
running the following commands:</para>
<screen><userinput>patch -Np1 -i ../mysql-&mysql-version;-makefile-1.patch &amp;&amp;
CFLAGS="-O3" \
CXX=gcc \
CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/sbin \
--localstatedir=/srv/mysql \
--enable-thread-safe-client \
--enable-assembler \
--enable-local-infile \
--with-unix-socket-path=/var/run/mysql/mysql.sock \
--without-debug \
--without-readline \
--with-plugins=innobase,myisam \
--with-extra-charsets=all \
--with-ssl=/usr &amp;&amp;
<screen><userinput>cmake . \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/srv/mysql \
-DINSTALL_MYSQLDATADIR=/srv/mysql \
-DCMAKE_INSTALL_PREFIX=/usr \
-DINSTALL_BINDIR=bin \
-DINSTALL_SBINDIR=sbin \
-DINSTALL_DOCDIR=share/doc/mysql \
-DINSTALL_DOCREADMEDIR=share/doc/mysql \
-DINSTALL_INCLUDEDIR=include/mysql \
-DINSTALL_INFODIR=share/info \
-DINSTALL_LIBDIR=lib \
-DINSTALL_MANDIR=share/man \
-DINSTALL_MYSQLSHAREDIR=share/mysql \
-DINSTALL_MYSQLTESTDIR=share/mysql-test \
-DINSTALL_PLUGINDIR=lib/plugin \
-DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SHAREDIR=share/mysql \
-DINSTALL_SQLBENCHDIR=share/mysql-bench \
-DINSTALL_SUPPORTFILESDIR=share/mysql/support-files \
-DWITH_ZLIB=system \
-DWITH_SSL=system \
-DWITH_READLINE=system \
-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DMYSQL_MAINTAINER_MODE=OFF \
-DWITH_DEBUG=OFF &amp;&amp;
make</userinput></screen>
<para>To test the results, issue: <command>make test-force 2>&amp;1 | tee
@ -143,21 +148,18 @@ make</userinput></screen>
<command>mysqld</command> daemon. Otherwise many of the tests will
fail.</para>
<note><para>The ssl tests may fail due to expired certifictes.</para></note>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make benchdir_root=/tmp \
testroot=/tmp install &amp;&amp;
rm -rf /tmp/mysql-test /tmp/sql-bench &amp;&amp;
pushd /usr/lib &amp;&amp;
ln -v -sf mysql/libmysqlclient{,_r}.so* . &amp;&amp;
popd &amp;&amp;
<screen role="root"><userinput>SEGMENTS="Client Server IniFiles ManPages"
SEGMENTS="$SEGMENTS Development Documentation Info Readme"
pushd /usr/share/info &amp;&amp;
rm -v dir &amp;&amp;
for FILENAME in *; do
install-info $FILENAME dir 2>/dev/null
done &amp;&amp;
popd</userinput></screen>
for segment in $SEGMENTS; do
cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake
done
unset SEGMENTS</userinput></screen>
<tip>
<para>The only documentation shipped in the source tarball are
@ -166,66 +168,28 @@ popd</userinput></screen>
from <ulink url="http://dev.mysql.com/doc/"/>.</para>
</tip>
<note><para>If you only want to build and install the
<command>mysql</command> client, use:</para>
<screen><userinput>cmake . &amp;&amp;
make mysqlclient libmysql</userinput></screen>
<para>Continue as root:</para>
<screen role="root"><userinput>make install</userinput></screen>
</note>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><parameter>CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors
-fno-exceptions -fno-rtti"</parameter>: These optimizations are recommended
by the developers.</para>
<para><parameter>--libexecdir=/usr/sbin</parameter>: This switch installs
the <command>mysqld</command> daemon and the
<command>mysqlmanager</command> program in an appropriate location.</para>
<para><parameter>--localstatedir=/srv/mysql</parameter>: This switch
forces <application>MySQL</application> to use
<filename class='directory'>/srv/mysql</filename> for database files and
other variable data.</para>
<para><parameter>--enable-thread-safe-client</parameter>: This
switch compiles a thread-safe <application>MySQL</application> client
library.</para>
<para><parameter>--enable-assembler</parameter>: This switch allows using
assembler versions of some string functions.</para>
<para><parameter>--enable-local-infile</parameter>: This switch enables
the <quote>LOAD DATA INFILE</quote> SQL statement.</para>
<para><parameter>--with-unix-socket-path=/var/run/mysql</parameter>:
This switch puts the unix-domain socket into the
<filename class="directory">/var/run/mysql</filename> directory instead of
the default <filename class="directory">/tmp</filename>.</para>
<para><parameter>--without-readline</parameter>: This switch forces the
build to use the system copy of <application>readline</application> instead
of the bundled copy.</para>
<para><parameter>--with-extra-charsets=all</parameter>: This switch enables
international character sets within the suite.</para>
<para><parameter>--with-plugins=innobase,myisam</parameter>: This switch enables
two useful table types. Check <command>./configure --help</command> for
other table types.</para>
<para><parameter>--with-ssl=/usr</parameter>: This switch enables encrypted
communication between client and server using OpenSSL.</para>
<para><command>make benchdir_root=... install</command>: This installs the
benchmark and test suites in a non-system location.</para>
<para><command>ln -v -sf mysql/libmysqlclient{,_r}.so* .</command>: This
command makes the <application>MySQL</application> shared libraries
available to other packages at run-time.</para>
<para><option>--with-libwrap</option>: This switch adds tcpwrappers
support to <application>MySQL</application>.</para>
<para><command>pushd ... popd</command>: This set of commands rebuilds the
<filename>/usr/share/info/dir</filename> file as the installation failed
to do so.</para>
<para><command>cmake -DCMAKE_INSTALL_COMPONENT=$segment ...</command>: This
command installs the appropriate portion of the package. Different
segemnts may be added or deleted as desired. Valid segments are listed
with `<command>make list_install_components</command>`. Note that the
'DataFiles' install segment does not honor the -DMYSQL_DATADIR or
-DINSTALL_MYSQLDATADIR statements.</para>
</sect2>
@ -256,13 +220,13 @@ popd</userinput></screen>
use. Create <filename>/etc/my.cnf</filename> using the following command
as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>install -v -m644 /usr/share/mysql/my-medium.cnf /etc/my.cnf</userinput></screen>
<screen role="root"><userinput>install -v -m644 /usr/share/mysql/support-files/my-medium.cnf /etc/my.cnf</userinput></screen>
<para>You can now install a database and change the ownership to the
unprivileged user and group (perform as the <systemitem
class="username">root</systemitem> user):</para>
<screen role="root"><userinput>mysql_install_db --user=mysql &amp;&amp;
<screen role="root"><userinput>mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &amp;&amp;
chgrp -v mysql /srv/mysql{,/test,/mysql}</userinput></screen>
<para>Further configuration requires that the