2.3 Installer MySQL à partir des sources
2 Installation de MySQL
Manuel de Référence MySQL 4.1 : Version Française
. Vue d'ensemble de l'installation rapide . Appliquer des patches . Options habituelles de configure . Installer à partir de l'arbre source de développement . Problèmes de compilation? ->MIT-pthreads Notes . La distribution source Windows
|
2.3.6 MIT-pthreads Notes
This section describes some of the issues involved in using MIT-pthreads.
Note that on Linux you should
not
use MIT-pthreads but install LinuxThreads!
Notes relatives à Linux (toutes les versions de Linux) .
If your system does not provide native thread support, you will need to
build MySQL using the MIT-pthreads package. This includes
older FreeBSD systems, SunOS 4.x, Solaris 2.4 and earlier, and some others.
Systèmes d'exploitation supportés par MySQL .Note, that beginning with MySQL 4.0.2 MIT-pthreads are no longer part of
the source distribution! If you require this package, you need to download
it separately from
http://www.mysql.com/Downloads/Contrib/pthreads-1_60_beta6-mysql.tar.gz After downloading, extract this source archive into the top level of the
MySQL source directory. It will create a new subdirectory
mit-pthreads
.
-
On most systems, you can force MIT-pthreads to be used by running
configure
with the
--with-mit-threads
option:
shell> ./configure --with-mit-threads
|
Building in a non-source directory is not supported when using
MIT-pthreads because we want to minimise our changes to this code.
-
The checks that determine whether to use MIT-pthreads occur only
during the part of the configuration process that deals with the server
code. If you have configured the distribution using
--without-server
to build only the client code, clients will not know whether
MIT-pthreads is being used and will use Unix socket connections by default.
Because Unix sockets do not work under MIT-pthreads on some platforms, this
means you will need to use
-h
or
--host
when you run client
programs.
-
When MySQL is compiled using MIT-pthreads, system locking is
disabled by default for performance reasons. You can tell the server to use
system locking with the
--external-locking
option. This is only
needed if you want to be able to run two MySQL servers against the same
data files (not recommended).
-
Sometimes the pthread
bind()
command fails to bind to a socket without
any error message (at least on Solaris). The result is that all connections
to the server fail. For example:
shell> mysqladmin version mysqladmin: connect to server at '' failed; error: 'Can't connect to mysql server on localhost (146)'
|
The solution to this is to kill the
mysqld
server and restart it.
This has only happened to us when we have forced the server down and done
a restart immediately.
-
With MIT-pthreads, the
sleep()
system call isn't interruptible with
SIGINT
(break). This is only noticeable when you run
mysqladmin --sleep
. You must wait for the
sleep()
call to
terminate before the interrupt is served and the process stops.
-
When linking, you may receive warning messages like these (at least on
Solaris); they can be ignored:
ld: warning: symbol `_iob' has differing sizes: (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4; file /usr/lib/libc.so value=0x140); /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken ld: warning: symbol `__iob' has differing sizes: (file /my/local/pthreads/lib/libpthread.a(findfp.o) value=0x4; file /usr/lib/libc.so value=0x140); /my/local/pthreads/lib/libpthread.a(findfp.o) definition taken
|
-
Some other warnings also can be ignored:
implicit declaration of function `int strtoll(...)' implicit declaration of function `int strtoul(...)'
|
-
We haven't gotten
readline
to work with MIT-pthreads. (This isn't
needed, but may be interesting for someone.)
|