mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-23 22:42:14 +08:00
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:
parent
72245066a0
commit
16e74d38bb
@ -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">
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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 &&
|
||||
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 &&
|
||||
<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 &&
|
||||
make</userinput></screen>
|
||||
|
||||
<para>To test the results, issue: <command>make test-force 2>&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 &&
|
||||
rm -rf /tmp/mysql-test /tmp/sql-bench &&
|
||||
pushd /usr/lib &&
|
||||
ln -v -sf mysql/libmysqlclient{,_r}.so* . &&
|
||||
popd &&
|
||||
<screen role="root"><userinput>SEGMENTS="Client Server IniFiles ManPages"
|
||||
SEGMENTS="$SEGMENTS Development Documentation Info Readme"
|
||||
|
||||
pushd /usr/share/info &&
|
||||
rm -v dir &&
|
||||
for FILENAME in *; do
|
||||
install-info $FILENAME dir 2>/dev/null
|
||||
done &&
|
||||
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 . &&
|
||||
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 &&
|
||||
<screen role="root"><userinput>mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &&
|
||||
chgrp -v mysql /srv/mysql{,/test,/mysql}</userinput></screen>
|
||||
|
||||
<para>Further configuration requires that the
|
||||
|
Loading…
Reference in New Issue
Block a user