source: server/databases/mysql.xml@ 9dfd852b

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 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 9dfd852b was 9dfd852b, checked in by Randy McMurchy <randy@…>, 18 years ago

Updated to MySQL-5.0.16

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

  • Property mode set to 100644
File size: 12.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY mysql-download-http "http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-&mysql-version;.tar.gz/from/http://mysql.mirrors.hoobly.com/">
8 <!ENTITY mysql-download-ftp "ftp://mirror.mcs.anl.gov/pub/mysql/Downloads/MySQL-5.0/mysql-&mysql-version;.tar.gz">
9 <!ENTITY mysql-md5sum "ecf2ae1d782a8d129af940c15a44f477">
10 <!ENTITY mysql-size "19.0 MB">
11 <!ENTITY mysql-buildsize "195 MB (additional 180 MB to run the test suite)">
12 <!ENTITY mysql-time "3.8 SBU (additional 14.1 SBU to run the test suite)">
13]>
14
15<sect1 id="mysql" xreflabel="MySQL-&mysql-version;">
16 <?dbhtml filename="mysql.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 <keywordset>
22 <keyword role="package">mysql-&mysql-version;.tar</keyword>
23 <keyword role="ftpdir">mysql</keyword>
24 </keywordset>
25 </sect1info>
26
27 <title>MySQL-&mysql-version;</title>
28
29 <indexterm zone="mysql">
30 <primary sortas="a-MySQL">MySQL</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to MySQL</title>
35
36 <para><application>MySQL</application> is a widely used and fast SQL
37 database server. It is a client/server implementation that consists of a
38 server daemon and many different client programs and libraries.</para>
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>Download (HTTP): <ulink url="&mysql-download-http;"/></para>
44 </listitem>
45 <listitem>
46 <para>Download (FTP): <ulink url="&mysql-download-ftp;"/></para>
47 </listitem>
48 <listitem>
49 <para>Download MD5 sum: &mysql-md5sum;</para>
50 </listitem>
51 <listitem>
52 <para>Download size: &mysql-size;</para>
53 </listitem>
54 <listitem>
55 <para>Estimated disk space required: &mysql-buildsize;</para>
56 </listitem>
57 <listitem>
58 <para>Estimated build time: &mysql-time;</para>
59 </listitem>
60 </itemizedlist>
61
62 <bridgehead renderas="sect3">MySQL Dependencies</bridgehead>
63
64 <bridgehead renderas="sect4">Optional</bridgehead>
65 <para role="optional"><xref linkend="openssl"/>,
66 <xref linkend="tcpwrappers"/> and
67 <ulink url="http://sourceforge.net/projects/libedit/">libedit</ulink>
68 (as an alternative to readline)</para>
69
70 <!-- These appear to be obsolete now that the docs have been pulled
71 out of the main tarball. Configure still checks for them, but
72 best I can tell, they are not used, nor can be used even if found
73
74 <xref linkend="doxygen"/> and
75 <xref linkend="tex"/></para>
76 -->
77
78 </sect2>
79
80 <sect2 role="installation">
81 <title>Installation of MySQL</title>
82
83 <para>For security reasons, running the server as an unprivileged user
84 and group is strongly encouraged:</para>
85
86<screen role="root"><userinput>groupadd -g 40 mysql &amp;&amp;
87useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false \
88 -u 40 mysql</userinput></screen>
89
90 <para>Build and install <application>MySQL</application> by
91 running the following commands:</para>
92
93 <!-- Removing the CPPFLAGS="-D_GNU_SOURCE" and
94 -with-named-thread-libs=-lpthread as they don't appear to be
95 required any longer
96 -->
97
98<screen><userinput>./configure --prefix=/usr \
99 --sysconfdir=/etc \
100 --libexecdir=/usr/sbin \
101 --localstatedir=/srv/mysql \
102 --enable-thread-safe-client \
103 --enable-assembler \
104 --enable-local-infile \
105 --with-unix-socket-path=/var/run/mysql/mysql.sock \
106 --without-debug \
107 --without-bench \
108 --without-readline &amp;&amp;
109make testdir=/tmp/mysql</userinput></screen>
110
111 <para>Some of the tests in the test suite are known to fail and this will
112 cause the test suite to abort at that point. Issue the following command
113 to disable the tests known to fail:</para>
114
115<screen><userinput>for TESTFILE in information_schema innodb join mysql_client_test \
116 ps_2myisam ps_3innodb ps_4heap ps_5merge \
117 sp-error strict type_float type_ranges
118do
119 mv mysql-test/t/$TESTFILE.test mysql-test/t/$TESTFILE.test.disabled
120done
121unset TESTFILE</userinput></screen>
122
123 <para>To test the results, issue: <command>make test</command>.</para>
124
125 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
126
127<screen role="root"><userinput>make testdir=/tmp/mysql install &amp;&amp;
128rm -rf /tmp/mysql &amp;&amp;
129cd /usr/lib &amp;&amp;
130ln -v -sf mysql/libmysqlclient{,_r}.so* .</userinput></screen>
131
132<!-- Insert this back into the 'root' installation section if
133 there are ever docs to install again
134
135install -v -d -m755 /usr/share/mysql/Docs/Images &amp;&amp;
136install -v -m644 Docs/manual{,_toc}.html \
137 Docs/manual.txt /usr/share/mysql/Docs &amp;&amp;
138install -v -m644 Docs/Images/*.{jpg,gif} /usr/share/mysql/Docs/Images &amp;&amp;
139
140-->
141
142 </sect2>
143
144 <sect2 role="commands">
145 <title>Command Explanations</title>
146
147 <para><parameter>--libexecdir=/usr/sbin</parameter>: This switch installs
148 the <command>mysqld</command> daemon and the
149 <command>mysqlmanager</command> program in an appropriate location.</para>
150
151 <para><parameter>--localstatedir=/srv/mysql</parameter>: This switch
152 forces <application>MySQL</application> to use
153 <filename class='directory'>/srv/mysql</filename> for database files and
154 other variable data.</para>
155
156 <para><parameter>--enable-thread-safe-client</parameter>: This
157 switch compiles a thread-safe <application>MySQL</application> client
158 library.</para>
159
160 <para><parameter>--enable-assembler</parameter>: This switch allows using
161 assembler versions of some string functions.</para>
162
163 <para><parameter>--enable-local-infile</parameter>: This switch enables
164 the <quote>LOAD DATA INFILE</quote> SQL statement.</para>
165
166 <!-- Removing for now. See explanation above
167 <para><parameter>CPPFLAGS="-D_GNU_SOURCE"</parameter> and
168 <parameter>-with-named-thread-libs=-lpthread</parameter>: This environment
169 variable and <command>configure</command> switch enables building the
170 package on NPTL systems.</para>
171 -->
172
173 <para><parameter>--with-unix-socket-path=/var/run/mysql</parameter>:
174 This switch puts the unix-domain socket into the
175 <filename class="directory">/var/run/mysql</filename> directory instead of
176 the default <filename class="directory">/tmp</filename>.</para>
177
178 <para><parameter>--without-bench</parameter>: This switch skips building
179 the benchmark suite.</para>
180
181 <para><parameter>--without-readline</parameter>: This switch forces the
182 build to use the system copy of <application>readline</application> instead
183 of the bundled copy.</para>
184
185 <para><command>make testdir=...</command>: This installs the test suite in
186 <filename class='directory'>/tmp/mysql</filename>. The test suite is not
187 required, nor does it function properly on an installed version of
188 <application>MySQL</application>, so it is removed in the next step.</para>
189
190 <para><command>ln -v -sf mysql/libmysqlclient{,_r}.so* .</command>: This
191 command makes the <application>MySQL</application> shared libraries
192 available to other packages at run-time.</para>
193
194 <para><option>--with-openssl</option>: This switch adds OpenSSL support
195 to <application>MySQL</application>.</para>
196
197 <para><option>--with-libwrap</option>: This switch adds tcpwrappers
198 support to <application>MySQL</application>. As of MySQL-&mysql-version;,
199 this option is known to break the build.</para>
200
201 </sect2>
202
203 <sect2 role="configuration">
204 <title>Configuring MySQL</title>
205
206 <sect3 id="mysql-config">
207 <title>Config Files</title>
208
209 <para><filename>/etc/my.cnf</filename> and
210 <filename>~/.my.cnf</filename></para>
211
212 <indexterm zone="mysql mysql-config">
213 <primary sortas="e-AA.my.cnf">~/.my.cnf</primary>
214 </indexterm>
215
216 <indexterm zone="mysql mysql-config">
217 <primary sortas="e-etc-my.cnf">/etc/my.cnf</primary>
218 </indexterm>
219
220 </sect3>
221
222 <sect3>
223 <title>Configuration Information</title>
224
225 <para>There are several default configuration files available in
226 <filename class="directory">/usr/share/mysql</filename> which you can
227 use. Create <filename>/etc/my.cnf</filename> using the following command
228 as the <systemitem class="username">root</systemitem> user:</para>
229
230<screen role="root"><userinput>install -v -m644 /usr/share/mysql/my-medium.cnf /etc/my.cnf</userinput></screen>
231
232 <para>You can now install a database and change the ownership to the
233 unprivileged user and group (perform as the <systemitem
234 class="username">root</systemitem> user):</para>
235
236<screen role="root"><userinput>mysql_install_db --user=mysql &amp;&amp;
237chgrp -v mysql /srv/mysql{,/test,/mysql}</userinput></screen>
238
239 <para>Further configuration requires that the
240 <application>MySQL</application> server is running. Start
241 the server using the following commands as the <systemitem
242 class="username">root</systemitem> user:</para>
243
244<screen role="root"><userinput>install -v -m755 -o mysql -g mysql -d /var/run/mysql &amp;&amp;
245mysqld_safe --user=mysql 2&gt;&amp;1 &gt;/dev/null &amp;</userinput></screen>
246
247 <para>A default installation does not set up a password for the
248 administrator, so use the following command as the <systemitem
249 class="username">root</systemitem> user to set one. Replace
250 <replaceable>[new-password]</replaceable> with your own.</para>
251
252<screen role="root"><userinput>mysqladmin -u root password <replaceable>[new-password]</replaceable></userinput></screen>
253
254 <para>Configuration of the server is now finished. Shut the server
255 down using the following command as the <systemitem
256 class="username">root</systemitem> user:</para>
257
258<screen role="root"><userinput>mysqladmin -p shutdown</userinput></screen>
259
260 </sect3>
261
262 <sect3 id="mysql-init">
263 <title>Boot Script</title>
264
265 <para>Install the <filename>/etc/rc.d/init.d/mysql</filename> init script
266 included in the <xref linkend="intro-important-bootscripts"/> package as
267 the <systemitem class="username">root</systemitem> user to start the
268 <application>MySQL</application> server during system boot-up.</para>
269
270 <indexterm zone="mysql mysql-init">
271 <primary sortas="f-mysql">mysql</primary>
272 </indexterm>
273
274<screen role="root"><userinput>make install-mysql</userinput></screen>
275
276 </sect3>
277
278 </sect2>
279
280 <sect2 role="content">
281 <title>Contents</title>
282
283 <segmentedlist>
284 <segtitle>Installed Programs</segtitle>
285 <segtitle>Installed Libraries</segtitle>
286 <segtitle>Installed Directories</segtitle>
287
288 <seglistitem>
289 <seg>comp_err, innochecksum, msql2mysql, my_print_defaults,
290 myisam_ftdump, myisamchk, myisamlog, myisampack, mysql,
291 mysql_client_test, mysql_config, mysql_convert_table_format,
292 mysql_create_system_tables, mysql_explain_log, mysql_find_rows,
293 mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install_db,
294 mysql_secure_installation, mysql_setpermission, mysql_tableinfo,
295 mysql_tzinfo_to_sql, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin,
296 mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe,
297 mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager,
298 mysqlshow, mysqltest, mysqltestmanager, mysqltestmanager-pwgen,
299 mysqltestmanagerc, perror, replace, resolve_stack_dump, and
300 resolveip</seg>
301 <seg>libdbug.a, libheap.a, libmyisam.a, libmyisammrg.a,
302 libmysqlclient.[so,a], libmysqlclient_r.[so,a], libmystrings.a,
303 libmysys.a, and libvio.a</seg>
304 <seg>/srv/mysql, /usr/include/mysql, /usr/lib/mysql, /usr/share/mysql, and
305 /var/run/mysql</seg>
306 </seglistitem>
307 </segmentedlist>
308
309 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
310
311 <para>Descriptions of all the programs and libraries would be several
312 pages long. Instead, consult the <filename>mysql.info</filename>
313 documentation or the on-line reference manual at <ulink
314 url="http://dev.mysql.com/doc/refman/5.0/en/index.html"/>.</para>
315
316 <para>The <application>Perl</application> DBI modules must be installed
317 for some of the <application>MySQL</application> support programs to
318 function properly.</para>
319
320 </sect2>
321
322</sect1>
Note: See TracBrowser for help on using the repository browser.