source: server/databases/mysql.xml@ 6732c094

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 6732c094 was 6732c094, checked in by Randy McMurchy <randy@…>, 17 years ago

Updated all the XML files (and the one stylesheet) to use the 4.5 version of DocBook XML DTD

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

  • Property mode set to 100644
File size: 12.6 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-md5sum "26ed76facb58bdeae40c8310e337dde2">
10 <!ENTITY mysql-size "23.2 MB">
11 <!ENTITY mysql-buildsize "336 MB (additional 47 MB to run the test suite)">
12 <!ENTITY mysql-time "6.4 SBU (Test suite is an additional 52 minutes, only partially CPU dependent)">
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 </sect1info>
22
23 <title>MySQL-&mysql-version;</title>
24
25 <indexterm zone="mysql">
26 <primary sortas="a-MySQL">MySQL</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to MySQL</title>
31
32 <para><application>MySQL</application> is a widely used and fast SQL
33 database server. It is a client/server implementation that consists of a
34 server daemon and many different client programs and libraries.</para>
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>Download (HTTP): <ulink url="&mysql-download-http;"/></para>
40 </listitem>
41 <listitem>
42 <para>Download (FTP): <ulink url="&mysql-download-ftp;"/></para>
43 </listitem>
44 <listitem>
45 <para>Download MD5 sum: &mysql-md5sum;</para>
46 </listitem>
47 <listitem>
48 <para>Download size: &mysql-size;</para>
49 </listitem>
50 <listitem>
51 <para>Estimated disk space required: &mysql-buildsize;</para>
52 </listitem>
53 <listitem>
54 <para>Estimated build time: &mysql-time;</para>
55 </listitem>
56 </itemizedlist>
57
58 <bridgehead renderas="sect3">MySQL Dependencies</bridgehead>
59
60 <bridgehead renderas="sect4">Optional</bridgehead>
61 <para role="optional"><xref linkend="openssl"/> and
62 <xref linkend="tcpwrappers"/>
63
64 <!-- Removing libedit because it causes more problems than it solves.
65
66 <ulink url="http://sourceforge.net/projects/libedit/">libedit</ulink>
67 (as an alternative to readline)-->
68
69 </para>
70
71 <para condition="html" role="usernotes">User Notes:
72 <ulink url="&blfs-wiki;/mysql"/></para>
73
74 </sect2>
75
76 <sect2 role="installation">
77 <title>Installation of MySQL</title>
78
79 <para>For security reasons, running the server as an unprivileged user
80 and group is strongly encouraged:</para>
81
82<screen role="root"><userinput>groupadd -g 40 mysql &amp;&amp;
83useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false \
84 -u 40 mysql</userinput></screen>
85
86 <para>Build and install <application>MySQL</application> by
87 running the following commands:</para>
88
89<screen><userinput>C_EXTRA_FLAGS=-fno-strict-aliasing \
90./configure --prefix=/usr \
91 --sysconfdir=/etc \
92 --libexecdir=/usr/sbin \
93 --localstatedir=/srv/mysql \
94 --enable-thread-safe-client \
95 --enable-assembler \
96 --enable-local-infile \
97 --with-unix-socket-path=/var/run/mysql/mysql.sock \
98 --without-debug \
99 --without-bench \
100 --without-readline \
101 --with-berkeley-db \
102 --with-extra-charsets=all &amp;&amp;
103make testdir=/tmp/mysql</userinput></screen>
104
105<!--
106 <para>Some of the tests in the test suite are known to fail and this will
107 cause the test suite to abort at that point. Issue the following command
108 to disable the tests known to fail:</para>
109
110<screen><userinput>for TESTFILE in information_schema innodb join mysql_client_test \
111 ps_2myisam ps_3innodb ps_4heap ps_5merge \
112 sp-error strict type_float type_ranges
113do
114 mv mysql-test/t/$TESTFILE.test mysql-test/t/$TESTFILE.test.disabled
115done
116unset TESTFILE</userinput></screen>
117-->
118
119 <para>To test the results, issue: <command>make test</command>. Note that
120 if you have a restrictive <filename>/etc/hosts.deny</filename> file, you
121 will need to add an appropriate entry to the
122 <filename>/etc/hosts.allow</filename> file for the
123 <command>mysqld</command> daemon, else many of the tests will fail.</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 <tip>
133 <para>The only documentation shipped in the source tarball are
134 <filename>mysql.info</filename> and <filename>manual.chm</filename>
135 (Microsoft Help format) files. You can download various formats of the
136 <application>MySQL</application> Reference Manual from <ulink
137 url="http://dev.mysql.com/doc/"/>.</para>
138 </tip>
139
140 </sect2>
141
142 <sect2 role="commands">
143 <title>Command Explanations</title>
144
145 <para><parameter>C_EXTRA_FLAGS=-fno-strict-aliasing</parameter>: This
146 environment variable adjusts the compiler optimization to avoid failures in
147 the testsuite and other operations.</para>
148
149 <para><parameter>--libexecdir=/usr/sbin</parameter>: This switch installs
150 the <command>mysqld</command> daemon and the
151 <command>mysqlmanager</command> program in an appropriate location.</para>
152
153 <para><parameter>--localstatedir=/srv/mysql</parameter>: This switch
154 forces <application>MySQL</application> to use
155 <filename class='directory'>/srv/mysql</filename> for database files and
156 other variable data.</para>
157
158 <para><parameter>--enable-thread-safe-client</parameter>: This
159 switch compiles a thread-safe <application>MySQL</application> client
160 library.</para>
161
162 <para><parameter>--enable-assembler</parameter>: This switch allows using
163 assembler versions of some string functions.</para>
164
165 <para><parameter>--enable-local-infile</parameter>: This switch enables
166 the <quote>LOAD DATA INFILE</quote> SQL statement.</para>
167
168 <para><parameter>--with-unix-socket-path=/var/run/mysql</parameter>:
169 This switch puts the unix-domain socket into the
170 <filename class="directory">/var/run/mysql</filename> directory instead of
171 the default <filename class="directory">/tmp</filename>.</para>
172
173 <para><parameter>--without-bench</parameter>: This switch skips building
174 the benchmark suite.</para>
175
176 <para><parameter>--without-readline</parameter>: This switch forces the
177 build to use the system copy of <application>readline</application> instead
178 of the bundled copy.</para>
179
180 <para><parameter>--with-berkeley-db</parameter>: This switch enables
181 using <application>Berkeley DB</application> tables as a back end.</para>
182
183 <para><parameter>--with-extra-charsets=all</parameter>: This switch enables
184 international character sets within the suite.</para>
185
186 <para><command>make testdir=...</command>: This installs the test suite in
187 <filename class='directory'>/tmp/mysql</filename>. The test suite is not
188 required, nor does it function properly on an installed version of
189 <application>MySQL</application>, so it is removed in the next step.</para>
190
191 <para><command>ln -v -sf mysql/libmysqlclient{,_r}.so* .</command>: This
192 command makes the <application>MySQL</application> shared libraries
193 available to other packages at run-time.</para>
194
195 <para><option>--with-openssl</option>: This switch adds OpenSSL support
196 to <application>MySQL</application>.</para>
197
198 <para><option>--with-libwrap</option>: This switch adds tcpwrappers
199 support to <application>MySQL</application>.</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>&lt;new-password&gt;</replaceable> with your own.</para>
251
252<screen role="root"><userinput>mysqladmin -u root password <replaceable>&lt;new-password&gt;</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="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.