Commit 968b2240 authored by unknown's avatar unknown

Merge siva.hindu.god:/home/tsmith/m/bk/50

into  siva.hindu.god:/home/tsmith/m/bk/maint/50


mysys/my_alloc.c:
  Auto merged
sql/mysqld.cc:
  Auto merged
parents 4f3efddd e9f88b39
......@@ -32,7 +32,8 @@ DIST_SUBDIRS = . include @docs_dirs@ zlib \
@thread_dirs@ pstack \
@sql_union_dirs@ scripts @man_dirs@ tests SSL\
BUILD netware os2 @libmysqld_dirs@ \
@bench_dirs@ support-files @tools_dirs@ win
@bench_dirs@ support-files @tools_dirs@ win \
debian
# Run these targets before any others, also make part of clean target,
# to make sure we create new links after a clean.
......@@ -97,6 +98,7 @@ bin-dist: all
# Remove BK's "SCCS" subdirectories from source distribution
# Create initial database files for Windows installations.
# Create default debian control file for debian packaging needs
dist-hook:
rm -rf `find $(distdir) -type d -name SCCS -print`
rm -f `find $(distdir) -type l -print`
......@@ -105,6 +107,7 @@ dist-hook:
--basedir=$(top_builddir) \
--datadir=$(distdir)/win/data \
--srcdir=$(top_srcdir)
debian/rules control-file && cp $(top_builddir)/debian/control $(distdir)/debian/control
tags:
support-files/build-tags
......
This diff is collapsed.
......@@ -32,6 +32,9 @@ MYSQL_NO_DASH_VERSION=`echo $VERSION | sed -e "s|[[a-z]]*-.*$||"`
MYSQL_BASE_VERSION=`echo $MYSQL_NO_DASH_VERSION | sed -e "s|\.[[^.]]*$||"`
MYSQL_VERSION_ID=`echo $MYSQL_NO_DASH_VERSION | sed -e 's|[[^0-9.]].*$||;s|$|.|' | sed -e 's/[[^0-9.]]//g; s/\./ /g; s/ \([[0-9]]\) / 0\\1 /g; s/ //g'`
# Add previous major version for debian package upgrade path
MYSQL_PREVIOUS_BASE_VERSION=4.1
# The port should be constant for a LONG time
MYSQL_TCP_PORT_DEFAULT=3306
MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock"
......@@ -68,6 +71,7 @@ romanian russian serbian slovak spanish swedish ukrainian"
AC_SUBST(MYSQL_NO_DASH_VERSION)
AC_SUBST(MYSQL_BASE_VERSION)
AC_SUBST(MYSQL_VERSION_ID)
AC_SUBST(MYSQL_PREVIOUS_BASE_VERSION)
AC_SUBST(PROTOCOL_VERSION)
AC_DEFINE_UNQUOTED([PROTOCOL_VERSION], [$PROTOCOL_VERSION],
[mysql client protocol version])
......@@ -2896,6 +2900,7 @@ AC_CONFIG_FILES(Makefile extra/Makefile mysys/Makefile dnl
cmd-line-utils/libedit/Makefile dnl
win/Makefile dnl
zlib/Makefile dnl
debian/Makefile debian/defs.mk dnl
cmd-line-utils/readline/Makefile)
AC_CONFIG_COMMANDS([default], , test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h)
AC_OUTPUT
......
# Copyright (C) 2006 MySQL AB
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; version 2 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
## Process this file with automake to create Makefile.in
EXTRA_DIST = \
mysql-test-BASE.files.in \
libndbclientNLIB-dev.files.in \
mysql-server-BASE.config.in \
libndbclientNLIB.README.Debian.in \
mysql-server-BASE.postrm.in \
mysql-server-BASE.NEWS.in \
libndbclientNLIB.postinst.in \
mysql-server-BASE.links.in \
libndbclientNLIB.files.in \
source.lintian-overrides.in \
mysql-server-BASE.docs.in \
libmysqlclientSLIB.files.in \
mysql-server-BASE.files.in \
libndbclientNLIB-dev.links.in \
libmysqlclientSLIB.postinst.in \
mysql-extra-BASE.dirs.in \
libmysqlclientSLIB-dev.links.in \
mysql-server-BASE.dirs.in \
libmysqlclientSLIB-dev.examples.in \
mysql-client-BASE.lintian-overrides.in \
copyright.more \
libndbclientNLIB-dev.dirs.in \
mysql-server-BASE.README.Debian.in \
libmysqlclientSLIB.docs.in \
compat \
mysql-test-BASE.dirs.in \
libmysqlclientSLIB-dev.files.in \
libmysqlclientSLIB.dirs.in \
mysql-server-BASE.logcheck.ignore.server.in \
mysql-storage-BASE.mysql-storage.init.in \
libmysqlclientSLIB.README.Debian.in \
mysql-client-BASE.README.Debian.in \
Makefile.am \
mysql-server-BASE.prerm.in \
mysql-common.dirs.in \
defs.mk \
defs.mk.in \
mysql-server-BASE.mysql-server.logrotate.in \
mysql-common.README.Debian.in \
copyright \
mysql-storage-BASE.dirs.in \
mysql-common.preinst.in \
mysql-client-BASE.files.in \
mysql-server-BASE.templates.in \
mysql-tools-BASE.dirs.in \
mysql-management-BASE.mysql-management.init.in \
watch \
mysql-common.postrm.in \
mysql-server-BASE.preinst.in \
README.Maintainer \
mysql-tools-BASE.files.in \
mysql-client-BASE.NEWS.in \
mysql-server-BASE.lintian-overrides.in \
changelog \
mysql-server-BASE.logcheck.ignore.paranoid.in \
mysql-common.files.in \
mysql-server-BASE.logcheck.ignore.workstation.in \
mysql-extra-BASE.files.in \
mysql-management-BASE.files.in \
mysql-client-BASE.docs.in \
libmysqlclientSLIB-dev.README.Maintainer.in \
mysql-storage-BASE.files.in \
additions \
additions/ndb_mgmd.cnf \
additions/mysql-server.lintian-overrides \
additions/my.cnf \
mysql-server-BASE.postinst.in \
libndbclientNLIB.dirs.in \
po \
po/fr.po \
po/sv.po \
po/da.po \
po/es.po \
po/ja.po \
po/tr.po \
po/nb.po \
po/POTFILES.in.in \
po/cs.po \
po/pt.po \
po/gl.po \
po/pt_BR.po \
po/nl.po \
po/templates.pot \
po/de.po \
po/eu.po \
po/ro.po \
po/ru.po \
po/it.po \
po/ca.po \
mysql-client-BASE.dirs.in \
control.in \
libmysqlclientSLIB-dev.dirs.in \
mysql-server-PREV.preinst.in \
mysql-server.preinst.in \
mysql-management-BASE.dirs.in \
rules \
libmysqlclientSLIB-dev.docs.in
# Don't update the files from bitkeeper
%::SCCS/s.%
###########################################################################
# Here are some information that are only of interest to the Debiani #
# maintainers of MySQL. #
###########################################################################
#
# Remarks to dependencies
#
libwrap0-dev (>= 7.6-8.3)
According to bug report 114582 where where build problems on
IA-64/sid with at least two prior versions.
psmisc
/usr/bin/killall in the initscript
zlib1g in libmysqlclient-dev:
"mysql_config --libs" adds "-lz"
Build-Dep:
debhelper (>=4.1.16):
See po-debconf(7).
autoconf (>= 2.13-20), automake1.7
Try to get rid of them.
doxygen, tetex-bin, tetex-extra, gs
for ndb/docs/*tex
mysql-server-5.0: Pre-Depends: mysql-common
This was necessary as mysql-server-5.0.preinst checks for unmodified
conffiles from mysql-server-4.1 and copies 5.0 ones over them to avoid
unnecessary dpkg questions. As mysql-server-5.0 is not unpacked at its
pre-inst stage, it had to copy those files from a package that is
definetly already unpacked which does not have to be the case with Depends.
#
# Remarks to the start scripts
#
## initscripts rely on mysqladmin from a different package
We have the problem that "/etc/init.d/mysql stop" relies on mysqladmin which
is in another package (mysql-client) and a passwordless access that's maybe
only available if the user configured his /root/.my.cnf. Can this be a problem?
* normal mode: not because the user is required to have it. Else:
* purge/remove: not, same as normal mode
* upgrade: not, same as normal mode
* first install: not, it depends on mysql-client which at least is unpacked
so mysqladmin is there (to ping). It is not yet configured
passwordles but if there's a server running then there's a
/root/.my.cnf. Anyways, we simply kill anything that's mysqld.
## Passwordless access for the maintainer scripts
Another issue is that the scripts needs passwordless access. To ensure this
a debian-sys-maint user is configured which has process and shutdown privs.
The file with the randomly (that's important!) generated password must be
present as long as the databases remain installed because else a new install
would have no access. This file should be used like:
mysqladmin --defaults-file=/etc/mysql/debian.cnf restart
to avoid providing the password in plaintext on a commandline where it would
be visible to any user via the "ps" command.
## When to start the daemon?
We aim to give the admin full control on when MySQL is running.
Issues to be faced here:
OLD:
1. Debconf asks whether MySQL should be started on boot so update-rc.d is
only run if the answer has been yes. The admin is likely to forget
this decision but update-rc.d checks for an existing line in
/etc/runlevel.conf and leaves it intact.
2. On initial install, if the answer is yes, the daemon has to be started.
3. On upgrades it should only be started if it was already running, everything
else is confusing. Especiall relying on an debconf decision made month ago
is considered suboptimal. See bug #274264
Implementation so far:
prerm (called on upgrade before stopping the server):
check for a running server and set flag if necessary
preinst (called on initial install and before unpacking when upgrading):
check for the debconf variable and set flag if necessary
postinst (called on initial install and after each upgrade after unpacking):
call update-rc.d if debconf says yes
call invoce-rc.d if the flag has been set
Problems remaining:
dpkg-reconfigure and setting mysql start on boot to yes did not start mysql
(ok "start on boot" literally does not mean "start now" so that might have been ok)
NEW:
1. --- no debconf anymore for the sake of simplicity. We have runlevel.conf,
the admin should use it
2. On initial install the server is started.
3. On upgrades the server is started exactly if it was running before so the
runlevel configuration is irrelevant. It will be preserved by the mean of
update-rc.d's builtin check.
Implementation:
prerm (called on upgrade before stopping the server):
check for a running server and set flag if necessary
preinst (called on initial install and before unpacking when upgrading):
check for $1 beeing (initial) "install" and set flag
postinst (called on initial install and after each upgrade after unpacking):
call update-rc.d
call invoce-rc.d if the flag has been set
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
#
# * Query Cache Configuration
#
query_cache_limit = 1048576
query_cache_size = 16777216
query_cache_type = 1
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement :)
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#
# The following can be used as easy to replay backup logs or for replication.
#server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
# WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
#skip-innodb
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
#
# * NDB Cluster
#
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
#
# The following configuration is read by the NDB Data Nodes (ndbd processes)
# not from the NDB Management Nodes (ndb_mgmd processes).
#
# [MYSQL_CLUSTER]
# ndb-connectstring=127.0.0.1
#
# * IMPORTANT: Additional settings that can override those from this file!
#
!includedir /etc/mysql/conf.d/
W: mysql-dfsg source: maintainer-script-lacks-debhelper-token debian/mysql-server.postinst
W: mysql-server: possible-bashism-in-maintainer-script postinst:68 'p{("a".."z","A".."Z",0..9)[int(rand(62))]}'
[NDBD DEFAULT]
NoOfReplicas=2
DataMemory=10MB
IndexMemory=25MB
MaxNoOfTables=256
MaxNoOfOrderedIndexes=256
MaxNoOfUniqueHashIndexes=128
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
[NDB_MGMD]
Id=1 # the NDB Management Node (this one)
HostName=127.0.0.1
[NDBD]
Id=2 # the first NDB Data Node
HostName=127.0.0.1
DataDir= /var/lib/mysql-cluster
[NDBD]
Id=3 # the second NDB Data Node
HostName=127.0.0.1
DataDir=/var/lib/mysql-cluster
[MYSQLD]
Id=4 # the first SQL node
HostName=127.0.0.1
# [MYSQLD]
# Id=5 # the second SQL node
# HostName=127.0.0.10
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
The Debian package of MySQL was first debianzed on 1997-04-12 by Christian
Schwarz <schwarz@debian.org> and ist maintained since 1999-04-20 by
Christian Hammers <ch@debian.org>.
It can be downloaded from http://www.mysql.com/
Copyright:
According to the file "COPYING" all parts of this package are licenced
under the terms of the GNU GPL Version 2 of which a copy is available
in /usr/share/common-licenses.
To allow free software with other licences than the GPL to link against the
shared library, special terms for "derived works" are defined in the file
"EXCEPTIONS-CLIENT" which is quoted below.
More information can be found on http://www.mysql.com/company/legal/licensing/
The manual had to be removed as it is not free in the sense of the
Debian Free Software Guidelines (DFSG).
-------------------------------------------------------------------------
Appendix I MySQL FLOSS License Exception
****************************************
Version 0.3, 10 February 2005
The MySQL AB Exception for Free/Libre and Open Source Software-only
Applications Using MySQL Client Libraries (the "FLOSS Exception").
Exception Intent
================
We want specified Free/Libre and Open Source Software ("FLOSS")
applications to be able to use specified GPL-licensed MySQL client
libraries (the "Program") despite the fact that not all FLOSS licenses
are compatible with version 2 of the GNU General Public License (the
"GPL").
Legal Terms and Conditions
==========================
As a special exception to the terms and conditions of version 2.0 of the
GPL:
1. You are free to distribute a Derivative Work that is formed
entirely from the Program and one or more works (each, a "FLOSS
Work") licensed under one or more of the licenses listed below in
section 1, as long as:
a. You obey the GPL in all respects for the Program and the
Derivative Work, except for identifiable sections of the
Derivative Work which are not derived from the Program, and
which can reasonably be considered independent and separate
works in themselves,
b. all identifiable sections of the Derivative Work which are not
derived from the Program, and which can reasonably be
considered independent and separate works in themselves,
i
are distributed subject to one of the FLOSS licenses
listed below, and
ii
the object code or executable form of those sections are
accompanied by the complete corresponding
machine-readable source code for those sections on the
same medium and under the same FLOSS license as the
corresponding object code or executable forms of those
sections, and
c. any works which are aggregated with the Program or with a
Derivative Work on a volume of a storage or distribution
medium in accordance with the GPL, can reasonably be
considered independent and separate works in themselves which
are not derivatives of either the Program, a Derivative Work
or a FLOSS Work.
If the above conditions are not met, then the Program may only be
copied, modified, distributed or used under the terms and
conditions of the GPL or another valid licensing option from MySQL
AB.
2. FLOSS License List
*License name* *Version(s)/Copyright Date*
Academic Free License 2.0
Apache Software License 1.0/1.1/2.0
Apple Public Source License 2.0
Artistic license From Perl 5.8.0
BSD license "July 22 1999"
Common Public License 1.0
GNU Library or "Lesser" General Public 2.0/2.1
License (LGPL)
Jabber Open Source License 1.0
MIT license -
Mozilla Public License (MPL) 1.0/1.1
Open Software License 2.0
OpenSSL license (with original SSLeay "2003" ("1998")
license)
PHP License 3.0
Python license (CNRI Python License) -
Python Software Foundation License 2.1.1
Sleepycat License "1999"
W3C License "2001"
X11 License "2001"
Zlib/libpng License -
Zope Public License 2.0
Due to the many variants of some of the above licenses, we require
that any version follow the 2003 version of the Free Software
Foundation's Free Software Definition
(`http://www.gnu.org/philosophy/free-sw.html') or version 1.9 of
the Open Source Definition by the Open Source Initiative
(`http://www.opensource.org/docs/definition.php').
3. Definitions
a. Terms used, but not defined, herein shall have the meaning
provided in the GPL.
b. Derivative Work means a derivative work under copyright law.
4. Applicability This FLOSS Exception applies to all Programs that
contain a notice placed by MySQL AB saying that the Program may be
distributed under the terms of this FLOSS Exception. If you
create or distribute a work which is a Derivative Work of both the
Program and any other work licensed under the GPL, then this FLOSS
Exception is not available for that work; thus, you must remove
the FLOSS Exception notice from that work and comply with the GPL
in all respects, including by retaining all GPL notices. You may
choose to redistribute a copy of the Program exclusively under the
terms of the GPL by removing the FLOSS Exception notice from that
copy of the Program, provided that the copy has never been
modified by you or any third party.
#
# Some random bits of interest.
#
#
# Arjen about OpenSSL
#
http://bugs.mysql.com/?id=6924
Updated by: Arjen Lentz
Date: 2005-11-05
Linking with the client library is covered by the FLOSS exception which
includes OpenSSL now. So that's clean. Indeed, the OpenSSL is not
compliant with the FSF free software guidelines, however it *is*
compliant with the OSI guidelines. And that's good enough for us.
Christian is correct in saying that the author of a GPL app that links
with MySQL may find themselves in a licensing headache (or may not
realize that OpenSSL is involved) but that is their responsibility.
The MySQL client can be linked with a number of other licenses, it
would not be feasible for MySQL to take over the responsibility for
"the next level" of how combinations of licenses work out. There are
too many possibilities, and combinations of more just 2 licenses.
#
# Steve Langasek about OpenSSL vs libmysqlclient
#
Subject: Bug#291945: eleventh-hour transition for mysql-using packages related to apache
Date: Sat, 12 Feb 2005 00:39:58 -0800
From: Steve Langasek <vorlon@debian.org>
> > > > that's great to hear! i'm cc'ing the relevant wishlist bug i have open
> > > > against mysql-server. christian: any chance of getting an openssl enabled
> > > > version of the mysql-client and mysql-server packages?
> > > Yes, I will re-enable openssl in the next upload.
> > Please make sure this does not introduce an openssl dependency to
> > libmysqlclient itself; just because MySQL AB have granted a license
> > exception for OpenSSL does not mean everyone who links to libmysqlclient
> > has done so.
> > I know of at least one GPL-without-exception package that is now using
> > libmysqlclient12 in Debian.
> Nice, so we should check that any linked GPL library directly (obviuolsy) or
> indirectly (with N=1,2,3... levels of indirection) linked against
> openssl adds the exception.
No, we should simply not be linking libmysqlclient against OpenSSL. The
exemption was needed because there exists software that uses both
libmysqlclient and libssl, but making libmysqlclient itself use libssl just
because we now have the exemption will cause licensing problems for
applications which currently do *not* depend on libssl.
> This is a great reason to move asap all possible programs to gnutls,
> indeed.
There are plenty of reasons to move software to gnutls, but doing so is
non-trivial.
MYSQL_BUILD_OPTS=--with-comment='MySQL Server (custom)' --with-server-suffix='-custom'
MYSQL_BUILD_CXXFLAGS=-DBIG_JOINS=1 -felide-constructors -fno-rtti -O2
MYSQL_BUILD_CFLAGS=-DBIG_JOINS=1 -O2
MYSQL_BUILD_CC=gcc
MYSQL_BUILD_CXX=gcc
# we re-write state into this file. MYSQL_BASE_VERSION might get a suffix added
# by debian/rules which could result in a nasty loop. VER is there to hold the
# original unadorned version from autoconf
VER=@MYSQL_BASE_VERSION@
OLDVER=@MYSQL_PREVIOUS_BASE_VERSION@
MYSQL_BASE_VERSION=@MYSQL_BASE_VERSION@
MYSQL_PREVIOUS_BASE_VERSION=@MYSQL_PREVIOUS_BASE_VERSION@
SHARED_LIB_MAJOR_VERSION=@SHARED_LIB_MAJOR_VERSION@
NDB_SHARED_LIB_MAJOR_VERSION=@NDB_SHARED_LIB_MAJOR_VERSION@
The examples directory includes files that might be needed by some
developers:
- header files not installed by default
- the example file udf_example.cc
usr/bin/mysql_config
usr/bin/comp_err
usr/include/*
usr/lib/libmysqlclient.a
usr/lib/libmysqlclient.la
usr/lib/mysql
usr/share/man/man1/mysql_config.1
usr/lib/libmysqlclient.so.15 usr/lib/libmysqlclient.so
usr/lib/libmysqlclient_r.so.15 usr/lib/libmysqlclient_r.so
* Crashs on systems with Cyrix or other old i486 CPUs
=====================================================
As reported http://bugs.mysql.com/bug.php?id=21765 MySQL will segfault on very
old CPUs that do not have support for the "cpuid" instruction.
* Self-build binaries that are linked against libmysqlclient15 MUST be rebuild!
===============================================================================
This only affects binaries that are build on a Debian unstable/testing system
before 2006-03-31 or version 5.0.19. "objdump -T myprogram | grep MYSQL_5.0"
will give a couple of lines output in such a case.
Until now libmysqlclient.so.15 had versioned symbols provided by a Debian
patch. Now MySQL finally decided to adopt this patch but sadly chosed a
different symbol name.
Binaries linked against the old version of the library with my symbol name will
not run with the new version with MySQL's symbol name ("version `MYSQL_5.0' not
found"). The actual name /usr/lib/libmysqlclient.so.15 must stay because else
binaries coming from systems other than Debian would never run on a Debian
server.
So the Debian package had to be renamed from "libmysqlclient15" to
"libmysqlclient15off" and do now conflict with their former version.
-- 2006-03-14, Christian Hammers <ch@debian.org>
usr/lib/libmysqlclient*.so.*
#!/bin/bash -e
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
# vim: ts=4
usr/include/mysql/storage/ndb/
usr/include/
usr/lib/
usr/include/mysql/storage/ndb/*
usr/lib/libndbclient.a
usr/lib/libndbclient.la
usr/lib/libndbclient.so.4 usr/lib/libndbclient.so
* Crashs on systems with Cyrix or other old i486 CPUs
=====================================================
As reported http://bugs.mysql.com/bug.php?id=21765 MySQL will segfault on very
old CPUs that do not have support for the "cpuid" instruction.
* Self-build binaries that are linked against libmysqlclient15 MUST be rebuild!
===============================================================================
This only affects binaries that are build on a Debian unstable/testing system
before 2006-03-31 or version 5.0.19. "objdump -T myprogram | grep MYSQL_5.0"
will give a couple of lines output in such a case.
Until now libmysqlclient.so.15 had versioned symbols provided by a Debian
patch. Now MySQL finally decided to adopt this patch but sadly chosed a
different symbol name.
Binaries linked against the old version of the library with my symbol name will
not run with the new version with MySQL's symbol name ("version `MYSQL_5.0' not
found"). The actual name /usr/lib/libmysqlclient.so.15 must stay because else
binaries coming from systems other than Debian would never run on a Debian
server.
So the Debian package had to be renamed from "libmysqlclient15" to
"libmysqlclient15off" and do now conflict with their former version.
-- 2006-03-14, Christian Hammers <ch@debian.org>
usr/lib/libndbclient*.so.*
#!/bin/bash -e
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
# vim: ts=4
mysql-dfsg-5.0 (5.0.24a-2) unstable; urgency=low
This package now includes "mysqlreport" from hackmysql.com which generates
a friendly report on the performance relevant variables from SHOW STATUS.
-- Christian Hammers <ch@debian.org> Sun, 3 Sep 2006 16:26:41 +0200
FAQ:
Q: My <tab> completition is gone, why?
A: You have "no-auto-rehash" in the "[mysql]" section of /etc/mysql/my.cnf!
usr/bin/
usr/share/man/man1/
README
EXCEPTIONS-CLIENT
usr/bin/msql2mysql
usr/bin/mysql
usr/bin/mysql_find_rows
usr/bin/mysql_tableinfo
usr/bin/mysql_waitpid
usr/bin/mysqlaccess
usr/bin/mysqladmin
usr/bin/mysqlbinlog
usr/bin/mysqlcheck
usr/bin/mysqldump
usr/bin/mysqlimport
usr/bin/mysqlshow
usr/share/lintian/overrides/mysql-client-@MYSQL_BASE_VERSION@
usr/share/man/man1/mysql.1
usr/share/man/man1/mysqlaccess.1
usr/share/man/man1/mysqladmin.1
usr/share/man/man1/mysqldump.1
usr/share/man/man1/mysqlshow.1
mysql-client-@MYSQL_BASE_VERSION@: package-has-a-duplicate-relation
[passwords]
If you change the password of the root user (which is strongly recommended)
you have to create a personal mysql config file in order to let cron run
the /etc/cron.daily script without asking you for the password.
The /root/.my.cnf file should be chmod 0600 (-rw------- root root .my.cnf)
and have the following content:
[mysqladmin]
user = root
password = <secret>
[more than one process]
Note that the shutdown script cannot use the pid number stored in
/var/run, since it is for the first mysqld thread, but we need to kill
the most recent thread to shutdown the server. The upstream developers
are aware of this bug. When maintaining your database, you should use
mysqladmin with your password to shutdown and reload the server rather
than /etc/init.d/mysql.
Scott Hanson and Christian Hammers
<shanson@debian.org> <ch@debian.org>
etc/mysql/my.cnf
usr/share/mysql-common/internal-use-only
#!/bin/bash
if [ "$1" = "purge" ]; then
rmdir /etc/mysql 2>/dev/null || true
fi
#DEBHELPER#
#!/bin/bash -e
#
# summary of how this script can be called:
# * <new-preinst> install
# * <new-preinst> install <old-version>
# * <new-preinst> upgrade <old-version>
# * <old-preinst> abort-upgrade <new-version>
#
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin
# Try to stop the server in a sane way. If it does not success let the admin
# do it himself. No database directories should be removed while the server
# is running! Another mysqld in e.g. a different chroot is fine for us.
stop_server() {
if [ ! -x /etc/init.d/mysql ]; then return; fi
set +e
if [ -x /usr/sbin/invoke-rc.d ]; then
cmd="invoke-rc.d mysql stop"
else
cmd="/etc/init.d/mysql stop"
fi
$cmd
errno=$?
set -e
# 0=ok, 100=no init script (fresh install)
if [ "$errno" != 0 -a "$errno" != 100 ]; then
echo "${cmd/ */} returned $errno" 1>&2
echo "There is a MySQL server running, but we failed in our attempts to stop it." 1>&2
echo "Stop it yourself and try again!" 1>&2
exit 1
fi
}
start_server() {
if [ ! -x /etc/init.d/mysql ]; then return; fi
set +e
if [ -x /usr/sbin/invoke-rc.d ]; then
cmd="invoke-rc.d mysql start"
else
cmd="/etc/init.d/mysql start"
fi
$cmd
set -e
}
##### here's a bunch of helper functions for converting database formats ######
cvt_get_param(){
/usr/sbin/mysqld --print-defaults \
| tr " " "\n" \
| grep -- "--$1" \
| tail -n 1 \
| cut -d= -f2
}
cvt_setup_stuff(){
mytmp=`mktemp -d -t mysql-ISAM-convert.XXXXXX`
cvt_log="$mytmp/conversion.log"
if [ ! -d "$mytmp" ]; then
echo "can't create temporary directory, oh well." >&2
exit 1
fi
chgrp mysql $mytmp
chmod g+rwx $mytmp
cvt_socket=${mytmp}/mysql.sock
cvt_mysqld="mysqld --skip-grant-tables --skip-networking --socket $cvt_socket"
cvt_mysql="mysql --socket $cvt_socket"
cvt_mysqladmin="mysqladmin --socket $cvt_socket"
}
cvt_get_databases(){
echo fetching database list ... >&2
$cvt_mysql -e 'show databases' | sed -n -e '2,$p'
}
cvt_get_tables(){
echo querying tables in $1 ... >&2
$cvt_mysql $1 -e 'show table status' | sed -n -e '2,$p' | \
cut -f 1,2 | grep -w 'ISAM$' | cut -f 1
}
cvt_convert_table(){
echo converting $1.$2 ... >&2
$cvt_mysql $1 -e "alter table $2 type=MyISAM"
}
cvt_wait_for_server(){
local count
echo -n waiting for server startup.. >&2
while ! $cvt_mysql </dev/null >/dev/null 2>&1; do
echo -n . >&2
sleep 1
count=".$count"
if [ -f $mytmp/mysql.done ]; then
echo "sorry... looks like the server crashed :(" >&2
return 1
elif [ "$count" = "...................." ]; then
echo "sorry... looks like the server didn't start :(" >&2
return 1
fi
done
echo ok. >&2
}
cvt_wait_for_exit(){
local count
echo -n waiting for server shutdown.. >&2
while [ ! -f $mytmp/mysql.done ]; do
echo -n . >&2
sleep 1
count=".$count"
if [ "$count" = "...................." ]; then
echo "hrm... guess it never started?" >&2
return 0
fi
done
echo ok. >&2
}
cvt_cleanup(){
local mysql_kids
rm -rf $mytmp
# kill any mysqld child processes left over. there *shouldn't* be any,
# but let's not take chances with that
mysql_kids=`ps o 'pid command' --ppid $$ | grep -E '^[[:digit:]]+ mysqld ' | cut -d' ' -f1`
if [ "$mysql_kids" ]; then
echo "strange, some mysql processes left around. killing them now." >&2
kill $mysql_kids
sleep 10
mysql_kids=`ps o 'pid command' --ppid $$ | grep -E '^[[:digit:]]+ mysqld ' | cut -d' ' -f1`
if [ "$mysql_kids" ]; then
echo "okay, they're really not getting the hint..." >&2
kill -9 $mysql_kids
fi
fi
}
################################ main() ##########################
# test if upgrading from non conffile state
if [ "$1" = "upgrade" ] && [ -x /usr/sbin/mysqld ]; then
cvt_datadir=`cvt_get_param datadir`
# test for ISAM tables, which we must convert NOW
if [ -n "`find $cvt_datadir -name '*.ISM' 2>/dev/null`" ]; then
pidfile=`cvt_get_param pid-file`
if [ "$pidfile" ] && [ -f "$pidfile" ]; then
server_pid=`cat $pidfile`
if [ "$server_pid" ] && ps $server_pid >/dev/null 2>&1; then
server_running="yes"
fi
fi
# to be sure
stop_server
set +e
cat << EOF >&2
----------------------------------------
WARNING WARNING WARNING
----------------------------------------
It has been detected that are are using ISAM format on some of your
mysql database tables. This format has been deprecated and no longer
supported. to prevent these databases from essentially disappearing,
an attempt at format conversion will now be made. please check after
your upgrade that all tables are present and accounted for.
apologies for the noise, but we thought you'd appreciate it :)
----------------------------------------
WARNING WARNING WARNING
----------------------------------------
EOF
cvt_setup_stuff
($cvt_mysqld >$cvt_log 2>&1; touch $mytmp/mysql.done ) &
if cvt_wait_for_server; then
dbs=`cvt_get_databases`
for db in $dbs; do
tables=`cvt_get_tables $db`
for tbl in $tables; do
cvt_convert_table $db $tbl
done
done
else
cvt_error="yes"
fi
echo shutting down server... >&2
$cvt_mysqladmin shutdown
cvt_wait_for_exit
echo "all done!" >&2
if [ ! "$cvt_error" = "yes" ]; then
cvt_cleanup
else
echo "you might want to look in $mytmp..." >&2
fi
if [ "$server_running" ]; then
start_server
fi
set -e
fi
fi
exit 0
usr/bin/ndb_drop_index
usr/bin/ndb_drop_table
usr/bin/ndb_delete_all
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: mysql-ndb-mgm
# Required-Start: $syslog
# Required-Stop: $syslog mysql
# Should-Start: $local_fs $remote_fs $network $named $time
# Should-Stop: $local_fs $remote_fs $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database cluster management daemon
# Description: Controls the MySQL NDB Management Node daemon "ndb_mgmd".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
# Variables
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
DAEMON=/usr/sbin/ndb_mgmd
CONF=/etc/mysql/ndb_mgmd.cnf
export HOME=/etc/mysql/
# Safeguard (relative paths, core dumps..)
cd /
umask 077
# Exit *silently* if we're not supposed to be started.
#
# The Debian scripts should execute these scripts to stop and start
# the daemon when upgrading if it is started. On the other hand it should
# remain silently if the server has not even been configured.
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
test -x $DAEMON || exit 0
test -r $CONF || exit 0
. /lib/lsb/init-functions
#
# main()
#
case "${1:-''}" in
'start')
# Start daemon
log_daemon_msg "Starting MySQL NDB Management Node" "ndb_mgmd"
# --pid-file does not work as the daemon forks itself with $PID=$PID+1
if start-stop-daemon \
--start \
--exec $DAEMON \
--user mysql \
-- \
-f $CONF
then
log_end_msg 0
else
log_end_msg 1
log_warning_msg "Please take a look at the syslog."
exit 1
fi
;;
'stop')
log_daemon_msg "Stopping MySQL NDB Management Node" "ndb_mgmd"
if start-stop-daemon \
--stop \
--oknodo \
--exec $DAEMON
then
log_end_msg 0
else
log_end_msg 1
exit 1
fi
;;
'restart'|'force-reload')
set +e; $SELF stop; set -e
$SELF start
;;
*)
echo "Usage: $SELF start|stop|restart|force-reload"
exit 1
;;
esac
mysql-dfsg-5.0 (5.0.18-9) unstable; urgency=low
Rotation of the binary logs is now configured in /etc/mysql/my.cnf with
"expire-logs-days" which defaults to 20 days. The old file
/etc/mysql/debian-log-rotate.conf should be removed together with
/etc/cron.daily/mysql-server after this value has been adjusted. Note that
the old variable defined the number of files whereas the new one defines
a time span in days.
-- Christian Hammers <ch@debian.org> Tue, 24 Jan 2006 22:18:21 +0100
* REMEMBER TO SET THE ROOT PASSWORD !!!
============================================================================
* MYSQL WON'T INSTALL?
======================
MySQL will only install if you have a non-numeric hostname that is resolvable
via the /etc/hosts file. E.g. if the "hostname" command returns "myhostname"
then there must be a line like "10.0.0.1 myhostname".
On upgrades from MySQL 3.23, as shipped with Debian Woody, symlinks in place of
/var/lib/mysql or /var/log/mysql gets accidently removed and have manually be
restored.
* MYSQL WON'T START OR STOP?
============================
You may never ever delete the special mysql user "debian-sys-maint". This
user together with the credentials in /etc/mysql/debian.cnf are used by the
init scripts to stop the server as they would require knowledge of the mysql
root users password else.
So in most of the times you can fix the situation by making sure that the
debian.cnf file contains the right password, e.g. by setting a new one
(remember to do a "flush privileges" then).
* WHAT TO DO AFTER UPGRADES:
============================
- running mysql_upgrade to be able to make use of possibly added new
privilege columns. This script does not give any use more rights.
* WHAT TO DO AFTER INSTALLATION:
================================
The MySQL manual describes certain steps to do at this stage in a separate
chapter. They are not necessary as the Debian packages does them
automatically.
The only thing that is left over for the admin is
- setting the *passwords* !!!
- creating new users and databases
- read the rest of this text
* DOWNGRADING TO 4.0 or 4.1:
============================
Unsupported. Period.
But if you do and get problems or make interesting experiences, mail me, it
might help others.
Ok, if you really want, I would recommend to "mysqldump --opt" all tables,
then purge 4.1, delete /var/lib/mysql, install 4.0 and insert the dumps. Be
carefully, though, with the "mysql" table, you might not simply overwrite that
one as the password for the mysql "debian-sys-maint" user is stored in
/etc/mysql/debian.cnf and needed by /etc/init.d/ to start mysql and check if
it's alive.
* SOME APPLICATION CAN NO LONGER CONNECT:
=========================================
This application is probably linked against libmysqlclient12 or below and
somebody has created a mysql user with new-style passwords.
The old_passwords option which forces backwards compatibility, can be set
in /etc/mysql/conf.d/old_passwords.conf.
If that does not help, the password can be set manually, the application that
inserted the user should be changed or the application that tries to connect
should be updated to libmysqlclient14 or -15.
Read http://dev.mysql.com/doc/refman/5.0/en/old-client.html
* NETWORKING:
=============
For security reasons, the Debian package has enabled networking only on the
loop-back device using "bind-address" in /etc/mysql/my.cnf. Check with
"netstat -tlnp" where it is listening. If your connection is aborted
immediately see if "mysqld: all" or similar is in /etc/hosts.allow and read
hosts_access(5).
* WHERE IS THE DOCUMENTATION?:
==============================
Unfortunately due to licensing restrictions, debian currently not able
to provide the mysql-doc package in any format. For the most up to date
documentation, please go to http://dev.mysql.com/doc.
* PASSWORDS:
============
It is strongly recommended to set a password for the mysql root user (which
is NOT the same as the "normal" root user) with the command:
/usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'
If you already had a password set add " -p " before "-u" to the line above.
If you are tired to type the password in every time or want to automate your
scripts you can store it in the file $HOME/.my.cnf. It should be chmod 0600
(-rw------- username username .my.cnf) to ensure that nobody else can read
it. Every other configuration parameter can be stored there, too. You will
find an example below and more information in the MySQL manual in
/usr/share/doc/mysql-doc or www.mysql.com.
ATTENTION: It is necessary, that a .my.cnf from root always contains a "user"
line wherever there is a "password" line, else, the Debian maintenance
scripts, that use /etc/mysql/debian.cnf, will use the username
"debian-sys-maint" but the password that is in root's .my.cnf. Also note,
that every change you make in the /root/.my.cnf will affect the mysql cron
script, too.
# an example of $HOME/.my.cnf
[client]
user = your-mysql-username
password = enter-your-good-new-password-here
* BIG_ROWS FOR EVEN MORE ROWS IN A TABLE:
=========================================
If you ever run out of rows in a table there is the possibility of building
the package with "-DBIG_ROWS" which, according to a MySQL employee on
packagers@lists.mysql.com should lead to a 64bit row index (I guess > 2^32
rows) but also to an approx. 5% performance loss.
* NDB CLUSTER ENGINE:
=====================
NDB is the shared-nothing cluster engine since MySQL-4.1.
This package contains the all three components, the mysql backend, the NDB
Data Node and the NDB Management Node. The init scripts of the cluster
daemons will silently exit unless their configuration is provided:
mysql-ndb: needs "ndb-connectstring" in /etc/mysql/my.cnf
mysql-ndb-mgm: needs /etc/mysql/ndb_mgmd.cnf
* EXPIRE_LOGS_DAYS AND LOG_BIN:
===============================
Having expire_logs_days enabled but log-bin not crashes the server. Using both
or none of those options is safe. To prevent this happening during the nightly
log rotation via /etc/logrotate.d/mysql the initscript checks for malicious
combination of options. This is Debian bug #368547 and MySQL bug #17733.
#!/bin/bash -e
. /usr/share/debconf/confmodule
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
CNF=/etc/mysql/my.cnf
# Beware that there are two ypwhich one of them needs the 2>/dev/null!
if test -n "`which ypwhich 2>/dev/null`" && ypwhich >/dev/null 2>&1; then
db_input high mysql-server-@MYSQL_BASE_VERSION@/nis_warning || true
db_go
fi
# only ask this question on fresh installs and during "reconfiguration".
# there is also an additional check for empty root passwords in the
# postinst script when the tools are available for us to use.
if [ "$1" = "configure" ] && [ -z "$2" ] || [ "$1" = "reconfigure" ]; then
db_input medium mysql-server/root_password || true
db_go
fi
# If this is an upgrade of an already existing installation ask the user if
# we may use the backwards incompatible but more secure password format.
# This should not be shown at dpkg-reconfigure and except for the dist-upgrade,
# config files are for the admin only!
# Read: If mysql was already installed but not from Etch and it was either 4.0
# or had old_passwords enabled before then the system is affected.
if [ "$1" = "configure" ] &&
[ -f $CNF ] &&
(
[ ! -f /var/lib/mysql/debian-4.1.flag ] ||
egrep -q -i '^[[:space:]]*old.passwords[[:space:]]*=[[:space:]]*(1|true)' $CNF
)
then
db_input medium mysql-server-@MYSQL_BASE_VERSION@/need_sarge_compat || true
db_go
fi
etc/init.d
etc/logrotate.d
usr/bin
usr/lib
usr/lib/mysql
usr/sbin
usr/share/man/man8
usr/share/info
usr/share/mysql
usr/lib/pkgconfig
var/run/mysqld
var/lib/mysql-upgrade
var/lib/mysql-cluster
EXCEPTIONS-CLIENT
debian/copyright.more
usr/bin/my_print_defaults
usr/bin/myisam_ftdump
usr/bin/myisamchk
usr/bin/myisamlog
usr/bin/myisampack
usr/bin/mysql_convert_table_format
usr/bin/mysql_explain_log
usr/bin/mysql_fix_extensions
usr/bin/mysql_fix_privilege_tables
usr/bin/mysql_install_db
usr/bin/mysql_secure_installation
usr/bin/mysql_setpermission
usr/bin/mysql_tzinfo_to_sql
usr/bin/mysql_upgrade
usr/bin/mysql_zap
usr/bin/mysqlbug
usr/bin/mysqld_multi
usr/bin/mysqld_safe
usr/bin/mysqldumpslow
usr/bin/mysqlhotcopy
usr/bin/mysqltest
usr/bin/perror
usr/bin/replace
usr/bin/resolve_stack_dump
usr/bin/resolveip
usr/sbin/mysqld
usr/sbin/mysqlmanager
usr/lib/mysql/mysqld.sym
usr/share/lintian/overrides/mysql-server-@MYSQL_BASE_VERSION@
usr/share/info/mysql.info
usr/share/man/man1/mysqlman.1
usr/share/man/man1/my_print_defaults.1
usr/share/man/man1/myisam_ftdump.1
usr/share/man/man1/myisamchk.1
usr/share/man/man1/myisamlog.1
usr/share/man/man1/myisampack.1
usr/share/man/man1/mysql_explain_log.1
usr/share/man/man8/mysqld.8
usr/share/man/man1/mysqld_multi.1
usr/share/man/man1/mysqld_safe.1
usr/share/man/man1/mysql_fix_privilege_tables.1
usr/share/man/man1/mysql_install_db.1
usr/share/man/man1/mysqlhotcopy.1
usr/share/man/man8/mysqlmanager.8
usr/share/man/man1/mysql_upgrade.1
usr/share/man/man1/mysql_tzinfo_to_sql.1
usr/share/man/man1/mysql_zap.1
usr/share/man/man1/perror.1
usr/share/man/man1/replace.1
usr/share/man/man1/safe_mysqld.1
usr/bin/mysqld_safe usr/bin/safe_mysqld
mysql-server-@MYSQL_BASE_VERSION@: possible-bashism-in-maintainer-script postinst:81 'p{("a".."z","A".."Z",0..9)[int(rand(62))]}'
mysql-server-@MYSQL_BASE_VERSION@: possible-bashism-in-maintainer-script preinst:33 '${cmd/ */}'
mysql-server-@MYSQL_BASE_VERSION@: statically-linked-binary ./usr/bin/mysql_tzinfo_to_sql
mysql-server-@MYSQL_BASE_VERSION@: statically-linked-binary ./usr/sbin/mysqld
/etc/init.d/mysql\[[0-9]+\]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists\!$
/etc/init.d/mysql\[[0-9]+\]: '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
mysqld\[[0-9]+\]: $
mysqld\[[0-9]+\]: Support MySQL by buying support/licenses at http://shop.mysql.com$
mysqld\[[0-9]+\]: Version: .* socket: '/var/run/mysqld/mysqld.sock' port: 3306$
mysqld\[[0-9]+\]: Warning: Ignoring user change to 'mysql' because the user was set to 'mysql' earlier on the command line$
mysqld_safe\[[0-9]+\]: started$
mysqld_safe\[[0-9]+\]: Support MySQL by buying support/licenses at http://shop.mysql.com *$
usermod\[[0-9]+\]: change user `mysql' GID from `([0-9]+)' to `\1'$
usermod\[[0-9]+\]: change user `mysql' shell from `/bin/false' to `/bin/false'$
/etc/init.d/mysql\[[0-9]+\]: [0-9]+ processes alive and '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
/etc/init.d/mysql\[[0-9]+\]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists\!$
/etc/init.d/mysql\[[0-9]+\]: '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
mysqld\[[0-9]+\]: ?$
mysqld\[[0-9]+\]: .*InnoDB: Shutdown completed
mysqld\[[0-9]+\]: .*InnoDB: Started;
mysqld\[[0-9]+\]: .*InnoDB: Starting shutdown\.\.\.$
mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Normal shutdown$
mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: ready for connections\.$
mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Shutdown complete$
mysqld\[[0-9]+\]: Support MySQL by buying support/licenses at http://shop.mysql.com$
mysqld\[[0-9]+\]: /usr/sbin/mysqld: ready for connections\.$
mysqld\[[0-9]+\]: .*/usr/sbin/mysqld: Shutdown Complete$
mysqld\[[0-9]+\]: Version: .* socket
mysqld\[[0-9]+\]: Warning: Ignoring user change to 'mysql' because the user was set to 'mysql' earlier on the command line$
mysqld_safe\[[0-9]+\]: ?$
mysqld_safe\[[0-9]+\]: able to use the new GRANT command!$
mysqld_safe\[[0-9]+\]: ended$
mysqld_safe\[[0-9]+\]: http://www.mysql.com$
mysqld_safe\[[0-9]+\]: NOTE: If you are upgrading from a MySQL <= 3.22.10 you should run$
mysqld_safe\[[0-9]+\]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !$
mysqld_safe\[[0-9]+\]: Please report any problems with the /usr/bin/mysqlbug script!$
mysqld_safe\[[0-9]+\]: See the manual for more instructions.$
mysqld_safe\[[0-9]+\]: started$
mysqld_safe\[[0-9]+\]: Support MySQL by buying support/licenses at
mysqld_safe\[[0-9]+\]: The latest information about MySQL is available on the web at$
mysqld_safe\[[0-9]+\]: the /usr/bin/mysql_fix_privilege_tables. Otherwise you will not be$
mysqld_safe\[[0-9]+\]: To do so, start the server, then issue the following commands:$
mysqld_safe\[[0-9]+\]: /usr/bin/mysqladmin -u root password 'new-password'$
usermod\[[0-9]+\]: change user `mysql' GID from `([0-9]+)' to `\1'$
usermod\[[0-9]+\]: change user `mysql' shell from `/bin/false' to `/bin/false'$
/etc/init.d/mysql\[[0-9]+\]: [0-9]+ processes alive and '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
/etc/init.d/mysql\[[0-9]+\]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists\!$
/etc/init.d/mysql\[[0-9]+\]: '/usr/bin/mysqladmin --defaults-(extra-)?file=/etc/mysql/debian.cnf ping' resulted in$
mysqld\[[0-9]+\]: ?$
mysqld\[[0-9]+\]: .*InnoDB: Shutdown completed
mysqld\[[0-9]+\]: .*InnoDB: Started;
mysqld\[[0-9]+\]: .*InnoDB: Starting shutdown\.\.\.$
mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Normal shutdown$
mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: ready for connections\.$
mysqld\[[0-9]+\]: .*\[Note\] /usr/sbin/mysqld: Shutdown complete$
mysqld\[[0-9]+\]: Support MySQL by buying support/licenses at http://shop.mysql.com$
mysqld\[[0-9]+\]: /usr/sbin/mysqld: ready for connections\.$
mysqld\[[0-9]+\]: .*/usr/sbin/mysqld: Shutdown Complete$
mysqld\[[0-9]+\]: Version: .* socket
mysqld\[[0-9]+\]: Warning: Ignoring user change to 'mysql' because the user was set to 'mysql' earlier on the command line$
mysqld_safe\[[0-9]+\]: ?$
mysqld_safe\[[0-9]+\]: able to use the new GRANT command!$
mysqld_safe\[[0-9]+\]: ended$
mysqld_safe\[[0-9]+\]: http://www.mysql.com$
mysqld_safe\[[0-9]+\]: NOTE: If you are upgrading from a MySQL <= 3.22.10 you should run$
mysqld_safe\[[0-9]+\]: PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !$
mysqld_safe\[[0-9]+\]: Please report any problems with the /usr/bin/mysqlbug script!$
mysqld_safe\[[0-9]+\]: See the manual for more instructions.$
mysqld_safe\[[0-9]+\]: started$
mysqld_safe\[[0-9]+\]: Support MySQL by buying support/licenses at
mysqld_safe\[[0-9]+\]: The latest information about MySQL is available on the web at$
mysqld_safe\[[0-9]+\]: the /usr/bin/mysql_fix_privilege_tables. Otherwise you will not be$
mysqld_safe\[[0-9]+\]: To do so, start the server, then issue the following commands:$
mysqld_safe\[[0-9]+\]: /usr/bin/mysqladmin -u root password 'new-password'$
usermod\[[0-9]+\]: change user `mysql' GID from `([0-9]+)' to `\1'$
usermod\[[0-9]+\]: change user `mysql' shell from `/bin/false' to `/bin/false'$
# - I put everything in one block and added sharedscripts, so that mysql gets
# flush-logs'd only once.
# Else the binary logs would automatically increase by n times every day.
# - The error log is obsolete, messages go to syslog now.
/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log {
daily
rotate 7
missingok
create 640 mysql adm
compress
sharedscripts
postrotate
test -x /usr/bin/mysqladmin || exit 0
# If this fails, check debian.conf!
export HOME=/etc/mysql/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
# Really no mysqld or rather a missing debian-sys-maint user?
# If this occurs and is not a error please report a bug.
if ps cax | grep -q mysqld; then
exit 1
fi
else
$MYADMIN flush-logs
fi
endscript
}
This diff is collapsed.
#!/bin/bash -e
. /usr/share/debconf/confmodule
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
# Try to stop the server in a sane way. If it does not success let the admin
# do it himself. No database directories should be removed while the server
# is running!
stop_server() {
set +e
if [ -x /usr/sbin/invoke-rc.d ]; then
invoke-rc.d mysql stop
else
/etc/init.d/mysql stop
fi
errno=$?
set -e
if [ "$?" != 0 ]; then
echo "Trying to stop the MySQL server resulted in exitcode $?." 1>&2
echo "Stop it yourself and try again!" 1>&2
exit 1
fi
}
case "$1" in
purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
if [ -n "`$MYADMIN ping 2>/dev/null`" ]; then
stop_server
sleep 2
fi
;;
*)
echo "postrm called with unknown argument '$1'" 1>&2
exit 1
;;
esac
#
# - Do NOT purge logs or data if another mysql-sever* package is installed (#307473)
# - Remove the mysql user only after all his owned files are purged.
#
if [ "$1" = "purge" -a ! \( -x /usr/sbin/mysqld -o -L /usr/sbin/mysqld \) ]; then
# we remove the mysql user only after all his owned files are purged
rm -f /var/log/mysql.{log,err}{,.0,.[1234567].gz}
rm -rf /var/log/mysql
db_input high mysql-server-@MYSQL_BASE_VERSION@/postrm_remove_databases || true
db_go
db_get mysql-server-@MYSQL_BASE_VERSION@/postrm_remove_databases || true
if [ "$RET" = "true" ]; then
# never remove the debian.cnf when the databases are still existing
# else we ran into big trouble on the next install!
rm -f /etc/mysql/conf.d/old_passwords.cnf
rm -f /etc/mysql/debian.cnf
rm -rf /var/lib/mysql
rm -rf /var/run/mysqld
userdel mysql || true
fi
# (normally) Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
update-rc.d mysql remove >/dev/null || exit 0
fi
# (normally) End automatically added section
fi
# (normally) Automatically added by dh_installdebconf
if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
db_purge
fi
# (normally) End automatically added section
# (normally) Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
update-rc.d mysql-ndb-mgm remove >/dev/null || exit 0
fi
# (normally) End automatically added section
# (normally) Automatically added by dh_installinit
if [ "$1" = "purge" ] ; then
update-rc.d mysql-ndb remove >/dev/null || exit 0
fi
# (normally) End automatically added section
# no DEBHELPER here, "update-rc.d remove" fails if mysql-server-@MYSQL_BASE_VERSION@ is installed
exit 0
#!/bin/bash -e
#
# summary of how this script can be called:
# * <new-preinst> install
# * <new-preinst> install <old-version>
# * <new-preinst> upgrade <old-version>
# * <old-preinst> abort-upgrade <new-version>
#
. /usr/share/debconf/confmodule
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
DATADIR=/var/lib/mysql
LOGDIR=/var/log/mysql
UPGRADEDIR=/var/lib/mysql-upgrade
# Try to stop the server in a sane way. If it does not success let the admin
# do it himself. No database directories should be removed while the server
# is running! Another mysqld in e.g. a different chroot is fine for us.
stop_server() {
if [ ! -x /etc/init.d/mysql ]; then return; fi
set +e
if [ -x /usr/sbin/invoke-rc.d ]; then
cmd="invoke-rc.d mysql stop"
else
cmd="/etc/init.d/mysql stop"
fi
$cmd
errno=$?
set -e
# 0=ok, 100=no init script (fresh install)
if [ "$errno" != 0 -a "$errno" != 100 ]; then
echo "${cmd/ */} returned $errno" 1>&2
echo "There is a MySQL server running, but we failed in our attempts to stop it." 1>&2
echo "Stop it yourself and try again!" 1>&2
db_stop
exit 1
fi
}
################################ main() ##########################
this_version=@VER@
# Safe the user from stupidities.
show_downgrade_warning=0
for i in `ls $DATADIR/debian-*.flag 2>/dev/null`; do
found_version=`echo $i | sed 's/.*debian-\([0-9\.]\+\).flag/\1/'`
if dpkg --compare-versions "$this_version" '<<' "$found_version"; then
show_downgrade_warning=1
break;
fi
done
if [ "$show_downgrade_warning" = 1 ]; then
db_fset mysql-server-$this_version/really_downgrade seen false || true
db_input medium mysql-server-$this_version/really_downgrade || true
db_go
db_get mysql-server-$this_version/really_downgrade || true
if [ "$RET" = "true" ]; then
rm -f $DATADIR/debian-*.flag
touch $DATADIR/debian-$this_version.flag
else
echo "Aborting downgrade from (at least) $found_version to $this_version." 1>&2
db_stop
exit 1
fi
fi
# to be sure
stop_server
# If we use NIS then errors should be tolerated. It's up to the
# user to ensure that the mysql user is correctly setup.
# Beware that there are two ypwhich one of them needs the 2>/dev/null!
if test -n "`which ypwhich 2>/dev/null`" && ypwhich >/dev/null 2>&1; then
set +e
fi
#
# Now we have to ensure the following state:
# /etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false
# /etc/group: mysql:x:101:
#
# Sadly there could any state be present on the system so we have to
# modify everything carefully i.e. not doing a chown before creating
# the user etc...
#
# creating mysql group if he isn't already there
if ! getent group mysql >/dev/null; then
# Adding system group: mysql.
addgroup --system mysql >/dev/null
fi
# creating mysql user if he isn't already there
if ! getent passwd mysql >/dev/null; then
# Adding system user: mysql.
adduser \
--system \
--disabled-login \
--ingroup mysql \
--home $DATADIR \
--gecos "MySQL Server" \
--shell /bin/false \
mysql >/dev/null
fi
# end of NIS tolerance zone
set -e
# if there's a symlink, let's store where it's pointing, because otherwise
# it's going to be lost in some situations
for dir in DATADIR LOGDIR; do
checkdir=`eval echo "$"$dir`
if [ -L "$checkdir" ]; then
mkdir -p "$UPGRADEDIR"
cp -d "$checkdir" "$UPGRADEDIR/$dir.link"
fi
done
# creating mysql home directory
if [ ! -d $DATADIR -a ! -L $DATADIR ]; then
mkdir $DATADIR
fi
# checking disc space
if LC_ALL=C BLOCKSIZE= df --portability $DATADIR/. | tail -n 1 | awk '{ exit ($4>1000) }'; then
echo "ERROR: There's not enough space in $DATADIR/" 1>&2
db_stop
exit 1
fi
# Since the home directory was created before putting the user into
# the mysql group and moreover we cannot guarantee that the
# permissions were correctly *before* calling this script, we fix them now.
# In case we use NIS and no mysql user is present then this script should
# better fail now than later..
# The "set +e" is necessary as e.g. a ".journal" of a ext3 partition is
# not chgrp'able (#318435).
set +e
chown mysql:mysql $DATADIR
find $DATADIR -follow -not -group mysql -print0 2>/dev/null \
| xargs -0 --no-run-if-empty chgrp mysql
set -e
# Some files below /etc/ were possibly in the mysql-server-4.1/sarge package
# before. They get overwritten by current ones to avoid unnecessary dpkg questions.
while read md5 file; do
if [ "`md5sum $file 2>/dev/null`" = "$md5 $file" ]; then
cp /usr/share/mysql-common/internal-use-only/`echo $file | sed 's/_g'` $file
fi
done <<EOT
6691f2fdc5c6d27ff0260eb79813e1bc /etc/init.d/mysql
b53b9552d44661361d39157c3c7c51d3 /etc/logrotate.d/mysql-server
EOT
db_stop
#DEBHELPER#
exit 0
#!/bin/bash -e
. /usr/share/debconf/confmodule
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
#DEBHELPER#
Template: mysql-server-@MYSQL_BASE_VERSION@/really_downgrade
Type: boolean
Default: false
_Description: Do you really want to downgrade?
WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates that a
mysql-server package with a higher version has been installed before.
It can not be guaranteed that this version can use its data.
Template: mysql-server-@MYSQL_BASE_VERSION@/nis_warning
Type: note
_Description: Important note for NIS/YP users!
To use mysql you must install an equivalent user and group to the
following and ensure yourself that /var/lib/mysql has the right
permissions (the uid/gid may be different).
.
/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false
.
/etc/group: mysql:x:101:
.
/var/lib/mysql: drwxr-xr-x mysql mysql
Template: mysql-server-@MYSQL_BASE_VERSION@/postrm_remove_databases
Type: boolean
Default: false
_Description: Remove the databases used by all MySQL versions?
The script is about to remove the data directory /var/lib/mysql.
If it is planned to just install a higher MySQL version or if a different
mysql-server package is already using it, the data should be kept.
Template: mysql-server-@MYSQL_BASE_VERSION@/start_on_boot
Type: boolean
Default: true
_Description: Should MySQL start on boot?
The MySQL can start automatically on boot time or only if you manually
type '/etc/init.d/mysql start'.
Template: mysql-server/root_password
Type: password
_Description: New password for MySQL "root" user:
It is highly recommended that you set a password for the MySQL administrative
"root" user.
.
If you do not provide a password no changes will be made to the account.
Template: mysql-server/error_setting_password
Type: error
_Description: Unable to set password for MySQL "root" user
It seems an error occurred while setting the password for the MySQL
administrative user. This may have happened because the user already
has a password, or because there was a problem communicating with the
MySQL server.
.
When installation finishes, you should verify that the account
is properly protected with a password (see README.Debian for more
information).
Template: mysql-server-@MYSQL_BASE_VERSION@/need_sarge_compat
Type: boolean
Default: false
_Description: Support MySQL connections from hosts running Debian "sarge" or older?
The way passwords were stored was not very secure. This has been improved
with the drawback that clients (e.g. PHP) from hosts running Debian 3.1 Sarge
will not be able to connect to account which are new or whose password have
been changed. See /usr/share/doc/mysql-server-@MYSQL_BASE_VERSION@/README.Debian.
Template: mysql-server-@MYSQL_BASE_VERSION@/need_sarge_compat_done
Type: boolean
Default: false
Description: for internal use
Only internally used.
#!/bin/bash -e
#
# summary of how this script can be called:
# * <new-preinst> install
# * <new-preinst> install <old-version>
# * <new-preinst> upgrade <old-version>
# * <old-preinst> abort-upgrade <new-version>
#
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin
# Try to stop the server in a sane way. If it does not success let the admin
# do it himself. No database directories should be removed while the server
# is running! Another mysqld in e.g. a different chroot is fine for us.
stop_server() {
if [ ! -x /etc/init.d/mysql ]; then return; fi
set +e
if [ -x /usr/sbin/invoke-rc.d ]; then
cmd="invoke-rc.d mysql stop"
else
cmd="/etc/init.d/mysql stop"
fi
$cmd
errno=$?
set -e
# 0=ok, 100=no init script (fresh install)
if [ "$errno" != 0 -a "$errno" != 100 ]; then
echo "${cmd/ */} returned $errno" 1>&2
echo "There is a MySQL server running, but we failed in our attempts to stop it." 1>&2
echo "Stop it yourself and try again!" 1>&2
exit 1
fi
}
##### here's a bunch of helper functions for converting database formats ######
cvt_get_param(){
/usr/sbin/mysqld --print-defaults \
| tr " " "\n" \
| grep -- "--$1" \
| tail -n 1 \
| cut -d= -f2
}
cvt_setup_stuff(){
mytmp=`mktemp -d -t mysql-ISAM-convert.XXXXXX`
cvt_log="$mytmp/conversion.log"
if [ ! -d "$mytmp" ]; then
echo "can't create temporary directory, oh well." >&2
exit 1
fi
chgrp mysql $mytmp
chmod g+rwx $mytmp
cvt_socket=${mytmp}/mysql.sock
cvt_mysqld="mysqld --skip-grant-tables --skip-networking --socket $cvt_socket"
cvt_mysql="mysql --socket $cvt_socket"
cvt_mysqladmin="mysqladmin --socket $cvt_socket"
}
cvt_get_databases(){
echo fetching database list ... >&2
$cvt_mysql -e 'show databases' | sed -n -e '2,$p'
}
cvt_get_tables(){
echo querying tables in $1 ... >&2
$cvt_mysql $1 -e 'show table status' | sed -n -e '2,$p' | \
cut -f 1,2 | grep -w 'ISAM$' | cut -f 1
}
cvt_convert_table(){
echo converting $1.$2 ... >&2
$cvt_mysql $1 -e "alter table $2 type=MyISAM"
}
cvt_wait_for_server(){
local count
echo -n waiting for server startup.. >&2
while ! $cvt_mysql </dev/null >/dev/null 2>&1; do
echo -n . >&2
sleep 1
count=".$count"
if [ -f $mytmp/mysql.done ]; then
echo "sorry... looks like the server crashed :(" >&2
return 1
elif [ "$count" = "...................." ]; then
echo "sorry... looks like the server didn't start :(" >&2
return 1
fi
done
echo ok. >&2
}
cvt_wait_for_exit(){
local count
echo -n waiting for server shutdown.. >&2
while [ ! -f $mytmp/mysql.done ]; do
echo -n . >&2
sleep 1
count=".$count"
if [ "$count" = "...................." ]; then
echo "hrm... guess it never started?" >&2
return 0
fi
done
echo ok. >&2
}
cvt_cleanup(){
local mysql_kids
rm -rf $mytmp
# kill any mysqld child processes left over. there *shouldn't* be any,
# but let's not take chances with that
mysql_kids=`ps o 'pid command' --ppid $$ | grep -E '^[[:digit:]]+ mysqld ' | cut -d' ' -f1`
if [ "$mysql_kids" ]; then
echo "strange, some mysql processes left around. killing them now." >&2
kill $mysql_kids
sleep 10
mysql_kids=`ps o 'pid command' --ppid $$ | grep -E '^[[:digit:]]+ mysqld ' | cut -d' ' -f1`
if [ "$mysql_kids" ]; then
echo "okay, they're really not getting the hint..." >&2
kill -9 $mysql_kids
fi
fi
}
################################ main() ##########################
# to be sure
stop_server
# test if upgrading from non conffile state
if [ "$1" = "upgrade" ] && [ -x /usr/sbin/mysqld ]; then
cvt_datadir=`cvt_get_param datadir`
# test for ISAM tables, which we must convert NOW
if [ -n "`find $cvt_datadir -name '*.ISM' 2>/dev/null`" ]; then
set +e
cat << EOF >&2
----------------------------------------
WARNING WARNING WARNING
----------------------------------------
It has been detected that are are using ISAM format on some of your
mysql database tables. This format has been deprecated and no longer
supported. to prevent these databases from essentially disappearing,
an attempt at format conversion will now be made. please check after
your upgrade that all tables are present and accounted for.
apologies for the noise, but we thought you'd appreciate it :)
----------------------------------------
WARNING WARNING WARNING
----------------------------------------
EOF
cvt_setup_stuff
($cvt_mysqld >$cvt_log 2>&1; touch $mytmp/mysql.done ) &
if cvt_wait_for_server; then
dbs=`cvt_get_databases`
for db in $dbs; do
tables=`cvt_get_tables $db`
for tbl in $tables; do
cvt_convert_table $db $tbl
done
done
else
cvt_error="yes"
fi
echo shutting down server... >&2
$cvt_mysqladmin shutdown
cvt_wait_for_exit
echo "all done!" >&2
if [ ! "$cvt_error" = "yes" ]; then
cvt_cleanup
else
echo "you might want to look in $mytmp..." >&2
fi
set -e
fi
fi
exit 0
#!/bin/bash -e
#
# summary of how this script can be called:
# * <new-preinst> install
# * <new-preinst> install <old-version>
# * <new-preinst> upgrade <old-version>
# * <old-preinst> abort-upgrade <new-version>
#
if [ -n "$DEBIAN_SCRIPT_DEBUG" ]; then set -v -x; DEBIAN_SCRIPT_TRACE=1; fi
${DEBIAN_SCRIPT_TRACE:+ echo "#42#DEBUG# RUNNING $0 $*" 1>&2 }
export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin
# Try to stop the server in a sane way. If it does not success let the admin
# do it himself. No database directories should be removed while the server
# is running! Another mysqld in e.g. a different chroot is fine for us.
stop_server() {
if [ ! -x /etc/init.d/mysql ]; then return; fi
set +e
if [ -x /usr/sbin/invoke-rc.d ]; then
cmd="invoke-rc.d mysql stop"
else
cmd="/etc/init.d/mysql stop"
fi
$cmd
errno=$?
set -e
# 0=ok, 100=no init script (fresh install)
if [ "$errno" != 0 -a "$errno" != 100 ]; then
echo "${cmd/ */} returned $errno" 1>&2
echo "There is a MySQL server running, but we failed in our attempts to stop it." 1>&2
echo "Stop it yourself and try again!" 1>&2
exit 1
fi
}
##### here's a bunch of helper functions for converting database formats ######
cvt_get_param(){
/usr/sbin/mysqld --print-defaults \
| tr " " "\n" \
| grep -- "--$1" \
| tail -n 1 \
| cut -d= -f2
}
cvt_setup_stuff(){
mytmp=`mktemp -d -t mysql-ISAM-convert.XXXXXX`
cvt_log="$mytmp/conversion.log"
if [ ! -d "$mytmp" ]; then
echo "can't create temporary directory, oh well." >&2
exit 1
fi
chgrp mysql $mytmp
chmod g+rwx $mytmp
cvt_socket=${mytmp}/mysql.sock
cvt_mysqld="mysqld --skip-grant-tables --skip-networking --socket $cvt_socket"
cvt_mysql="mysql --socket $cvt_socket"
cvt_mysqladmin="mysqladmin --socket $cvt_socket"
}
cvt_get_databases(){
echo fetching database list ... >&2
$cvt_mysql -e 'show databases' | sed -n -e '2,$p'
}
cvt_get_tables(){
echo querying tables in $1 ... >&2
$cvt_mysql $1 -e 'show table status' | sed -n -e '2,$p' | \
cut -f 1,2 | grep -w 'ISAM$' | cut -f 1
}
cvt_convert_table(){
echo converting $1.$2 ... >&2
$cvt_mysql $1 -e "alter table $2 type=MyISAM"
}
cvt_wait_for_server(){
local count
echo -n waiting for server startup.. >&2
while ! $cvt_mysql </dev/null >/dev/null 2>&1; do
echo -n . >&2
sleep 1
count=".$count"
if [ -f $mytmp/mysql.done ]; then
echo "sorry... looks like the server crashed :(" >&2
return 1
elif [ "$count" = "...................." ]; then
echo "sorry... looks like the server didn't start :(" >&2
return 1
fi
done
echo ok. >&2
}
cvt_wait_for_exit(){
local count
echo -n waiting for server shutdown.. >&2
while [ ! -f $mytmp/mysql.done ]; do
echo -n . >&2
sleep 1
count=".$count"
if [ "$count" = "...................." ]; then
echo "hrm... guess it never started?" >&2
return 0
fi
done
echo ok. >&2
}
cvt_cleanup(){
local mysql_kids
rm -rf $mytmp
# kill any mysqld child processes left over. there *shouldn't* be any,
# but let's not take chances with that
mysql_kids=`ps o 'pid command' --ppid $$ | grep -E '^[[:digit:]]+ mysqld ' | cut -d' ' -f1`
if [ "$mysql_kids" ]; then
echo "strange, some mysql processes left around. killing them now." >&2
kill $mysql_kids
sleep 10
mysql_kids=`ps o 'pid command' --ppid $$ | grep -E '^[[:digit:]]+ mysqld ' | cut -d' ' -f1`
if [ "$mysql_kids" ]; then
echo "okay, they're really not getting the hint..." >&2
kill -9 $mysql_kids
fi
fi
}
################################ main() ##########################
# to be sure
stop_server
# test if upgrading from non conffile state
if [ "$1" = "upgrade" ] && [ -x /usr/sbin/mysqld ]; then
cvt_datadir=`cvt_get_param datadir`
# test for ISAM tables, which we must convert NOW
if [ -n "`find $cvt_datadir -name '*.ISM' 2>/dev/null`" ]; then
set +e
cat << EOF >&2
----------------------------------------
WARNING WARNING WARNING
----------------------------------------
It has been detected that are are using ISAM format on some of your
mysql database tables. This format has been deprecated and no longer
supported. to prevent these databases from essentially disappearing,
an attempt at format conversion will now be made. please check after
your upgrade that all tables are present and accounted for.
apologies for the noise, but we thought you'd appreciate it :)
----------------------------------------
WARNING WARNING WARNING
----------------------------------------
EOF
cvt_setup_stuff
($cvt_mysqld >$cvt_log 2>&1; touch $mytmp/mysql.done ) &
if cvt_wait_for_server; then
dbs=`cvt_get_databases`
for db in $dbs; do
tables=`cvt_get_tables $db`
for tbl in $tables; do
cvt_convert_table $db $tbl
done
done
else
cvt_error="yes"
fi
echo shutting down server... >&2
$cvt_mysqladmin shutdown
cvt_wait_for_exit
echo "all done!" >&2
if [ ! "$cvt_error" = "yes" ]; then
cvt_cleanup
else
echo "you might want to look in $mytmp..." >&2
fi
set -e
fi
fi
exit 0
#!/bin/bash
#
### BEGIN INIT INFO
# Provides: mysql-ndb
# Required-Start: $syslog mysql mysql-ndb-mgm
# Required-Stop: $syslog mysql mysql-ndb-mgm
# Should-Start: $local_fs $remote_fs $network $named $time
# Should-Stop: $local_fs $remote_fs $network $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start and stop the mysql database cluster server daemon
# Description: Controls the MySQL NDB Data Node daemon "ndbd".
### END INIT INFO
#
set -e
set -u
${DEBIAN_SCRIPT_DEBUG:+ set -v -x}
# Variables
SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
DAEMON=/usr/sbin/ndbd
CONF=/etc/mysql/my.cnf
export HOME=/etc/mysql/
# Safeguard (relative paths, core dumps..)
cd /
umask 077
# Exit *silently* if we're not supposed to be started.
#
# The Debian scripts should execute these scripts to stop and start
# the daemon when upgrading if it is started. On the other hand it should
# remain silently if the server has not even been configured.
# See /usr/share/doc/mysql-server-*/README.Debian for more information.
test -x $DAEMON || exit 0
if $DAEMON --help | grep -q '^ndb-connectstring.*No default value'; then exit 0; fi
. /lib/lsb/init-functions
#
# main()
#
case "${1:-''}" in
'start')
# Start daemon
# Creatign a PID file does not work as the master process forks
# a child with different PID and then terminates itself.
log_daemon_msg "Starting MySQL NDB Data Node" "ndbd"
if start-stop-daemon \
--start \
--exec $DAEMON \
--user mysql
then
log_end_msg 0
else
log_end_msg 1
log_warning_msg "Please take a look at the syslog."
exit 1
fi
;;
'stop')
log_daemon_msg "Stopping MySQL NDB Data Node" "ndbd"
if start-stop-daemon \
--stop \
--oknodo \
--exec $DAEMON
then
log_end_msg 0
else
log_end_msg 1
exit 1
fi
;;
'restart'|'force-reload')
set +e; $SELF stop; set -e
$SELF start
;;
*)
echo "Usage: $SELF start|stop|restart|force-reload"
exit 1
;;
esac
usr/bin
usr/share/mysql/mysql-test
usr/share/mysql-test/*
usr/bin/mysql_client_test
usr/bin/mysqltestmanager
usr/bin/mysqltestmanager-pwgen
usr/bin/mysqltestmanagerc
usr/bin
usr/share/mysql
usr/bin/ndb_mgm
usr/bin/ndb_restore
usr/bin/ndb_waiter
usr/bin/ndb_select_all
usr/bin/ndb_select_count
usr/bin/ndb_desc
usr/bin/ndb_show_tables
usr/bin/ndb_test_platform
usr/bin/ndb_config
usr/bin/ndb_error_reporter
usr/bin/ndb_size
[type: gettext/rfc822deb] mysql-server-@MYSQL_BASE_VERSION@.templates
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
# translation of mysql-dfsg-5.0_5.0.32-6_de.po to german
#
# Translators, if you are not familiar with the PO format, gettext
# documentation is worth reading, especially sections dedicated to
# this format, e.g. by running:
# info -n '(gettext)PO Files'
# info -n '(gettext)Header Entry'
# Some information specific to po-debconf are available at
# /usr/share/doc/po-debconf/README-trans
# or http://www.debian.org/intl/l10n/po-debconf/README-trans#
# Developers do not need to manually edit POT or PO files.
#
# Alwin Meschede <ameschede@gmx.de>, 2006, 2007.
msgid ""
msgstr ""
"Project-Id-Version: mysql-dfsg-5.0_5.0.32-6_de\n"
"Report-Msgid-Bugs-To: ch@debian.org\n"
"POT-Creation-Date: 2007-02-16 22:27+0100\n"
"PO-Revision-Date: 2007-02-19 12:23+0100\n"
"Last-Translator: Alwin Meschede <ameschede@gmx.de>\n"
"Language-Team: german <debian-l10n-german@lists.debian.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:1001
msgid "Do you really want to downgrade?"
msgstr "Möchten Sie wirklich eine ältere Version einspielen?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:1001
msgid ""
"WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates that a "
"mysql-server package with a higher version has been installed before. It can "
"not be guaranteed that this version can use its data."
msgstr ""
"WARNUNG: Die Datei /var/lib/mysql/debian-*.flag existiert. Dies zeigt an, "
"dass früher ein MySQL-Server-Paket mit einer höheren Version installiert "
"worden war. Es kann nicht garantiert werden, dass diese Version dessen Daten "
"benutzen kann."
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "Important note for NIS/YP users!"
msgstr "Wichtige Anmerkung für NIS/YP-Benutzer!"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid ""
"To use mysql you must install an equivalent user and group to the following "
"and ensure yourself that /var/lib/mysql has the right permissions (the uid/"
"gid may be different)."
msgstr ""
"Um MySQL benutzen zu können, müssen Sie einen zum folgenden Eintrag "
"äquivalenten Benutzer und Gruppe einrichten, und sich vergewissern, dass /"
"var/lib/mysql die richtigen Rechte hat (die UID/GID dürfen sich "
"unterscheiden)."
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
msgstr "/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "/etc/group: mysql:x:101:"
msgstr "/etc/group: mysql:x:101:"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "/var/lib/mysql: drwxr-xr-x mysql mysql"
msgstr "/var/lib/mysql: drwxr-xr-x mysql mysql"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:3001
msgid "Remove the databases used by all MySQL versions?"
msgstr "Die von allen MySQL-Versionen benutzten Datenbanken entfernen?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:3001
msgid ""
"The script is about to remove the data directory /var/lib/mysql. If it is "
"planned to just install a higher MySQL version or if a different mysql-"
"server package is already using it, the data should be kept."
msgstr ""
"Dieses Skript wird das Daten-Verzeichnis /var/lib/mysql entfernen. Falls "
"geplant ist, nur eine höhere Version von MySQL zu installieren oder ein "
"anderes mysql-server-Paket dieses bereits benutzt, sollten die Daten "
"behalten werden."
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:4001
msgid "Should MySQL start on boot?"
msgstr "Soll MySQL automatisch beim Booten starten?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:4001
msgid ""
"The MySQL can start automatically on boot time or only if you manually type "
"'/etc/init.d/mysql start'."
msgstr ""
"Der MySQL-Dienst kann entweder beim Systemstart oder nur nach der Eingabe "
"von /etc/init.d/mysql start gestartet werden."
#. Type: password
#. Description
#: ../mysql-server-5.0.templates:5001
msgid "New password for MySQL \"root\" user:"
msgstr "Neues Passwort für den MySQL »root«-Benutzer:"
#. Type: password
#. Description
#: ../mysql-server-5.0.templates:5001
msgid ""
"It is highly recommended that you set a password for the MySQL "
"administrative \"root\" user."
msgstr ""
"Es wird nachdrücklich empfohlen für den administrativen MySQL »root«-Benutzer "
"ein Passwort zu setzen."
#. Type: password
#. Description
#: ../mysql-server-5.0.templates:5001
msgid "If you do not provide a password no changes will be made to the account."
msgstr ""
"Falls Sie kein Passwort angeben, werden keine Änderungen am Konto "
"vorgenommen."
#. Type: error
#. Description
#: ../mysql-server-5.0.templates:6001
msgid "Unable to set password for MySQL \"root\" user"
msgstr "Konnte für den MySQL-»root«-Benutzer kein Passwort setzen"
#. Type: error
#. Description
#: ../mysql-server-5.0.templates:6001
msgid ""
"It seems an error occurred while setting the password for the MySQL "
"administrative user. This may have happened because the user already has a "
"password, or because there was a problem communicating with the MySQL server."
msgstr ""
"Es scheint, dass beim Passwort setzen für den administrativen MySQL-Benutzer "
"ein Fehler aufgetreten ist. Dies könnte daran liegen, dass der Benutzer "
"bereits ein Passwort hat oder dass es ein Problem mit der Kommunikation mit "
"dem MySQL-Server gibt."
#. Type: error
#. Description
#: ../mysql-server-5.0.templates:6001
msgid ""
"When installation finishes, you should verify that the account is properly "
"protected with a password (see README.Debian for more information)."
msgstr ""
"Nach Ende der Installation sollten Sie überprüfen, ob das Konto angemessen "
"mit einem Passwort geschützt ist (lesen Sie README.Debian für weitere "
"Informationen)."
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:7001
msgid "Support MySQL connections from hosts running Debian \"sarge\" or older?"
msgstr ""
"Sollen MySQL-Verbindungen von Rechnern mit Debian »Sarge« oder älter "
"unterstützt werden?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:7001
msgid ""
"The way passwords were stored was not very secure. This has been improved "
"with the drawback that clients (e.g. PHP) from hosts running Debian 3.1 "
"Sarge will not be able to connect to account which are new or whose password "
"have been changed. See /usr/share/doc/mysql-server-5.0/README.Debian."
msgstr ""
"Die Art, wie Passwörter bislang gespeichert wurden, war nicht sehr sicher. "
"Dies wurde verbessert, allerdings werden Clients (z. B. PHP) von Hosts mit "
"Debian 3.1 Sarge sich nicht mehr mit MySQL-Konten verbinden können, die neu "
"angelegt werden oder deren Passwort geändert wird. Siehe auch /usr/share/doc/"
"mysql-server-5.0/README.Debian."
This diff is collapsed.
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Piarres BEobide <pi@beobide.net>, 2006.
msgid ""
msgstr ""
"Project-Id-Version: mysql-dfsg-5.0_5.0.26-3-debconf_eu\n"
"Report-Msgid-Bugs-To: ch@debian.org\n"
"POT-Creation-Date: 2007-02-16 22:27+0100\n"
"PO-Revision-Date: 2007-02-19 09:33+0100\n"
"Last-Translator: Piarres Beobide <pi@beobide.net>\n"
"Language-Team: Euskara <Librezale@librezale.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 0.10.1\n"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:1001
msgid "Do you really want to downgrade?"
msgstr "Benetan bertsio zaharragora itzuli nahi duzu?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:1001
msgid ""
"WARNING: The file /var/lib/mysql/debian-*.flag exists. This indicates that a "
"mysql-server package with a higher version has been installed before. It can "
"not be guaranteed that this version can use its data."
msgstr "Oharra: /var/lib/mysql/debian-*.flag dago.. Honek aurretik bertsio berriagoko mysql-zerbitzari bat instalatu dela adierazten du. Ezin da ziurtatu bertsio honek datu horiek erabili ahal izango dituenik."
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "Important note for NIS/YP users!"
msgstr "NIS/YP erabiltzaileentzat ohar garrantzitsua!"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid ""
"To use mysql you must install an equivalent user and group to the following "
"and ensure yourself that /var/lib/mysql has the right permissions (the uid/"
"gid may be different)."
msgstr ""
"Mysql erabili ahal izateko beharrezko erabiltzaile eta taldea sortu eta /var/"
"lib/mysql-ek beharrezko baimenak dituela ziurtatu behar duzu (uid/gid-a "
"ezberdina izan daiteke)"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid ""
"/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
msgstr ""
"/etc/passwd: mysql:x:100:101:MySQL Server:/var/lib/mysql:/bin/false"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "/etc/group: mysql:x:101:"
msgstr "/etc/group: mysql:x:101:"
#. Type: note
#. Description
#: ../mysql-server-5.0.templates:2001
msgid "/var/lib/mysql: drwxr-xr-x mysql mysql"
msgstr "/var/lib/mysql: drwxr-xr-x mysql mysql"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:3001
msgid "Remove the databases used by all MySQL versions?"
msgstr "MySQL bertsio guztiek erabilitako databaseak ezabatu?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:3001
msgid ""
"The script is about to remove the data directory /var/lib/mysql. If it is "
"planned to just install a higher MySQL version or if a different mysql-"
"server package is already using it, the data should be kept."
msgstr "Script-a /var/lib/mysql data direktorioa ezabatzera doa. MySQL bertsio berriago bat instalatu behar bada edo beste mysql-server pakete bat berau erabiltzen ari bada, datuak mantendu egingo dira."
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:4001
msgid "Should MySQL start on boot?"
msgstr "Sistema abiaraztean MySQL abiarazi behar al da?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:4001
msgid ""
"The MySQL can start automatically on boot time or only if you manually type "
"'/etc/init.d/mysql start'."
msgstr "MySQL abiaraztean automatikoki abiarazi daiteke edo eskuz /etc/init.d/mysql start' eginaz."
#. Type: password
#. Description
#: ../mysql-server-5.0.templates:5001
msgid "New password for MySQL \"root\" user:"
msgstr "MySQL \"root\" erabiltzailearen pasahitz berria:"
#. Type: password
#. Description
#: ../mysql-server-5.0.templates:5001
msgid ""
"It is highly recommended that you set a password for the MySQL "
"administrative \"root\" user."
msgstr ""
"Oso gomendagarria da MySQL administratzaile \"root\" erabiltzaileari "
"pasahitz bat ezartzea."
#. Type: password
#. Description
#: ../mysql-server-5.0.templates:5001
msgid ""
"If you do not provide a password no changes will be made to the account."
msgstr "Ez baduzu pasahitzik ezartzen ez da aldaketarik egingo kontuan."
#. Type: error
#. Description
#: ../mysql-server-5.0.templates:6001
msgid "Unable to set password for MySQL \"root\" user"
msgstr "Ezinda MySQL \"root\" erabiltzailearen pasahitza ezarri"
#. Type: error
#. Description
#: ../mysql-server-5.0.templates:6001
msgid ""
"It seems an error occurred while setting the password for the MySQL "
"administrative user. This may have happened because the user already has a "
"password, or because there was a problem communicating with the MySQL server."
msgstr "Dirudienez errore bat gertatu da MySQL administratzaile kontuaren pasahitza ezartzean. Hau erabiltzaileak dagoeneko pasahitz bat duelako edo MySQL zerbitzariarekiko konexioan erroreak daudelako gertatu daiteke."
#. Type: error
#. Description
#: ../mysql-server-5.0.templates:6001
msgid ""
"When installation finishes, you should verify that the account is properly "
"protected with a password (see README.Debian for more information)."
msgstr ""
"Instalazio amaitzean, kontua pasahitzez babesturik dagoela ziurtatu beharko "
"zenuke (README.Debian irakurri xehetasun gehiagotarako)"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:7001
msgid "Support MySQL connections from hosts running Debian \"sarge\" or older?"
msgstr "Debian \"sarge\" edo zaharragoak erabiltzen duten ostalarietatik MySQL konexioak onartu?"
#. Type: boolean
#. Description
#: ../mysql-server-5.0.templates:7001
msgid ""
"The way passwords were stored was not very secure. This has been improved "
"with the drawback that clients (e.g. PHP) from hosts running Debian 3.1 "
"Sarge will not be able to connect to account which are new or whose password "
"have been changed. See /usr/share/doc/mysql-server-5.0/README.Debian."
msgstr "Pasahitzak biltegiratzeko modua ez da oso ziurra. Hau hobetua izan da baina Debian 3.1 Sarge erabiltzaileak ezingo dira kontu berri edo pasahitza aldatu duten kontuetara konektatu. Begiratu /usr/share/doc/mysql-server-5.0/README.Debian argibide gehiagorako."
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
maintainer-script-lacks-debhelper-token debian/mysql-server-@MYSQL_BASE_VERSION@.postinst
maintainer-script-lacks-debhelper-token debian/mysql-server-@MYSQL_BASE_VERSION@.postrm
outdated-autotools-helper-file bdb/dist/config.sub 2002-07-03
outdated-autotools-helper-file bdb/dist/config.guess 2002-07-23
bad-distribution-in-changes-file sarge
bad-distribution-in-changes-file etch
version=3
opts="uversionmangle=s/-(rc|beta)/$1/" \
ftp://ftp.mysql.com/pub/mysql/src/mysql-([\d\.]*(?:-beta|-rc)?).tar.gz debian
......@@ -192,27 +192,32 @@ bool HaveCpuId()
}
return true;
#else
typedef void (*SigHandler)(int);
SigHandler oldHandler = signal(SIGILL, SigIllHandler);
if (oldHandler == SIG_ERR)
return false;
bool result = true;
if (setjmp(s_env))
result = false;
else
word32 eax, ebx;
__asm__ __volatile
(
// save ebx in case -fPIC is being used
"push %%ebx; mov $0, %%eax; cpuid; pop %%ebx"
:
/* Put EFLAGS in eax and ebx */
"pushf;"
"pushf;"
"pop %0;"
"movl %0,%1;"
/* Flip the cpuid bit and store back in EFLAGS */
"xorl $0x200000,%0;"
"push %0;"
"popf;"
/* Read EFLAGS again */
"pushf;"
"pop %0;"
"popf"
: "=r" (eax), "=r" (ebx)
:
: "%eax", "%ecx", "%edx"
: "cc"
);
signal(SIGILL, oldHandler);
return result;
if (eax == ebx)
return false;
return true;
#endif
}
......
......@@ -295,6 +295,18 @@ sub mtr_report_stats ($) {
}
}
}
if ( $::opt_check_testcases )
{
# Look for warnings produced by mysqltest in testname.warnings
foreach my $test_warning_file
( glob("$::glob_mysql_test_dir/r/*.warnings") )
{
$found_problems= 1;
print WARN "Check myqltest warnings in $test_warning_file\n";
}
}
if ( $found_problems )
{
mtr_warning("Got errors/warnings while running tests, please examine",
......
......@@ -570,6 +570,7 @@ sub command_line_setup () {
'manual-debug' => \$opt_manual_debug,
'ddd' => \$opt_ddd,
'client-ddd' => \$opt_client_ddd,
'manual-ddd' => \$opt_manual_ddd,
'debugger=s' => \$opt_debugger,
'client-debugger=s' => \$opt_client_debugger,
'strace-client' => \$opt_strace_client,
......@@ -724,8 +725,6 @@ sub command_line_setup () {
{
$mysqld_variables{'port'}= 3306;
$mysqld_variables{'master-port'}= 3306;
$opt_skip_ndbcluster= 1;
$opt_skip_im= 1;
}
if ( $opt_comment )
......@@ -1072,7 +1071,7 @@ sub command_line_setup () {
# On some operating systems, there is a limit to the length of a
# UNIX domain socket's path far below PATH_MAX, so try to avoid long
# socket path names.
$sockdir = tempdir(CLEANUP => 0) if ( length($sockdir) > 80 );
$sockdir = tempdir(CLEANUP => 0) if ( length($sockdir) >= 80 );
$master->[0]=
{
......@@ -1235,6 +1234,7 @@ sub command_line_setup () {
{
# Turn off features not supported when running with extern server
$opt_skip_rpl= 1;
$opt_skip_ndbcluster= 1;
# Setup master->[0] with the settings for the extern server
$master->[0]->{'path_sock'}= $opt_socket ? $opt_socket : "/tmp/mysql.sock";
......@@ -2011,10 +2011,7 @@ sub environment_setup () {
$ENV{'MYSQL_FIX_SYSTEM_TABLES'}= $cmdline_mysql_fix_system_tables;
}
if (!$opt_extern)
{
$ENV{'MYSQL_FIX_PRIVILEGE_TABLES'}= $file_mysql_fix_privilege_tables;
}
$ENV{'MYSQL_FIX_PRIVILEGE_TABLES'}= $file_mysql_fix_privilege_tables;
# ----------------------------------------------------
# Setup env so childs can execute my_print_defaults
......@@ -4830,8 +4827,7 @@ sub gdb_arguments {
if ( $opt_manual_gdb )
{
print "\nTo start gdb for $type, type in another window:\n";
print "cd $glob_mysql_test_dir;\n";
print "gdb -x $gdb_init_file $$exe\n";
print "gdb -cd $glob_mysql_test_dir -x $gdb_init_file $$exe\n";
# Indicate the exe should not be started
$$exe= undef;
......@@ -4895,8 +4891,7 @@ sub ddd_arguments {
if ( $opt_manual_ddd )
{
print "\nTo start ddd for $type, type in another window:\n";
print "cd $glob_mysql_test_dir;\n";
print "ddd -x $gdb_init_file $$exe\n";
print "ddd -cd $glob_mysql_test_dir -x $gdb_init_file $$exe\n";
# Indicate the exe should not be started
$$exe= undef;
......@@ -5115,6 +5110,8 @@ Options for debugging the product
running test(s)
manual-gdb Let user manually start mysqld in gdb, before running
test(s)
manual-ddd Let user manually start mysqld in ddd, before running
test(s)
master-binary=PATH Specify the master "mysqld" to use
slave-binary=PATH Specify the slave "mysqld" to use
strace-client Create strace output for mysqltest client
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment