source: server/databases/mysql.xml@ f267149

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since f267149 was f267149, checked in by Bruce Dubbs <bdubbs@…>, 14 years ago

Update to mysql 5.1.49

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8452 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 13.9 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!-- <!ENTITY mysql-download-http "http://mysql.mirrors.hoobly.com/Downloads/MySQL-5.0/mysql-&mysql-version;.tar.gz">
8 <!ENTITY mysql-download-ftp "ftp://ftp.fu-berlin.de/unix/databases/mysql/Downloads/MySQL-5.0/mysql-&mysql-version;.tar.gz"> -->
9 <!ENTITY mysql-download-http "&sources-anduin-http;/m/mysql-&mysql-version;.tar.gz">
10 <!ENTITY mysql-download-ftp "&sources-anduin-ftp;/m/mysql-&mysql-version;.tar.gz">
11 <!ENTITY mysql-md5sum "a90d87a71fa3c23dff6d78afc8e3184c">
12 <!ENTITY mysql-size "23 MB">
13 <!ENTITY mysql-buildsize "492 MB (additional 250 MB to run the test suite)">
14 <!ENTITY mysql-time "4.7 SBU (Test suite is an additional 61 minutes, only partially CPU dependent)">
15]>
16
17<sect1 id="mysql" xreflabel="MySQL-&mysql-version;">
18 <?dbhtml filename="mysql.html"?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>MySQL-&mysql-version;</title>
26
27 <indexterm zone="mysql">
28 <primary sortas="a-MySQL">MySQL</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to MySQL</title>
33
34 <para><application>MySQL</application> is a widely used and fast SQL
35 database server. It is a client/server implementation that consists of a
36 server daemon and many different client programs and libraries.</para>
37
38 <para>There may be a more recent release available from the
39 <application>MySQL</application> home page. You can check
40 <ulink url="http://dev.mysql.com/"/> and probably use the
41 existing BLFS instructions. Note that versions other than the one shown
42 in the download URLs have not been tested in a BLFS environment.</para>
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>Download (HTTP): <ulink url="&mysql-download-http;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download (FTP): <ulink url="&mysql-download-ftp;"/></para>
51 </listitem>
52 <listitem>
53 <para>Download MD5 sum: &mysql-md5sum;</para>
54 </listitem>
55 <listitem>
56 <para>Download size: &mysql-size;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated disk space required: &mysql-buildsize;</para>
60 </listitem>
61 <listitem>
62 <para>Estimated build time: &mysql-time;</para>
63 </listitem>
64 </itemizedlist>
65
66 <bridgehead renderas="sect3">Additional Download</bridgehead>
67 <itemizedlist spacing="compact">
68 <listitem>
69 <para>Required Patch:
70 <ulink url="&patch-root;/mysql-&mysql-version;-makefile-1.patch"/>
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">MySQL Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="optional"><xref linkend="openssl"/></para>
79
80 <bridgehead renderas="sect4">Optional</bridgehead>
81 <para role="optional"><xref linkend="tcpwrappers"/></para>
82
83 <!-- Removing libedit because it causes more problems than it solves.
84
85 <ulink url="http://sourceforge.net/projects/libedit/">libedit</ulink>
86 (as an alternative to readline)-->
87
88 <para condition="html" role="usernotes">User Notes:
89 <ulink url="&blfs-wiki;/mysql"/></para>
90
91 </sect2>
92
93 <sect2 role="installation">
94 <title>Installation of MySQL</title>
95
96 <para>For security reasons, running the server as an unprivileged user
97 and group is strongly encouraged:</para>
98
99<screen role="root"><userinput>groupadd -g 40 mysql &amp;&amp;
100useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false \
101 -u 40 mysql</userinput></screen>
102
103 <note><para>There are a great many options available to
104 <userinput>./configure</userinput>. Check the output of the
105 <option>--help</option> option for additional customization
106 options.</para></note>
107
108 <para>Build and install <application>MySQL</application> by
109 running the following commands:</para>
110
111<screen><userinput>patch -Np1 -i ../mysql-&mysql-version;-makefile-1.patch &amp;&amp;
112CFLAGS="-O3" \
113CXX=gcc \
114CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" \
115./configure --prefix=/usr \
116 --sysconfdir=/etc \
117 --libexecdir=/usr/sbin \
118 --localstatedir=/srv/mysql \
119 --enable-thread-safe-client \
120 --enable-assembler \
121 --enable-local-infile \
122 --with-unix-socket-path=/var/run/mysql/mysql.sock \
123 --without-debug \
124 --without-readline \
125 --with-plugins=innobase,myisam \
126 --with-extra-charsets=all \
127 --with-ssl &amp;&amp;
128make</userinput></screen>
129
130 <para>To test the results, issue: <command>make test-force 2>&amp;1 | tee
131 test.log</command>. This forces the test to run to completion and logs all
132 the test output. There will be many tests that are not run due to
133 configuration options and developer considerations. Note that if you use
134 TCP Wrappers and have a restrictive <filename>/etc/hosts.deny</filename>
135 file, you will need to add an appropriate entry to the
136 <filename>/etc/hosts.allow</filename> file for the
137 <command>mysqld</command> daemon. Otherwise many of the tests will
138 fail.</para>
139
140 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
141
142<screen role="root"><userinput>make benchdir_root=/tmp/mysql-bench install &amp;&amp;
143rm -rf /tmp/mysql &amp;&amp;
144pushd /usr/lib &amp;&amp;
145ln -v -sf mysql/libmysqlclient{,_r}.so* . &amp;&amp;
146popd &amp;&amp;
147
148pushd /usr/share/info &amp;&amp;
149rm -v dir &amp;&amp;
150for FILENAME in *; do
151 install-info $FILENAME dir 2>/dev/null
152done &amp;&amp;
153popd</userinput></screen>
154
155 <tip>
156 <para>The only documentation shipped in the source tarball are
157 <filename>mysql.info</filename> and man pages. You can download various
158 formats of the <application>MySQL</application> Reference Manual
159 from <ulink url="http://dev.mysql.com/doc/"/>.</para>
160 </tip>
161
162 </sect2>
163
164 <sect2 role="commands">
165 <title>Command Explanations</title>
166
167 <para><parameter>CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors
168 -fno-exceptions -fno-rtti"</parameter>: These optimizations are recommended
169 by th edevelopers.</para>
170
171 <para><parameter>--libexecdir=/usr/sbin</parameter>: This switch installs
172 the <command>mysqld</command> daemon and the
173 <command>mysqlmanager</command> program in an appropriate location.</para>
174
175 <para><parameter>--localstatedir=/srv/mysql</parameter>: This switch
176 forces <application>MySQL</application> to use
177 <filename class='directory'>/srv/mysql</filename> for database files and
178 other variable data.</para>
179
180 <para><parameter>--enable-thread-safe-client</parameter>: This
181 switch compiles a thread-safe <application>MySQL</application> client
182 library.</para>
183
184 <para><parameter>--enable-assembler</parameter>: This switch allows using
185 assembler versions of some string functions.</para>
186
187 <para><parameter>--enable-local-infile</parameter>: This switch enables
188 the <quote>LOAD DATA INFILE</quote> SQL statement.</para>
189
190 <para><parameter>--with-unix-socket-path=/var/run/mysql</parameter>:
191 This switch puts the unix-domain socket into the
192 <filename class="directory">/var/run/mysql</filename> directory instead of
193 the default <filename class="directory">/tmp</filename>.</para>
194
195 <para><parameter>--without-readline</parameter>: This switch forces the
196 build to use the system copy of <application>readline</application> instead
197 of the bundled copy.</para>
198
199 <para><parameter>--with-extra-charsets=all</parameter>: This switch enables
200 international character sets within the suite.</para>
201
202 <para><parameter>--with-plugins=innobase,myisam</parameter>: This switch enables
203 two useful table types. Check <command>./configure --help</command> for
204 other table types.</para>
205
206 <para><parameter>--with-ssl</parameter>: This switch enables encrypted
207 communication between client and server.</para>
208
209 <para><command>make benchdir_root=...</command>: This installs the benchmark
210 and test suites in a non-system location.</para>
211
212 <para><command>ln -v -sf mysql/libmysqlclient{,_r}.so* .</command>: This
213 command makes the <application>MySQL</application> shared libraries
214 available to other packages at run-time.</para>
215
216 <para><option>--with-openssl</option>: This switch adds OpenSSL support
217 to <application>MySQL</application>.</para>
218
219 <para><option>--with-libwrap</option>: This switch adds tcpwrappers
220 support to <application>MySQL</application>.</para>
221
222 <para><command>pushd ... popd</command>: This set of commands rebuilds the
223 <filename>/usr/share/info/dir</filename> file as the installation failed
224 to do so.</para>
225
226 </sect2>
227
228 <sect2 role="configuration">
229 <title>Configuring MySQL</title>
230
231 <sect3 id="mysql-config">
232 <title>Config Files</title>
233
234 <para><filename>/etc/my.cnf</filename> and
235 <filename>~/.my.cnf</filename></para>
236
237 <indexterm zone="mysql mysql-config">
238 <primary sortas="e-AA.my.cnf">~/.my.cnf</primary>
239 </indexterm>
240
241 <indexterm zone="mysql mysql-config">
242 <primary sortas="e-etc-my.cnf">/etc/my.cnf</primary>
243 </indexterm>
244
245 </sect3>
246
247 <sect3>
248 <title>Configuration Information</title>
249
250 <para>There are several default configuration files available in
251 <filename class="directory">/usr/share/mysql</filename> which you can
252 use. Create <filename>/etc/my.cnf</filename> using the following command
253 as the <systemitem class="username">root</systemitem> user:</para>
254
255<screen role="root"><userinput>install -v -m644 /usr/share/mysql/my-medium.cnf /etc/my.cnf
256sed -i -e s/^skip-federated/#skip-federated/ /etc/my.cnf</userinput></screen>
257
258 <para>The change to <filename>/etc/my.cnf</filename> can be omitted if the
259 option <option>--with-plugins=federated</option> is used.</para>
260
261 <para>You can now install a database and change the ownership to the
262 unprivileged user and group (perform as the <systemitem
263 class="username">root</systemitem> user):</para>
264
265<screen role="root"><userinput>mysql_install_db --user=mysql &amp;&amp;
266chgrp -v mysql /srv/mysql{,/test,/mysql}</userinput></screen>
267
268 <para>Further configuration requires that the
269 <application>MySQL</application> server is running. Start
270 the server using the following commands as the <systemitem
271 class="username">root</systemitem> user:</para>
272
273<screen role="root"><userinput>install -v -m755 -o mysql -g mysql -d /var/run/mysql &amp;&amp;
274mysqld_safe --user=mysql 2&gt;&amp;1 &gt;/dev/null &amp;</userinput></screen>
275
276 <para>A default installation does not set up a password for the
277 administrator, so use the following command as the <systemitem
278 class="username">root</systemitem> user to set one. Replace
279 <replaceable>&lt;new-password&gt;</replaceable> with your own.</para>
280
281<screen role="root"><userinput>mysqladmin -u root password <replaceable>&lt;new-password&gt;</replaceable></userinput></screen>
282
283 <para>Configuration of the server is now finished. Shut the server
284 down using the following command as the <systemitem
285 class="username">root</systemitem> user:</para>
286
287<screen role="root"><userinput>mysqladmin -p shutdown</userinput></screen>
288
289 </sect3>
290
291 <sect3 id="mysql-init">
292 <title>Boot Script</title>
293
294 <para>Install the <filename>/etc/rc.d/init.d/mysql</filename> init script
295 included in the <xref linkend="bootscripts"/> package as
296 the <systemitem class="username">root</systemitem> user to start the
297 <application>MySQL</application> server during system boot-up.</para>
298
299 <indexterm zone="mysql mysql-init">
300 <primary sortas="f-mysql">mysql</primary>
301 </indexterm>
302
303<screen role="root"><userinput>make install-mysql</userinput></screen>
304
305 </sect3>
306
307 </sect2>
308
309 <sect2 role="content">
310 <title>Contents</title>
311
312 <segmentedlist>
313 <segtitle>Installed Programs</segtitle>
314 <segtitle>Installed Libraries</segtitle>
315 <segtitle>Installed Directories</segtitle>
316
317 <seglistitem>
318 <seg>comp_err, innochecksum, msql2mysql, my_print_defaults,
319 myisam_ftdump, myisamchk, myisamlog, myisampack, mysql,
320 mysql_client_test, mysql_config, mysql_convert_table_format,
321 mysql_create_system_tables, mysql_explain_log, mysql_find_rows,
322 mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install_db,
323 mysql_secure_installation, mysql_setpermission, mysql_tableinfo,
324 mysql_tzinfo_to_sql, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin,
325 mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe,
326 mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager,
327 mysqlshow, mysqltest, mysqltestmanager, mysqltestmanager-pwgen,
328 mysqltestmanagerc, perror, replace, resolve_stack_dump, and
329 resolveip</seg>
330 <seg>libdbug.a, libheap.a, libmyisam.a, libmyisammrg.a,
331 libmysqlclient.{so,a}, libmysqlclient_r.{so,a}, libmystrings.a,
332 libmysys.a, and libvio.a</seg>
333 <seg>/srv/mysql, /usr/include/mysql, /usr/lib/mysql, /usr/share/mysql, and
334 /var/run/mysql</seg>
335 </seglistitem>
336 </segmentedlist>
337
338 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
339
340 <para>Descriptions of all the programs and libraries would be several
341 pages long. Instead, consult the <filename>mysql.info</filename>
342 documentation or the on-line reference manual at <ulink
343 url="http://dev.mysql.com/doc/refman/5.0/en/index.html"/>.</para>
344
345 <para>The <application>Perl</application> DBI modules must be installed
346 for some of the <application>MySQL</application> support programs to
347 function properly.</para>
348
349 </sect2>
350
351</sect1>
Note: See TracBrowser for help on using the repository browser.