source: server/databases/mysql.xml@ 6d85d2c1

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 6d85d2c1 was eed2d7f, checked in by Bruce Dubbs <bdubbs@…>, 12 years ago

Update mysql configuration to not creeate binary logs.
Fix urls for mobile-broadband-provider-info-20110511.

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

  • Property mode set to 100644
File size: 13.3 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 "&sources-anduin-http;/m/mysql-&mysql-version;.tar.gz">
8 <!ENTITY mysql-download-ftp "&sources-anduin-ftp;/m/mysql-&mysql-version;.tar.gz">
9 <!ENTITY mysql-md5sum "dcb6a06e68c5e8f30f57b15300730c9c">
10 <!ENTITY mysql-size "23 MB">
11 <!ENTITY mysql-buildsize "883 MB (additional 170 MB to run the test suite)">
12 <!ENTITY mysql-time "3.9 SBU (Test suite is an additional 45 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 <para>There may be a more recent release available from the
37 <application>MySQL</application> home page. You can check
38 <ulink url="http://dev.mysql.com/"/> and probably use the
39 existing BLFS instructions. Note that versions other than the one shown
40 in the download URLs have not been tested in a BLFS environment.</para>
41
42 &lfs70_checked;
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 Downloads</bridgehead>
67 <itemizedlist spacing="compact">
68 <listitem>
69 <para>Optional patch: <ulink
70 url="&patch-root;/mysql-&mysql-version;-embedded-library-shared-1.patch"/></para>
71 </listitem>
72 <listitem>
73 <para>Optional Documentation (see tip below):
74 <ulink url="http://dev.mysql.com/doc/"/>
75 </para>
76 </listitem>
77 </itemizedlist>
78
79 <note><para>The patch is required only if you plan to install <application>
80 Amarok</application>.</para></note>
81
82 <bridgehead renderas="sect3">MySQL Dependencies</bridgehead>
83
84 <bridgehead renderas="sect4">Required</bridgehead>
85 <para role="optional"><xref linkend="cmake"/></para>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="optional"><xref linkend="openssl"/></para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional"><xref linkend="tcpwrappers"/> and
92 <ulink url="http://packages.debian.org/squeeze/libaio-dev">libaio</ulink></para>
93
94 <para condition="html" role="usernotes">User Notes:
95 <ulink url="&blfs-wiki;/mysql"/></para>
96
97 </sect2>
98
99 <sect2 role="installation">
100 <title>Installation of MySQL</title>
101
102 <para>For security reasons, running the server as an unprivileged user
103 and group is strongly encouraged:</para>
104
105<screen role="root"><userinput>groupadd -g 40 mysql &amp;&amp;
106useradd -c "MySQL Server" -d /dev/null -g mysql -s /bin/false -u 40 mysql</userinput></screen>
107
108 <note><para>There are a great many options available to
109 <userinput>cmake</userinput>. Check the output of the `<userinput>cmake .
110 -LH</userinput>` for additional customization options. See ithe <ulink
111 url="http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html">MySQL
112 Documentation</ulink> for a full listing of all options.</para></note>
113
114 <note><para>If you plan to install <application>Amarok</application>, you need to
115 apply the optional patch, add the cmake option
116 <userinput>-DWITH_EMBEDDED_SERVER=ON</userinput> and add
117 <userinput>Embedded</userinput> to the <userinput>SEGMENTS</userinput> variable
118 below.</para></note>
119
120 <para>Apply the optional patch:</para>
121
122 <screen><userinput>patch -Np1 -i ../mysql-&mysql-version;-embedded-library-shared-1.patch</userinput></screen>
123
124 <para>Build and install <application>MySQL</application> by
125 running the following commands:</para>
126
127<screen><userinput>cmake . \
128 -DSYSCONFDIR=/etc \
129 -DMYSQL_DATADIR=/srv/mysql \
130 -DINSTALL_MYSQLDATADIR=/srv/mysql \
131 -DCMAKE_INSTALL_PREFIX=/usr \
132 -DINSTALL_BINDIR=bin \
133 -DINSTALL_SBINDIR=sbin \
134 -DINSTALL_DOCDIR=share/doc/mysql \
135 -DINSTALL_DOCREADMEDIR=share/doc/mysql \
136 -DINSTALL_INCLUDEDIR=include/mysql \
137 -DINSTALL_INFODIR=share/info \
138 -DINSTALL_LIBDIR=lib \
139 -DINSTALL_MANDIR=share/man \
140 -DINSTALL_MYSQLSHAREDIR=share/mysql \
141 -DINSTALL_MYSQLTESTDIR=share/mysql-test \
142 -DINSTALL_PLUGINDIR=lib/plugin \
143 -DINSTALL_SCRIPTDIR=bin \
144 -DINSTALL_SHAREDIR=share/mysql \
145 -DINSTALL_SQLBENCHDIR=share/mysql-bench \
146 -DINSTALL_SUPPORTFILESDIR=share/mysql/support-files \
147 -DWITH_ZLIB=system \
148 -DWITH_SSL=system \
149 -DWITH_READLINE=system \
150 -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \
151 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
152 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
153 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
154 -DMYSQL_MAINTAINER_MODE=OFF \
155 -DWITH_DEBUG=OFF &amp;&amp;
156make</userinput></screen>
157
158 <para>To test the results, issue: <command>make test-force 2>&amp;1 | tee
159 test.log</command>. This forces the test to run to completion and logs all
160 the test output. There will be many tests that are not run due to
161 configuration options and developer considerations. Note that if you use
162 TCP Wrappers and have a restrictive <filename>/etc/hosts.deny</filename>
163 file, you will need to add an appropriate entry to the
164 <filename>/etc/hosts.allow</filename> file for the
165 <command>mysqld</command> daemon. Otherwise many of the tests will
166 fail.</para>
167
168 <note><para>The ssl tests may fail due to expired certifictes.</para></note>
169
170 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
171
172<screen role="root"><userinput>SEGMENTS="Client Server IniFiles ManPages SharedLibraries"
173SEGMENTS="$SEGMENTS Development Documentation Info Readme"
174
175for segment in $SEGMENTS; do
176 cmake -DCMAKE_INSTALL_COMPONENT=$segment -P cmake_install.cmake
177done
178
179unset SEGMENTS</userinput></screen>
180
181 <tip>
182 <para>The only documentation shipped in the source tarball are
183 <filename>mysql.info</filename> and man pages. You can download various
184 formats of the <application>MySQL</application> Reference Manual
185 from <ulink url="http://dev.mysql.com/doc/"/>.</para>
186 </tip>
187
188 <note><para>If you only want to build and install the
189 <command>mysql</command> client, use:</para>
190
191 <screen><userinput>cmake . &amp;&amp;
192make mysqlclient libmysql</userinput></screen>
193
194 <para>Continue as root:</para>
195
196 <screen role="root"><userinput>make install</userinput></screen>
197 </note>
198
199 </sect2>
200
201 <sect2 role="commands">
202 <title>Command Explanations</title>
203
204 <para><command>cmake -DCMAKE_INSTALL_COMPONENT=$segment ...</command>: This
205 command installs the appropriate portion of the package. Different
206 segemnts may be added or deleted as desired. Valid segments are listed
207 with `<command>make list_install_components</command>`. Note that the
208 'DataFiles' install segment does not honor the -DMYSQL_DATADIR or
209 -DINSTALL_MYSQLDATADIR statements.</para>
210
211 </sect2>
212
213 <sect2 role="configuration">
214 <title>Configuring MySQL</title>
215
216 <sect3 id="mysql-config">
217 <title>Config Files</title>
218
219 <para><filename>/etc/my.cnf</filename> and
220 <filename>~/.my.cnf</filename></para>
221
222 <indexterm zone="mysql mysql-config">
223 <primary sortas="e-AA.my.cnf">~/.my.cnf</primary>
224 </indexterm>
225
226 <indexterm zone="mysql mysql-config">
227 <primary sortas="e-etc-my.cnf">/etc/my.cnf</primary>
228 </indexterm>
229
230 </sect3>
231
232 <sect3>
233 <title>Configuration Information</title>
234
235 <para>There are several default configuration files available in
236 <filename class="directory">/usr/share/mysql</filename> which you can
237 use. When creating the file, ensure binary logs are disabled unless you
238 are doing database replication. Create <filename>/etc/my.cnf</filename>
239 using the following commands as the <systemitem
240 class="username">root</systemitem> user:</para>
241
242<screen role="root"><userinput>install -v -m644 /usr/share/mysql/support-files/my-medium.cnf /etc/my.cnf
243sed -i 's/^log-bin/#log-bin/' /etc/my.cnf</userinput></screen>
244
245 <para>You can now install a database and change the ownership to the
246 unprivileged user and group (perform as the <systemitem
247 class="username">root</systemitem> user):</para>
248
249<screen role="root"><userinput>mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql &amp;&amp;
250chgrp -v mysql /srv/mysql{,/test,/mysql}</userinput></screen>
251
252 <para>Further configuration requires that the
253 <application>MySQL</application> server is running. Start
254 the server using the following commands as the <systemitem
255 class="username">root</systemitem> user:</para>
256
257<screen role="root"><userinput>install -v -m755 -o mysql -g mysql -d /var/run/mysql &amp;&amp;
258mysqld_safe --user=mysql 2&gt;&amp;1 &gt;/dev/null &amp;</userinput></screen>
259
260 <para>A default installation does not set up a password for the
261 administrator, so use the following command as the <systemitem
262 class="username">root</systemitem> user to set one. Replace
263 <replaceable>&lt;new-password&gt;</replaceable> with your own.</para>
264
265<screen role="root"><userinput>mysqladmin -u root password <replaceable>&lt;new-password&gt;</replaceable></userinput></screen>
266
267 <para>Configuration of the server is now finished. Shut the server
268 down using the following command as the <systemitem
269 class="username">root</systemitem> user:</para>
270
271<screen role="root"><userinput>mysqladmin -p shutdown</userinput></screen>
272
273 </sect3>
274
275 <sect3 id="mysql-init">
276 <title>Boot Script</title>
277
278 <para>Install the <filename>/etc/rc.d/init.d/mysql</filename> init script
279 included in the <xref linkend="bootscripts"/> package as
280 the <systemitem class="username">root</systemitem> user to start the
281 <application>MySQL</application> server during system boot-up.</para>
282
283 <indexterm zone="mysql mysql-init">
284 <primary sortas="f-mysql">mysql</primary>
285 </indexterm>
286
287<screen role="root"><userinput>make install-mysql</userinput></screen>
288
289 </sect3>
290
291 </sect2>
292
293 <sect2 role="content">
294 <title>Contents</title>
295
296 <segmentedlist>
297 <segtitle>Installed Programs</segtitle>
298 <segtitle>Installed Libraries</segtitle>
299 <segtitle>Installed Directories</segtitle>
300
301 <seglistitem>
302 <seg>comp_err, innochecksum, msql2mysql, my_print_defaults,
303 myisam_ftdump, myisamchk, myisamlog, myisampack, mysql,
304 mysql_client_test, mysql_config, mysql_convert_table_format,
305 mysql_create_system_tables, mysql_explain_log, mysql_find_rows,
306 mysql_fix_extensions, mysql_fix_privilege_tables, mysql_install_db,
307 mysql_secure_installation, mysql_setpermission, mysql_tableinfo,
308 mysql_tzinfo_to_sql, mysql_waitpid, mysql_zap, mysqlaccess, mysqladmin,
309 mysqlbinlog, mysqlbug, mysqlcheck, mysqld, mysqld_multi, mysqld_safe,
310 mysqldump, mysqldumpslow, mysqlhotcopy, mysqlimport, mysqlmanager,
311 mysqlshow, mysqltest, mysqltestmanager, mysqltestmanager-pwgen,
312 mysqltestmanagerc, perror, replace, resolve_stack_dump, and
313 resolveip</seg>
314 <seg>libdbug.a, libheap.a, libmyisam.a, libmyisammrg.a,
315 libmysqlclient.{so,a}, libmysqlclient_r.{so,a}, libmystrings.a,
316 libmysys.a, and libvio.a</seg>
317 <seg>/srv/mysql, /usr/include/mysql, /usr/lib/plugin, /usr/share/mysql and
318 /var/run/mysql</seg>
319 </seglistitem>
320 </segmentedlist>
321
322 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
323
324 <para>Descriptions of all the programs and libraries would be several
325 pages long. Instead, consult the <filename>mysql.info</filename>
326 documentation or the on-line reference manual at <ulink
327 url="http://dev.mysql.com/doc/refman/5.1/en/index.html"/>.</para>
328
329 <para>The <application>Perl</application> DBI modules must be installed
330 for some of the <application>MySQL</application> support programs to
331 function properly.</para>
332
333 </sect2>
334
335</sect1>
Note: See TracBrowser for help on using the repository browser.