debian/0000775000000000000000000000000012312100066007157 5ustar debian/copyright0000664000000000000000000010074212307310063011122 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Percona XtraDB Cluster 5.5 Source: http://launchpad.net/percona-xtradb-cluster Comments: Originally produced by a modified version of licensecheck2dep5 from CDBS by Clint Byrum . Hand modified to reduce redundancy in the output and add appropriate license text. . Also, MySQL carries the "FOSS License Exception" specified in README . Quoting from README: . MySQL FOSS License Exception We want free and open source software applications under certain licenses to be able to use specified GPL-licensed MySQL client libraries despite the fact that not all such FOSS licenses are compatible with version 2 of the GNU General Public License. Therefore there are special exceptions to the terms and conditions of the GPLv2 as applied to these client libraries, which are identified and described in more detail in the FOSS License Exception at . . The text of the Above URL is quoted below, as of Aug 17, 2011. . > FOSS License Exception > . > Updated July 1, 2010 > . > What is the FOSS License Exception? Oracle's Free and Open Source > Software ("FOSS") License Exception (formerly known as the FLOSS > License Exception) allows developers of FOSS applications to include > Oracle's MySQL Client Libraries (also referred to as "MySQL Drivers" > or "MySQL Connectors") with their FOSS applications. MySQL Client > Libraries are typically licensed pursuant to version 2 of the General > Public License ("GPL"), but this exception permits distribution of > certain MySQL Client Libraries with a developer¿s FOSS applications > licensed under the terms of another FOSS license listed below, > even though such other FOSS license may be incompatible with the GPL. > . > The following terms and conditions describe the circumstances under > which Oracle¿s FOSS License Exception applies. > . > Oracle¿s FOSS License Exception Terms and Conditions Definitions. > "Derivative Work" means a derivative work, as defined under applicable > copyright law, formed entirely from the Program and one or more > FOSS Applications. > . > "FOSS Application" means a free and open source software application > distributed subject to a license listed in the section below titled > "FOSS License List." > . > "FOSS Notice" means a notice placed by Oracle or MySQL in a copy > of the MySQL Client Libraries stating that such copy of the MySQL > Client Libraries may be distributed under Oracle's or MySQL¿s FOSS > (or FLOSS) License Exception. > . > "Independent Work" means portions of the Derivative Work that are not > derived from the Program and can reasonably be considered independent > and separate works. > . > "Program" means a copy of Oracle¿s MySQL Client Libraries that > contains a FOSS Notice. > . > A FOSS application developer ("you" or "your") may distribute a > Derivative Work provided that you and the Derivative Work meet all > of the following conditions: You obey the GPL in all respects for > the Program and all portions (including modifications) of the Program > included in the Derivative Work (provided that this condition does not > apply to Independent Works); The Derivative Work does not include any > work licensed under the GPL other than the Program; You distribute > Independent Works subject to a license listed in the section below > titled "FOSS License List"; You distribute Independent Works in > object code or executable form with the complete corresponding > machine-readable source code on the same medium and under the same > FOSS license applying to the object code or executable forms; All > works that are aggregated with the Program or the Derivative Work > on a medium or volume of storage are not derivative works of the > Program, Derivative Work or FOSS Application, and must reasonably > be considered independent and separate works. Oracle reserves all > rights not expressly granted in these terms and conditions. If all > of the above conditions are not met, then this FOSS License Exception > does not apply to you or your Derivative Work. > . > FOSS License List > . > License Name Version(s)/Copyright Date > Release Early Certified Software > 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 Development and Distribution License (CDDL) 1.0 > Common Public License 1.0 > Eclipse Public License 1.0 > European Union Public License (EUPL)[1] 1.1 > GNU Library or "Lesser" General Public License (LGPL) 2.0/2.1/3.0 > GNU General Public License (GPL) 3.0 > IBM Public License 1.0 > Jabber Open Source License 1.0 > MIT License (As listed in file MIT-License.txt) - > Mozilla Public License (MPL) 1.0/1.1 > Open Software License 2.0 > OpenSSL license (with original SSLeay license) "2003" ("1998") > PHP License 3.0/3.01 > Python license (CNRI Python License) - > Python Software Foundation License 2.1.1 > Sleepycat License "1999" > University of Illinois/NCSA Open Source License - > W3C License "2001" > X11 License "2001" > Zlib/libpng License - > Zope Public License 2.0 > [1] When an Independent Work is licensed under a "Compatible License" > pursuant to the EUPL, the Compatible License rather than the EUPL is > the applicable license for purposes of these FOSS License Exception > Terms and Conditions. . The above text is subject to this copyright notice: © 2010, Oracle and/or its affiliats. Files: cmd-line-utils/libedit/config.h dbug/example1.c dbug/example2.c dbug/example3.c dbug/factorial.c dbug/main.c dbug/my_main.c dbug/remove_function_from_trace.pl dbug/tests.c dbug/tests-t.pl extra/yassl/src/dummy.cpp include/probes_mysql_nodtrace.h libmysqld/resource.h mysql-test/* sql-bench/graph-compare-results.sh storage/ndb/bin/* storage/ndb/demos/* support-files/binary-configure.sh support-files/my-huge.cnf.sh support-files/my-innodb-heavy-4G.cnf.sh support-files/my-large.cnf.sh support-files/my-medium.cnf.sh support-files/my-small.cnf.sh support-files/mysqld_multi.server.sh support-files/mysql-log-rotate.sh support-files/mysql.server-sys5.sh Copyright: UNKNOWN Comment: These files fall under the blanket license specified in the file COPYING and README License: GPL-2 GPLv2 Disclaimer For the avoidance of doubt, except that if any license choice other than GPL or LGPL is available it will apply instead, Oracle elects to use only the General Public License version 2 (GPLv2) at this time for any software where a choice of GPL license versions is made available with the language indicating that GPLv2 or any later version may be used, or where a choice of which version of the GPL is applied is otherwise unspecified. Files: BUILD/* client/* client/echo.c client/get_password.c cmake/* dbug/dbug_add_tags.pl extra/* include/* libmysql/* libmysqld/* libservices/* mysql-test/include/have_perfschema.inc mysql-test/include/have_perfschema.inc mysql-test/lib/mtr_cases.pm mysql-test/lib/mtr_gcov.pl mysql-test/lib/mtr_gprof.pl mysql-test/lib/mtr_io.pl mysql-test/lib/mtr_match.pm mysql-test/lib/mtr_misc.pl mysql-test/lib/mtr_process.pl mysql-test/lib/mtr_report.pm mysql-test/lib/mtr_results.pm mysql-test/lib/mtr_stress.pl mysql-test/lib/mtr_unique.pm mysql-test/lib/My/ConfigFactory.pm mysql-test/lib/My/Config.pm mysql-test/lib/My/CoreDump.pm mysql-test/lib/My/File/* mysql-test/lib/My/Find.pm mysql-test/lib/My/Handles.pm mysql-test/lib/My/Options.pm mysql-test/lib/My/Platform.pm mysql-test/lib/My/SafeProcess/Base.pm mysql-test/lib/My/SafeProcess.pm mysql-test/lib/My/SafeProcess/safe_kill_win.cc mysql-test/lib/My/SafeProcess/safe_process.cc mysql-test/lib/My/SafeProcess/safe_process.pl mysql-test/lib/My/SafeProcess/safe_process_win.cc mysql-test/lib/My/SysInfo.pm mysql-test/lib/My/Test.pm mysql-test/lib/t/* mysql-test/lib/v1/mtr_cases.pl mysql-test/lib/v1/mtr_gcov.pl mysql-test/lib/v1/mtr_gprof.pl mysql-test/lib/v1/mtr_im.pl mysql-test/lib/v1/mtr_io.pl mysql-test/lib/v1/mtr_match.pl mysql-test/lib/v1/mtr_misc.pl mysql-test/lib/v1/mtr_process.pl mysql-test/lib/v1/mtr_report.pl mysql-test/lib/v1/mtr_stress.pl mysql-test/lib/v1/mtr_timer.pl mysql-test/lib/v1/mtr_unique.pl mysql-test/lib/v1/My/* mysql-test/lib/v1/My/* mysql-test/lib/v1/mysql-test-run.pl mysql-test/mysql-stress-test.pl mysql-test/mysql-test-run.pl mysql-test/std_data/* mysql-test/suite/perfschema/include/* mysql-test/suite/perfschema_stress/include/* mysql-test/suite/perfschema_stress/include/* mysys/* packaging/WiX/ca/* plugin/audit_null/* plugin/auth/* plugin/daemon_example/* plugin/fulltext/* plugin/semisync/semisync_slave.cc plugin/semisync/semisync_slave.h scripts/* sql/* sql-common/* storage/* strings/* support-files/config.huge.ini.sh support-files/config.medium.ini.sh support-files/config.small.ini.sh support-files/MacOSX/Description.plist.sh support-files/MacOSX/Info.plist.sh support-files/MacOSX/StartupParameters.plist.sh support-files/MySQL-shared-compat.spec.sh support-files/mysql.spec.sh support-files/ndb-config-2-node.ini.sh tests/* unittest/* vio/* Copyright: 1979-2008 MySQL AB 1995-2010 MySQL AB Sun Microsystems Inc 1994-1997,2000-2011 Oracle and/or its affiliates. 2009-2012, Percona Inc License: GPL-2 Files: storage/innobase/* Copyright: 1994-2011 Innobase Oy. License: GPL-2 Files: cmd-line-utils/readline/* Copyright: 1987-2006 Free Software Foundation Inc License: GPL-2+ Files: cmd-line-utils/libedit/* Copyright: 1989-1990,1992-1993 The Regents of the University of California. License: BSD (3 clause) Files: cmd-line-utils/libedit/filecomplete.c cmd-line-utils/libedit/filecomplete.h cmd-line-utils/libedit/np/fgetln.c cmd-line-utils/libedit/read.h cmd-line-utils/libedit/readline.c cmd-line-utils/libedit/readline/* Copyright: 1997-2001 The NetBSD Foundation Inc License: BSD (2 clause) This code is derived from software contributed to The NetBSD Foundation by Jaromir Dolecek. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: client/completion_hash.h scripts/mysqlaccess.sh scripts/mysql_fix_extensions.sh scripts/mysql_setpermission.sh sql-bench/* storage/myisam/ftbench/ft-test-run.sh storage/myisam/mi_test_all.sh storage/ndb/test/run-test/atrt-analyze-result.sh storage/ndb/test/run-test/atrt-clear-result.sh storage/ndb/test/run-test/atrt-gather-result.sh storage/ndb/test/run-test/atrt-setup.sh storage/ndb/test/run-test/make-config.sh storage/ndb/test/run-test/make-html-reports.sh storage/ndb/test/run-test/make-index.sh storage/ndb/test/run-test/ndb-autotest.sh strings/strxmov.c strings/strxnmov.c support-files/MacOSX/postflight.sh support-files/MacOSX/preflight.sh Copyright: 2000-2009 MySQL AB Sun Microsystems Inc 2000-2007 MySQL AB License: LGPL Files: storage/archive/azio.c storage/archive/azlib.h zlib/* Copyright: 1995-2005 Jean-loup Gailly and Mark Adler License: zlib/libpng This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. . Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: . 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Files: sql-bench/innotest1.sh sql-bench/innotest1a.sh sql-bench/innotest1b.sh sql-bench/innotest2.sh sql-bench/innotest2a.sh sql-bench/innotest2b.sh Copyright: 2000-2002 Innobase Oy & MySQL AB Comment: These files fall under the blanket license specified in the file COPYING License: GPL-2 Files: storage/innobase/btr/btr0sea.c storage/innobase/include/log0log.h storage/innobase/include/os0sync.h storage/innobase/log/log0log.c storage/innobase/row/row0sel.c Copyright: 1995-1997,2009-2010 Innobase Oy. 2008-2009 Google Inc License: GPL-2 Files: storage/innobase/btr/btr0cur.c storage/innobase/buf/buf0buf.c storage/innobase/include/sync0rw.h storage/innobase/include/sync0sync.h storage/innobase/sync/* Copyright: 1994-2011 Oracle and/or its affiliates. 2008 Google Inc License: GPL-2 Files: storage/myisam/rt_index.h storage/myisam/rt_key.c storage/myisam/rt_mbr.c storage/myisam/rt_mbr.h storage/myisam/sp_defs.h Copyright: 2000,2002-2006 MySQL AB & Ramil Kalimullin License: GPL-2 Files: storage/innobase/include/ut0bh.h storage/innobase/trx/trx0rseg.c storage/innobase/ut/ut0bh.c storage/innobase/ut/ut0ut.c Copyright: 1996,2010-2011 Oracle Corpn. License: GPL-2 Files: plugin/semisync/semisync.cc plugin/semisync/semisync.h plugin/semisync/semisync_slave_plugin.cc Copyright: 2008 MySQL AB 2007 Google Inc License: GPL-2 Files: strings/ctype-bin.c strings/ctype-eucjpms.c strings/ctype-ujis.c Copyright: 2000,2002,2005-2011 Oracle and/or its affiliates. & tommy@valley.ne.jp License: LGPL On Debian and systems the full text of the GNU Library General Public License version 2 can be found in the file `/usr/share/common-licenses/LGPL-2` Files: scripts/mysqld_safe.sh support-files/mysql-multi.server.sh support-files/mysql.server.sh Copyright: 1996 Abandoned TCX DataKonsult AB & Monty Program KB & Detron HB License: PD This file is public domain and comes with NO WARRANTY of any kind Files: sql/sql_yacc.cc sql/sql_yacc.h Copyright: 1984,1989-1990,2000-2006 Free Software Foundation, Inc. License: GPL-2+ Files: storage/innobase/include/pars0grm.h storage/innobase/pars/pars0grm.c Copyright: 1995-2009 Innobase Oy. 1984,1989-1990,2000-2004 Free Software Foundation Inc. License: GPL-2 As a special exception, when this file is copied by Bison into a Bison output file, you may use that output file without restriction. This special exception was added by the Free Software Foundation in version 1.24 of Bison. . 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Files: storage/innobase/include/srv0srv.h storage/innobase/srv/srv0start.c Copyright: 1995-1996,2010-2011 Innobase Oy. 2008-2009 Google Inc 2009 Percona Inc License: GPL-2 Files: plugin/semisync/semisync_master.cc plugin/semisync/semisync_master_plugin.cc Copyright: 2008-2009 MySQL AB Sun Microsystems Inc 2007 Google Inc License: GPL-2 Files: storage/innobase/include/os0file.h storage/innobase/os/os0file.c Copyright: 1995-2010 Innobase Oy. 2009 Percona Inc License: GPL-2 Files: include/t_ctype.h strings/t_ctype.h Copyright: 2000 MySQL AB 1998 Theppitak Karoonboonyanan 1998-1999 Pruet Boonma License: GPL-2 Files: cmd-line-utils/libedit/np/strlcat.c cmd-line-utils/libedit/np/strlcpy.c Copyright: 1998 Todd C. Miller License: ISC Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. . THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Files: sql/nt_servc.cc sql/nt_servc.h Copyright: 1998 Abandoned Irena Pancirov - Irnet Snc License: PD This file is public domain and comes with NO WARRANTY of any kind Files: dbug/dbug.c dbug/dbug_long.h Copyright: 1987 Abandoned Fred Fish License: UNKNOWN N O T I C E . Copyright Abandoned, 1987, Fred Fish . . This previously copyrighted work has been placed into the public domain by the author and may be freely used for any purpose, private or commercial. . Because of the number of inquiries I was receiving about the use of this product in commercially developed works I have decided to simply make it public domain to further its unrestricted use. I specifically would be most happy to see this material become a part of the standard Unix distributions by AT&T and the Berkeley Computer Science Research Group, and a standard part of the GNU system from the Free Software Foundation. . I would appreciate it, as a courtesy, if this notice is left in all copies and derivative works. Thank you. . The author makes no warranty of any kind with respect to this product and explicitly disclaims any implied warranties of mer- chantability or fitness for any particular purpose. Files: cmd-line-utils/libedit/np/vis.c Copyright: 1989-1993 The Regents of the University of California. 1999-2005 The NetBSD Foundation Inc License: BSD (3 clause) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: scripts/dheadgen.pl Copyright: 2008-2009 Sun Microsystems Inc License: BSD (3 clause) Files: storage/ndb/test/src/getarg.c Copyright: 1997-2000 - Kungliga Tekniska Högskolan License: BSD (3 clause) Files: storage/ndb/test/include/getarg.h Copyright: 2003 MySQL AB 1997-1999 Kungliga Tekniska Högskolan License: BSD (3 clause) GPL-2 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. . Copyright (c) 1997, 1999 Kungliga Tekniska Högskolan (Royal Institute of Technology, Stockholm, Sweden). All rights reserved. . Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. . 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . 3. Neither the name of the Institute nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: storage/innobase/handler/ha_innodb.cc Copyright: 2008-2009 Google Inc 2009 Percona Inc 2000-2011 MySQL AB & Innobase Oy. License: GPL-2 Files: plugin/semisync/semisync_master.h Copyright: 2008-2009 MySQL AB Sun Microsystems Inc 2007 Google Inc License: GPL-2 Files: storage/innobase/srv/srv0srv.c Copyright: 2008-2009 Google Inc 1995-2011 Oracle and/or its affiliates. 2009 Percona Inc License: GPL-2 Files: storage/innobase/ut/ut0rbt.c Copyright: 2007-2010 Innobase Oy. 2007 Oracle/Innobase Oy License: GPL-2 Files: strings/ctype-win1250ch.c Copyright: 2002-2010 Oracle and/or its affiliates. 2001 Jan Pazdziora License: GPL-2 Files: strings/ctype-tis620.c Copyright: 1998 Theppitak Karoonboonyanan 1989-1991 Samphan Raruenrom 2000-2010 Oracle and/or its affiliates. 2003 Sathit Jittanupat 2001 Korakot Chaovavanich and 1998-1999 Pruet Boonma License: GPL-2 Files: storage/innobase/handler/ha_innodb.h Copyright: 2000-2010 MySQL AB & Innobase Oy. License: GPL-2 Files: strings/dtoa.c Copyright: 2007-2010 Oracle and/or its affiliates. 1991,2000-2001 Lucent Technologies License: LGPL Files: scripts/mysqldumpslow.sh Copyright: 2000-2002,2005-2009 MySQL AB Sun Microsystems Inc License: LGPL Files: libmysqld/lib_sql.cc Copyright: 2000 SWsoft company License: SWsoft This material is provided "as is", with absolutely no warranty expressed or implied. Any use is at your own risk. . Permission to use or copy this software for any purpose is hereby granted without fee, provided the above notices are retained on all copies. Permission to modify the code and to distribute modified code is granted, provided the above notices are retained, and a notice that the code was modified is included with the above copyright notice. Files: tests/mail_to_db.pl Copyright: 1998 Abandoned TCX DataKonsult AB & Monty Program KB & Detron HB License: PD This file is public domain and comes with NO WARRANTY of any kind Files: dbug/dbug_analyze.c Copyright: 1987 June Binayak Banerjee License: PD This program may be freely distributed under the same terms and conditions as Fred Fish's Dbug package. Files: regex/regexp.c Copyright: 1986 University of Toronto License: BSD-like Permission is granted to anyone to use this software for any purpose on any computer system, and to redistribute it freely, subject to the following restrictions: . 1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from defects in it. . 2. The origin of this software must not be misrepresented, either by explicit claim or by omission. . 3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Files: plugin/percona-pam-for-mysql/* Copyright: 2011-2013, Percona LLC and/or its affiliates 2012 Percona Inc License: GPL-2 Files: scripts/wsrep_sst_* Copyright: 2013 Percona Inc License: GPL-2 Files: wsrep/* Copyright: 2009-2013 Codership Oy License: GPL-2 Files: regex/* Copyright: 1992, 1993, 1994, Henry Spencer License: This software is not subject to any license of the American Telephone and Telegraph Company or of the Regents of the University of California. . Permission is granted to anyone to use this software for any purpose on any computer system, and to alter it and redistribute it, subject to the following restrictions: . 1. The author is not responsible for the consequences of use of this software, no matter how awful, even if they arise from flaws in it. . 2. The origin of this software must not be misrepresented, either by explicit claim or by omission. Since few users ever read sources, credits must appear in the documentation. . 3. Altered versions must be plainly marked as such, and must not be misrepresented as being the original software. Since few users ever read sources, credits must appear in the documentation. . 4. This notice may not be removed or altered. Files: /storage/HandlerSocket-Plugin-for-MySQL/* Copyright: 2010 DeNA Co.,Ltd. License: Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: . * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of DeNA Co.,Ltd. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY DeNA Co.,Ltd. "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DeNA Co.,Ltd. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Files: UDF/src/* Copyright: nobody License: public-domain Files: debian/* Copyright: 2011, Ignacio Nin 2013, Canonical Ltd. License: GPL-2 License: GPL-2 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA . On Debian and systems the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2` License: GPL-2+ This file is part of GNU Readline, a library for reading lines of text with interactive input and history editing. . Readline 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; either version 2, or (at your option) any later version. . Readline 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 Readline; see the file COPYING. If not, write to the Free Software Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ . On Debian and systems the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2` License: LGPL This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; version 2 of the License. . This library 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 Library General Public License for more details. . You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA . On Debian and systems the full text of the GNU Library General Public License version 2 can be found in the file `/usr/share/common-licenses/LGPL-2` License: BSD (3 clause) Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. . THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. debian/percona-xtradb-cluster-server-5.5.README.Debian0000664000000000000000000001276012270162510017433 0ustar * 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: ============================ The privilege tables are automatically updated so all there is left is read the changelogs on dev.mysql.com to see if any changes affect custom apps. * 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=1 option in /etc/mysql/my.cnf might help. If not the application that inserted the user has to be changed or the application that tries to connect updated to libmysqlclient14 or -15. * 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 /usr/bin/mysql -u root -D mysql -e "update user set password=password('new-password') where user='root'" /usr/bin/mysql -u root -e "flush privileges" If you already had a password set add "-p" before "-u" to the lines 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. * BerkeleyDB Storage Engine =========================== Support for BerkeleyDB has been removed in 5.1, and consequently both the have-bdb and skip-bdb configuration options will cause the server to fail. Removing the options from /etc/mysql/my.cnf will fix this problem. * FURTHER NOTES ON REPLICATION =============================== If the MySQL server is acting as a replication slave, you should not set --tmpdir to point to a directory on a memory-based filesystem or to a directory that is cleared when the server host restarts. A replication slave needs some of its temporary files to survive a machine restart so that it can replicate temporary tables or LOAD DATA INFILE operations. If files in the temporary file directory are lost when the server restarts, replication fails. * PERCONA XTRADB CLUSTER ======================== Percona XtraDB Cluster is distributed with several useful UDF (User Defined Function) from Percona Toolkit. Run the following commands to create these functions: mysql -e "CREATE FUNCTION fnv1a_64 RETURNS INTEGER SONAME 'libfnv1a_udf.so'" mysql -e "CREATE FUNCTION fnv_64 RETURNS INTEGER SONAME 'libfnv_udf.so'" mysql -e "CREATE FUNCTION murmur_hash RETURNS INTEGER SONAME 'libmurmur_udf.so'" See http://www.percona.com/doc/percona-xtradb-cluster/5.5/management/udf_percona_toolkit.htmli for more details debian/percona-xtradb-cluster-server-5.5.logcheck.ignore.server0000664000000000000000000000433612270162510021663 0ustar /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$ /etc/mysql/debian-start\[[0-9]+\]: Checking for crashed MySQL tables\.$ 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]+\]: /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 https://order.mysql.com$ 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 -h app109 password 'new-password'$ 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'$ debian/po/0000775000000000000000000000000012270162510007602 5ustar debian/po/templates.pot0000664000000000000000000001221412270162510012324 0ustar # Percona XtraDB Cluster Templates # Copyright (C) 2013, Canonical Ltd # This file is distributed under the same license as the percona-xtradb-cluster-server-5.5 package. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: percona-xtradb-cluster-5.5\n" "Report-Msgid-Bugs-To: percona-xtradb-cluster-5.5@packages.debian.org\n" "POT-Creation-Date: 2014-01-13 08:58+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:2001 msgid "Really proceed with downgrade?" msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:2001 msgid "A file named /var/lib/mysql/debian-*.flag exists on this system." msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:2001 msgid "" "Such file is an indication that a mysql-server package with a higher version " "has been installed earlier." msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:2001 msgid "" "There is no guarantee that the version you're currently installing will be " "able to use the current databases." msgstr "" #. Type: note #. Description #: ../percona-xtradb-cluster-server-5.5.templates:3001 msgid "Important note for NIS/YP users" msgstr "" #. Type: note #. Description #: ../percona-xtradb-cluster-server-5.5.templates:3001 msgid "" "To use MySQL, the following entries for users and groups should be added to " "the system:" msgstr "" #. Type: note #. Description #: ../percona-xtradb-cluster-server-5.5.templates:3001 msgid "" "You should also check the permissions and the owner of the /var/lib/mysql " "directory:" msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:4001 msgid "Remove all Percona Server databases?" msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:4001 msgid "" "The /var/lib/mysql directory which contains the Percona Server databases is " "about to be removed." msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:4001 msgid "" "If you're removing the Percona Server package in order to later install a " "more recent version or if a different mysql-server package is already using " "it, the data should be kept." msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:5001 msgid "Start the Percona Server daemon on boot?" msgstr "" #. Type: boolean #. Description #: ../percona-xtradb-cluster-server-5.5.templates:5001 msgid "" "The Percona Server daemon can be launched automatically at boot time or " "manually with the '/etc/init.d/mysql start' command." msgstr "" #. Type: password #. Description #: ../percona-xtradb-cluster-server-5.5.templates:6001 msgid "New password for the Percona Server \"root\" user:" msgstr "" #. Type: password #. Description #: ../percona-xtradb-cluster-server-5.5.templates:6001 msgid "" "While not mandatory, it is highly recommended that you set a password for " "the Percona Server administrative \"root\" user." msgstr "" #. Type: password #. Description #: ../percona-xtradb-cluster-server-5.5.templates:6001 msgid "If that field is left blank, the password will not be changed." msgstr "" #. Type: password #. Description #: ../percona-xtradb-cluster-server-5.5.templates:7001 msgid "Repeat password for the Percona Server \"root\" user:" msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:8001 msgid "Unable to set password for the Percona Server \"root\" user" msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:8001 msgid "" "An error occurred while setting the password for the Percona Server " "administrative user. This may have happened because the account already has " "a password, or because of a communication problem with the Percona Server " "daemon." msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:8001 msgid "You should check the account's password after the package installation." msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:8001 msgid "" "Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for more " "information." msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:9001 msgid "Password input error" msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:9001 msgid "The two passwords you entered were not the same. Please try again." msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:10001 msgid "NDB Cluster seems to be in use" msgstr "" #. Type: error #. Description #: ../percona-xtradb-cluster-server-5.5.templates:10001 msgid "" "Percona-Server-5.5 has orphaned NDB Cluster support. Please migrate to the " "new mysql-cluster package and remove all lines starting with \"ndb\" from " "all config files below /etc/mysql/." msgstr "" debian/po/POTFILES.in0000664000000000000000000000010612270162510011354 0ustar [type: gettext/rfc822deb] percona-xtradb-cluster-server-5.5.templates debian/compat0000664000000000000000000000000212270162510010362 0ustar 7 debian/percona-xtradb-cluster-client-5.5.links0000664000000000000000000000017012270162510016375 0ustar usr/bin/mysqlcheck usr/bin/mysqlrepair usr/bin/mysqlcheck usr/bin/mysqlanalyze usr/bin/mysqlcheck usr/bin/mysqloptimize debian/additions/0000775000000000000000000000000012307342175011152 5ustar debian/additions/debian-start.inc.sh0000664000000000000000000000501312270170003014616 0ustar # # This file is included by /etc/mysql/debian-start # ## Check all unclosed tables. # - Requires the server to be up. # - Is supposed to run silently in background. function check_for_crashed_tables() { set -e set -u # But do it in the background to not stall the boot process. logger -p daemon.info -i -t$0 "Triggering myisam-recover for all MyISAM tables" # Checking for $? is unreliable so the size of the output is checked. # Some table handlers like HEAP do not support CHECK TABLE. tempfile=`tempfile` # We have to use xargs in this case, because a for loop barfs on the # spaces in the thing to be looped over. LC_ALL=C $MYSQL --skip-column-names --batch -e ' select concat("select count(*) into @discard from `", TABLE_SCHEMA, "`.`", TABLE_NAME, "`") from information_schema.TABLES where ENGINE="MyISAM"' | \ xargs -i $MYSQL --skip-column-names --silent --batch \ --force -e "{}" >$tempfile if [ -s $tempfile ]; then ( /bin/echo -e "\n" \ "Improperly closed tables are also reported if clients are accessing\n" \ "the tables *now*. A list of current connections is below.\n"; $MYADMIN processlist status ) >> $tempfile # Check for presence as a dependency on mailx would require an MTA. if [ -x /usr/bin/mailx ]; then mailx -e -s"$MYCHECK_SUBJECT" $MYCHECK_RCPT < $tempfile fi (echo "$MYCHECK_SUBJECT"; cat $tempfile) | logger -p daemon.warn -i -t$0 fi rm $tempfile } ## Check for tables needing an upgrade. # - Requires the server to be up. # - Is supposed to run silently in background. function upgrade_system_tables_if_necessary() { set -e set -u logger -p daemon.info -i -t$0 "Upgrading MySQL tables if necessary." # Filter all "duplicate column", "duplicate key" and "unknown column" # errors as the script is designed to be idempotent. LC_ALL=C $MYUPGRADE \ 2>&1 \ | egrep -v '^(1|@had|ERROR (1054|1060|1061))' \ | logger -p daemon.warn -i -t$0 } ## Check for the presence of both, root accounts with and without password. # This might have been caused by a bug related to mysql_install_db (#418672). function check_root_accounts() { set -e set -u logger -p daemon.info -i -t$0 "Checking for insecure root accounts." ret=$( echo "SELECT count(*) FROM mysql.user WHERE user='root' and password='';" | $MYSQL --skip-column-names ) if [ "$ret" -ne "0" ]; then logger -p daemon.warn -i -t$0 "WARNING: mysql.user contains $ret root accounts without password!" fi } debian/additions/pxc.cnf0000664000000000000000000000021312307342175012430 0ustar [mysqld] # Disable query cache for Active/Active MySQL query_cache_limit = 0 query_cache_size = 0 query_cache_type = 0 debian/additions/debian-start0000775000000000000000000000275112270162510013452 0ustar #!/bin/bash # # This script is executed by "/etc/init.d/mysql" on every (re)start. # # Changes to this file will be preserved when updating the Debian package. # PERCONA_PREFIX=/usr source "${PERCONA_PREFIX}"/share/mysql/debian-start.inc.sh MYSQL="${PERCONA_PREFIX}/bin/mysql --defaults-file=/etc/mysql/debian.cnf" MYADMIN="${PERCONA_PREFIX}/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf" MYUPGRADE="${PERCONA_PREFIX}/bin/mysql_upgrade --defaults-extra-file=/etc/mysql/debian.cnf" MYCHECK="${PERCONA_PREFIX}/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf" MYCHECK_SUBJECT="WARNING: mysqlcheck has found corrupt tables" MYCHECK_PARAMS="--all-databases --fast --silent" MYCHECK_RCPT="root" # The following commands should be run when the server is up but in background # where they do not block the server start and in one shell instance so that # they run sequentially. They are supposed not to echo anything to stdout. # If you want to disable the check for crashed tables comment # "check_for_crashed_tables" out. # (There may be no output to stdout inside the background process!) echo "Checking for corrupt, not cleanly closed and upgrade needing tables." # Ported # https://bazaar.launchpad.net/~knielsen/ourdelta/bug_484127_484120_2/revision/68 # for lp:1104720 # Need to ignore SIGHUP, as otherwise a SIGHUP can sometimes abort the upgrade # process in the middle. trap "" SIGHUP ( upgrade_system_tables_if_necessary; check_root_accounts; check_for_crashed_tables; ) >&2 & exit 0 debian/percona-xtradb-cluster-server-5.5.logcheck.ignore.workstation0000664000000000000000000000433612270162510022741 0ustar /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$ /etc/mysql/debian-start\[[0-9]+\]: Checking for crashed MySQL tables\.$ 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]+\]: /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 https://order.mysql.com$ 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 -h app109 password 'new-password'$ 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'$ debian/percona-xtradb-cluster-server-5.5.preinst0000664000000000000000000001352012270162510016774 0ustar #!/bin/bash -e # # summary of how this script can be called: # * install # * install # * upgrade # * abort-upgrade # . /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 } PERCONA_PREFIX=/usr export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin:$PERCONA_PREFIX/bin MYADMIN="${PERCONA_PREFIX}/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/percona-xtradb-cluster ]; then return; fi set +e if [ -x /usr/sbin/invoke-rc.d ]; then cmd="invoke-rc.d percona-xtradb-cluster stop" else cmd="/etc/init.d/percona-xtradb-cluster 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=5.5 # Check kernel version if dpkg --compare-versions `uname -r` lt 2.6; then echo -e "\nPROBLEM: MySQL-5.x is currently incompatible with kernel 2.4. Aborting."; echo -e "See http://bugs.debian.org/416841 for more information.\n" exit 1 fi # Abort if an NDB cluster is in use. if test -d /etc/mysql/ && egrep -q -r '^[^#]*ndb.connectstring' /etc/mysql/; then db_fset mysql-server/no_upgrade_when_using_ndb seen false || true db_input high mysql-server/no_upgrade_when_using_ndb || true db_go db_stop exit 1 fi # 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 percona-xtradb-cluster-server-$this_version/really_downgrade seen false || true db_input medium percona-xtradb-cluster-server-$this_version/really_downgrade || true db_go db_get percona-xtradb-cluster-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 echo "If are sure you want to downgrade to $this_version, remove the file" 1>&2 echo "$DATADIR/debian-*.flag and try installing again." 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 percona-xtradb-cluster-server-5.0/etch 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/percona-xtradb-cluster-common/internal-use-only/`echo $file | sed 's°/°_°g'` $file fi done </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 } debian/percona-xtradb-cluster-testsuite-5.5.dirs0000664000000000000000000000003112270172413016770 0ustar /usr/lib/mysql-testsuite debian/percona-xtradb-cluster-server-5.5.install0000664000000000000000000000337512307310063016764 0ustar debian/additions/debian-start etc/mysql/ debian/additions/debian-start.inc.sh usr/share/mysql etc/xinetd.d/mysqlchk usr/bin/clustercheck usr/bin/innochecksum usr/bin/msql2mysql usr/bin/my_print_defaults usr/bin/myisamchk usr/bin/myisamlog usr/bin/myisampack usr/bin/mysql_convert_table_format usr/bin/mysql_install_db usr/bin/mysql_plugin 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/mysqlbinlog usr/bin/mysqld_multi usr/bin/mysqld_safe usr/bin/mysqlhotcopy usr/bin/mysqltest usr/bin/perror usr/bin/pyclustercheck usr/bin/replace usr/bin/resolve_stack_dump usr/bin/resolveip usr/bin/wsrep_sst_common usr/bin/wsrep_sst_mysqldump usr/bin/wsrep_sst_rsync usr/bin/wsrep_sst_xtrabackup usr/bin/wsrep_sst_xtrabackup-v2 usr/lib/mysql/plugin usr/sbin/mysqld usr/share/man/man1/comp_err.1 usr/share/man/man1/innochecksum.1 usr/share/man/man1/msql2mysql.1 usr/share/man/man1/my_print_defaults.1 usr/share/man/man1/myisamchk.1 usr/share/man/man1/myisamlog.1 usr/share/man/man1/myisampack.1 usr/share/man/man1/mysql.server.1 usr/share/man/man1/mysql_convert_table_format.1 usr/share/man/man1/mysql_install_db.1 usr/share/man/man1/mysql_plugin.1 usr/share/man/man1/mysql_secure_installation.1 usr/share/man/man1/mysql_setpermission.1 usr/share/man/man1/mysql_tzinfo_to_sql.1 usr/share/man/man1/mysql_upgrade.1 usr/share/man/man1/mysql_zap.1 usr/share/man/man1/mysqlbinlog.1 usr/share/man/man1/mysqld_multi.1 usr/share/man/man1/mysqld_safe.1 usr/share/man/man1/mysqlhotcopy.1 usr/share/man/man1/mysqlman.1 usr/share/man/man1/mysqltest.1 usr/share/man/man1/perror.1 usr/share/man/man1/replace.1 usr/share/man/man1/resolve_stack_dump.1 usr/share/man/man1/resolveip.1 usr/share/man/man8/mysqld.8 usr/share/mysql/ debian/percona-xtradb-cluster-client-5.5.README.Debian0000664000000000000000000000017112270162510017374 0ustar FAQ: Q: My completition is gone, why? A: You have "no-auto-rehash" in the "[mysql]" section of /etc/mysql/my.cnf! debian/percona-xtradb-cluster-client-5.5.docs0000664000000000000000000000000012270162510016175 0ustar debian/percona-xtradb-cluster-client-5.5.menu0000664000000000000000000000011612270162510016221 0ustar # According to /usr/share/menu/ policy 1.4, not /usr/share/doc/debian-policy/ debian/percona-xtradb-cluster-server-5.5.prerm0000664000000000000000000000031112270162510016427 0ustar #!/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# debian/percona-xtradb-cluster-testsuite-5.5.install0000664000000000000000000000006112307310063017474 0ustar usr/share/mysql-test/* /usr/lib/mysql-testsuite/ debian/source/0000775000000000000000000000000012270162510010464 5ustar debian/source/lintian-overrides0000664000000000000000000000026412270162510014047 0ustar # server package manages its own updates to init scripts percona-xtradb-cluster-5.5 source: maintainer-script-lacks-debhelper-token debian/percona-xtradb-cluster-server-5.5.postrm debian/source/format0000664000000000000000000000001412270162510011672 0ustar 3.0 (quilt) debian/percona-xtradb-cluster-server-5.5.lintian-overrides0000664000000000000000000000040212270162510020741 0ustar percona-xtradb-cluster-server-5.5: embedded-library usr/sbin/mysqld: libmysqlclient percona-xtradb-cluster-server-5.5: embedded-library usr/bin/mysqlbinlog: libmysqlclient percona-xtradb-cluster-server-5.5: embedded-library usr/bin/mysqltest: libmysqlclient debian/percona-xtradb-cluster-server-5.5.links0000664000000000000000000000006412270162510016427 0ustar usr/bin/wsrep_sst_rsync usr/bin/wsrep_sst_rsync_wan debian/percona-xtradb-cluster-server-5.5.mysql.init0000664000000000000000000002465612270162510017433 0ustar #!/bin/bash # ### BEGIN INIT INFO # Provides: mysql # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Should-Start: $network $named $time # Should-Stop: $network $named $time # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start and stop the mysql (Percona XtraDB Cluster) daemon # Description: Controls the main MySQL (Percona XtraDB Cluster) daemon "mysqld" # and its wrapper script "mysqld_safe". ### END INIT INFO # set -e set -u ${DEBIAN_SCRIPT_DEBUG:+ set -v -x} PERCONA_PREFIX=/usr startup_timeout=900 stop_timeout=300 startup_sleep=1 test -x "${PERCONA_PREFIX}"/sbin/mysqld || exit 0 . /lib/lsb/init-functions SELF=$(cd $(dirname $0); pwd -P)/$(basename $0) CONF=/etc/mysql/my.cnf # priority can be overriden and "-s" adds output to stderr ERR_LOGGER="logger -p daemon.err -t /etc/init.d/mysql -i" # Safeguard (relative paths, core dumps..) cd / umask 077 # mysqladmin likes to read /root/.my.cnf. This is usually not what I want # as many admins e.g. only store a password without a username there and # so break my scripts. export HOME=/etc/mysql/ ## Fetch a particular option from mysql's invocation. # # Usage: void mysqld_get_param option mysqld_get_param() { "${PERCONA_PREFIX}"/sbin/mysqld --print-defaults \ | tr " " "\n" | awk -F= '{if ($1 ~ /_/) { gsub(/_/,"-",$1); print $1"="$2 } else { print $0 }}' \ | grep -- "--$1=" \ | tail -n 1 \ | cut -d= -f2 } ## Do some sanity checks before even trying to start mysqld. sanity_checks() { # check for config file # DISABLED: We do not install my.cnf #if [ ! -r /etc/mysql/my.cnf ]; then # log_warning_msg "$0: WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz" # echo "WARNING: /etc/mysql/my.cnf cannot be read. See README.Debian.gz" | $ERR_LOGGER #fi # check for diskspace shortage datadir=`mysqld_get_param datadir` if LC_ALL=C BLOCKSIZE= df --portability $datadir/. | tail -n 1 | awk '{ exit ($4>4096) }'; then log_failure_msg "$0: ERROR: The partition with $datadir is too full!" echo "ERROR: The partition with $datadir is too full!" | $ERR_LOGGER exit 1 fi if test -e $sst_progress_file;then log_daemon_msg "Stale sst_in_progress file in datadir" "mysqld" fi } # Get the pid file mysql_data_dir=$(mysqld_get_param datadir) [ ! $mysql_data_dir ] && mysql_data_dir="/var/lib/mysql" pid_file=$(mysqld_get_param pid-file) if test -z "$pid_file" then pid_file="$mysql_data_dir/$(hostname).pid" else case "$pid_file" in /* ) ;; * ) pid_file="$mysql_data_dir/$pid_file" ;; esac fi sst_progress_file=$mysql_data_dir/sst_in_progress ## Checks if there is a server running and if so if it is accessible. # # check_alive insists on a pingable server # check_dead also fails if there is a lost mysqld in the process list # # Usage: boolean mysqld_status [check_alive|check_dead] [warn|nowarn] mysqld_status () { mysqld_pid=$(cat $pid_file 2>/dev/null) if [ ! $mysqld_pid ];then echo "MySQL PID not found, pid_file detected/guessed: $pid_file" | $ERR_LOGGER if [ "$1" = "check_dead" ]; then return 0 fi return 1 fi ping_alive=1 ps_alive=0 soutput=$(mysql -u root -pabcd -e 'select 1;' 2>&1 | grep 'ERROR 2002') [ "$soutput" ] && ping_alive=0 /bin/kill -0 $mysqld_pid &>/dev/null && ps_alive=1 if [ "$1" = "check_alive" -a $ping_alive = 1 ] || [ "$1" = "check_dead" -a $ping_alive = 0 -a $ps_alive = 0 ]; then return 0 # EXIT_SUCCESS else if [ "$2" = "warn" ]; then warn_msg= [ $ping_alive = 0 ] && warn_msg+="mysql ping failed with $soutput" [ $ps_alive = 0 ] && \ warn_msg+=" and/or mysqld with pid $mysqld_pid is not alive" echo -e "$warn_msg" | $ERR_LOGGER -p daemon.debug fi return 1 # EXIT_FAILURE fi } log_startup_failure() { local msg="$@" if test -e $sst_progress_file;then msg+=" However, SST is still in progress. Please check if mysqld is running." fi log_failure_msg "$msg" } # # main() # case "${1:-''}" in 'start') sanity_checks; # Start daemon log_daemon_msg "Starting MySQL (Percona XtraDB Cluster) database server" "mysqld" if mysqld_status check_alive nowarn; then log_progress_msg "already running" log_end_msg 0 else "${PERCONA_PREFIX}"/bin/mysqld_safe > /dev/null 2>&1 & safe_pid=$! avoid_race_condition="by checking again" for i in `seq 1 $startup_timeout`; do test -s $pid_file && break if test -e $sst_progress_file && [ $startup_sleep -ne 10 ];then log_daemon_msg "SST in progress, setting sleep higher" "mysqld" startup_sleep=10 fi # if server isn't running, then pid-file will never be updated if test -n "$safe_pid"; then if kill -0 "$safe_pid" 2>/dev/null; then : # the server still runs else # The server may have exited between the last pid-file check and now. if test -n "$avoid_race_condition"; then avoid_race_condition="" continue # Check again. fi log_failure_msg "The server quit without updating PID file ($pid_file)." log_end_msg 1 exit 1 # not waiting any more. fi fi sleep $startup_sleep log_progress_msg "." done sleep 1 if mysqld_status check_alive warn; then log_end_msg 0 # Now start mysqlcheck or whatever the admin wants. # only if the file /etc/mysql/DEBIAN-START is present. if test -e /etc/mysql/DEBIAN-START;then output=$(/etc/mysql/debian-start) [ "$output" ] && log_action_msg "$output" fi else log_startup_failure "Please take a look at the syslog." log_end_msg 1 fi fi ;; 'stop') # * As a passwordless mysqladmin (e.g. via ~/.my.cnf) must be possible # at least for cron, we can rely on it here, too. (although we have # to specify it explicit as e.g. sudo environments points to the normal # users home and not /root) log_daemon_msg "Stopping MySQL (Percona XtraDB Cluster)" "mysqld" if ! mysqld_status check_dead nowarn; then set +e shutdown_out=`kill $mysqld_pid 2>&1`; r=$? set -e if [ "$r" -ne 0 ]; then log_end_msg 1 log_daemon_msg "MySQLd already dead" "mysqld" else server_down= for i in `seq 1 $stop_timeout`; do sleep 1 if mysqld_status check_dead nowarn; then server_down=1; break; fi done #Better to not kill in cases of large buffer pools #if test -z "$server_down"; then #kill -9 $mysqld_pid #fi fi fi if ! mysqld_status check_dead warn; then log_end_msg 1 log_failure_msg "Please stop MySQL (Percona XtraDB Cluster) manually and \ read /usr/share/doc/percona-xtradb-cluster-server-5.5/README.Debian.gz!" exit -1 else log_end_msg 0 fi ;; 'restart') set +e; $SELF stop; set -e $SELF start ;; 'reload'|'force-reload') log_daemon_msg "Reloading MySQL (Percona XtraDB Cluster)" "mysqld" mysqld_pid=$(cat $pid_file 2>/dev/null) if [ ! $mysqld_pid ];then log_failure_msg "MySQL PID not found, pid_file detected/guessed: $pid_file" log_end_msg 1 exit 4 fi if kill -HUP $mysqld_pid 2>/dev/null;then log_daemon_msg "Percona XtraDB Cluster reload complete" "mysqld" log_end_msg 0 else log_failure_msg "Percona XtraDB Cluster with PID $mysqld_pid \ is not running or unknown error" log_end_msg 1 fi ;; 'status') if mysqld_status check_alive nowarn; then log_action_msg "Percona XtraDB Cluster up and running" else log_action_msg "MySQL (Percona XtraDB Cluster) is stopped. Check log" exit 3 fi ;; 'bootstrap-pxc') startup_sleep=10 sanity_checks; # Start daemon log_daemon_msg "Bootstrapping Percona XtraDB Cluster database server" "mysqld" if mysqld_status check_alive nowarn; then log_progress_msg "already running" log_end_msg 0 else "${PERCONA_PREFIX}"/bin/mysqld_safe --wsrep-new-cluster > /dev/null 2>&1 & safe_pid=$! avoid_race_condition="by checking again" for i in `seq 1 $startup_timeout`; do test -s $pid_file && break if test -e $sst_progress_file && [ $startup_sleep -ne 10 ];then log_daemon_msg "SST in progress, setting sleep higher" "mysqld" startup_sleep=10 fi # if server isn't running, then pid-file will never be updated if test -n "$safe_pid"; then if kill -0 "$safe_pid" 2>/dev/null; then : # the server still runs else # The server may have exited between the last pid-file check and now. if test -n "$avoid_race_condition"; then avoid_race_condition="" continue # Check again. fi log_failure_msg "The server quit without updating PID file ($pid_file)." log_end_msg 1 exit 1 # not waiting any more. fi fi sleep $startup_sleep log_progress_msg "." done sleep 1 if mysqld_status check_alive warn; then log_end_msg 0 # Now start mysqlcheck or whatever the admin wants. # only if the file /etc/mysql/DEBIAN-START is present. if test -e /etc/mysql/DEBIAN-START;then output=$(/etc/mysql/debian-start) [ "$output" ] && log_action_msg "$output" fi else log_startup_failure "Please take a look at the syslog." log_end_msg 1 fi fi ;; *) echo "Usage: $SELF start|stop|restart|reload|force-reload|status|bootstrap-pxc" exit 1 ;; esac debian/patches/0000775000000000000000000000000012311537733010624 5ustar debian/patches/fix_standalone_tests.patch0000664000000000000000000000102112311537554016060 0ustar From: Clint Byrum Description: makes mtr look in the standard location from the mysql-testsuite-5.5 package. Forwarded: not-needed --- a/mysql-test/lib/mtr_cases.pm +++ b/mysql-test/lib/mtr_cases.pm @@ -287,7 +287,8 @@ sub collect_one_suite($) else { $suitedir= my_find_dir($::basedir, - ["share/mysql-test/suite", + ["lib/mysql-testsuite/suite", + "share/mysql-test/suite", "mysql-test/suite", "internal/mysql-test/suite", "mysql-test", debian/patches/fix-implicit-conversion.patch0000664000000000000000000000130712276141720016424 0ustar Description: Fixup implicit function definitions Author: James Page Forwarded: https://bugs.launchpad.net/percona-xtradb-cluster/+bug/1278417 --- a/storage/innobase/trx/trx0i_s.c +++ b/storage/innobase/trx/trx0i_s.c @@ -38,6 +38,14 @@ Created July 17, 2007 Vasil Dimov #include +#ifdef WITH_WSREP +extern const char *wsrep_consistency_check_str(void *thd); +extern const char * wsrep_thd_query_state_str(void *thd); +extern const char * wsrep_thd_conflict_state_str(void *thd); +extern const char * wsrep_thd_exec_mode_str(void *thd); +extern int64_t wsrep_thd_trx_seqno(void *thd); +#endif + #include "buf0buf.h" #include "dict0dict.h" #include "ha0storage.h" debian/patches/patch-sql_sql__yacc.yy0000664000000000000000000000305312270162510015110 0ustar Description: Bison 3 compatibility. Origin: https://raw.github.com/joyent/pkgsrc-joyent/master/percona55-cluster/patches/patch-sql_sql__yacc.yy --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -26,8 +26,6 @@ ** The type will be void*, so it must be cast to (THD*) when used. ** Use the YYTHD macro for this. */ -#define YYPARSE_PARAM yythd -#define YYLEX_PARAM yythd #define YYTHD ((THD *)yythd) #define YYLIP (& YYTHD->m_parser_state->m_lip) #define YYPS (& YYTHD->m_parser_state->m_yacc) @@ -76,7 +74,7 @@ int yylex(void *yylval, void *yythd); ulong val= *(F); \ if (my_yyoverflow((B), (D), &val)) \ { \ - yyerror((char*) (A)); \ + yyerror(yythd, (char*) (A)); \ return 2; \ } \ else \ @@ -174,7 +172,7 @@ void my_parse_error(const char *s) to abort from the parser. */ -void MYSQLerror(const char *s) +void MYSQLerror(void *yythd, const char *s) { THD *thd= current_thd; @@ -780,7 +778,9 @@ static bool add_create_index (LEX *lex, bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); %} -%pure_parser /* We have threads */ +%pure-parser /* We have threads */ +%parse-param { void *yythd } +%lex-param { void *yythd } /* Currently there are 168 shift/reduce conflicts. We should not introduce new conflicts any more. debian/patches/series0000664000000000000000000000051312311537406012035 0ustar 10_percona-server-prefix.dpatch 20_scripts__mysql_create_system_tables__no_test.dpatch 30_scripts__mysqld_safe.sh__signals.dpatch 40_scripts__mysql_install_db.sh__no_test.dpatch 50_mysql-test__db_test.dpatch 70_mysql_va_list.patch patch-sql_sql__yacc.yy fix-implicit-conversion.patch CVE-2014-0001.patch fix_standalone_tests.patch debian/patches/30_scripts__mysqld_safe.sh__signals.dpatch0000664000000000000000000000214512270162510021011 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: 30_scripts__mysqld_safe.sh__signals.patch by @DPATCH@ --- a/scripts/mysqld_safe.sh +++ b/scripts/mysqld_safe.sh @@ -33,8 +33,6 @@ grastate_loc="" syslog_tag_mysqld=mysqld syslog_tag_mysqld_safe=mysqld_safe -trap '' 1 2 3 15 # we shouldn't let anyone kill us - # MySQL-specific environment variable. First off, it's not really a umask, # it's the desired mode. Second, it follows umask(2), not umask(3) in that # octal needs to be explicit. Our shell might be a proper sh without printf, @@ -880,6 +878,12 @@ then exit 1 fi +# From now on, we catch signals to do a proper shutdown of mysqld +# when signalled to do so. +# +trap '@bindir@/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf refresh' 1 # HUP +trap '@bindir@/mysqladmin --defaults-extra-file=/etc/mysql/debian.cnf shutdown' 2 3 15 # INT QUIT and TERM + # # Uncomment the following lines if you want all tables to be automatically # checked and repaired during startup. You should add sensible key_buffer debian/patches/20_scripts__mysql_create_system_tables__no_test.dpatch0000664000000000000000000000377312270162510023541 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: 20_scripts__mysql_create_system_tables__no_test.patch by @DPATCH@ 20_scripts__mysql_create_system_tables__no_test.patch by A user with no password prevents a normal user from login under certain circumstances as it is checked first. See #301741. http://bugs.mysql.com/bug.php?id=6901 --- a/scripts/mysql_system_tables_data.sql +++ b/scripts/mysql_system_tables_data.sql @@ -31,8 +31,6 @@ SELECT REPLACE((SELECT REPLACE(@get_host -- Fill "db" table with default grants for anyone to -- access database 'test' and 'test_%' if "db" table didn't exist CREATE TEMPORARY TABLE tmp_db LIKE db; -INSERT INTO tmp_db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y'); -INSERT INTO tmp_db VALUES ('%','test\_%','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y'); INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0; DROP TABLE tmp_db; @@ -44,8 +42,6 @@ INSERT INTO tmp_user VALUES ('localhost' REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','' FROM dual WHERE LOWER( @current_hostname) != 'localhost'; REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',''); REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'',''); -INSERT INTO tmp_user (host,user) VALUES ('localhost',''); -INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE LOWER(@current_hostname ) != 'localhost'; INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0; DROP TABLE tmp_user; debian/patches/10_percona-server-prefix.dpatch0000664000000000000000000000405312270162510016530 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Fixed prefix to /usr @DPATCH@ --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -75,7 +75,7 @@ IF(UNIX) IF(INSTALL_LAYOUT MATCHES "RPM") SET(default_prefix "/usr") ELSEIF(INSTALL_LAYOUT MATCHES "DEB") - SET(default_prefix "/opt/mysql/server-${MYSQL_BASE_VERSION}") + SET(default_prefix "/usr") # This is required to avoid "cpack -GDEB" default of prefix=/usr SET(CPACK_SET_DESTDIR ON) ELSEIF(INSTALL_LAYOUT MATCHES "SVR4") @@ -178,8 +178,8 @@ SET(INSTALL_XINETDDIR_RPM # DEB layout # SET(INSTALL_BINDIR_DEB "bin") -SET(INSTALL_SBINDIR_DEB "bin") -SET(INSTALL_SCRIPTDIR_DEB "scripts") +SET(INSTALL_SBINDIR_DEB "sbin") +SET(INSTALL_SCRIPTDIR_DEB "bin") # SET(INSTALL_LIBDIR_DEB "lib") SET(INSTALL_PLUGINDIR_DEB "lib/mysql/plugin") @@ -188,16 +188,17 @@ SET(INSTALL_INCLUDEDIR_DEB # SET(INSTALL_DOCDIR_DEB "docs") SET(INSTALL_DOCREADMEDIR_DEB ".") -SET(INSTALL_MANDIR_DEB "man") -SET(INSTALL_INFODIR_DEB "docs") +SET(INSTALL_MANDIR_DEB "share/man") +SET(INSTALL_INFODIR_DEB "share/info") # SET(INSTALL_SHAREDIR_DEB "share") -SET(INSTALL_MYSQLSHAREDIR_DEB "share") -SET(INSTALL_MYSQLTESTDIR_DEB "mysql-test") -SET(INSTALL_SQLBENCHDIR_DEB ".") -SET(INSTALL_SUPPORTFILESDIR_DEB "support-files") +SET(INSTALL_MYSQLSHAREDIR_DEB "share/mysql") +SET(INSTALL_MYSQLTESTDIR_DEB "share/mysql-test") +SET(INSTALL_SQLBENCHDIR_DEB "share/sql-bench") +SET(INSTALL_SUPPORTFILESDIR_DEB "share/mysql") + # -SET(INSTALL_MYSQLDATADIR_DEB "data") +SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql") SET(INSTALL_PLUGINTESTDIR_DEB ${plugin_tests}) SET(INSTALL_XINETDDIR_DEB "/etc/xinetd.d") debian/patches/40_scripts__mysql_install_db.sh__no_test.dpatch0000664000000000000000000000110512270162510022051 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: 40_scripts__mysql_install_db.sh__no_test.patch by @DPATCH@ 40_scripts__mysql_install_db.sh__no_test.patch by scripts__mysql_install_db.sh__no_test http://bugs.mysql.com/bug.php?id=6901 --- a/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh @@ -356,7 +356,7 @@ then fi # Create database directories -for dir in $ldata $ldata/mysql $ldata/test +for dir in $ldata $ldata/mysql do if test ! -d $dir then debian/patches/70_mysql_va_list.patch0000664000000000000000000000351012307606133015034 0ustar Bug: http://bugs.mysql.com/bug.php?id=62769 Bug-Ubuntu: http://pad.lv/700982 Description: make sure va_list usage is portable to fix FTBFS on ARM Reviewed-by: Nicholas Bamber Last-Update: 2012-10-24 Index: mysql-5.5-5.5.31+dfsg/sql-common/client_plugin.c =================================================================== --- mysql-5.5-5.5.31+dfsg.orig/sql-common/client_plugin.c 2013-03-25 06:14:58.000000000 -0700 +++ mysql-5.5-5.5.31+dfsg/sql-common/client_plugin.c 2013-05-05 09:43:53.000000000 -0700 @@ -233,11 +233,13 @@ { MYSQL mysql; struct st_mysql_client_plugin **builtin; + va_list unused; if (initialized) return 0; bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */ + bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW); init_alloc_root(&mem_root, 128, 128); @@ -249,7 +251,7 @@ pthread_mutex_lock(&LOCK_load_client_plugin); for (builtin= mysql_client_builtins; *builtin; builtin++) - add_plugin(&mysql, *builtin, 0, 0, 0); + add_plugin(&mysql, *builtin, 0, 0, unused); pthread_mutex_unlock(&LOCK_load_client_plugin); @@ -293,9 +295,13 @@ mysql_client_register_plugin(MYSQL *mysql, struct st_mysql_client_plugin *plugin) { + va_list unused; + if (is_not_initialized(mysql, plugin->name)) return NULL; + bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ + pthread_mutex_lock(&LOCK_load_client_plugin); /* make sure the plugin wasn't loaded meanwhile */ @@ -307,7 +313,7 @@ plugin= NULL; } else - plugin= add_plugin(mysql, plugin, 0, 0, 0); + plugin= add_plugin(mysql, plugin, 0, 0, unused); pthread_mutex_unlock(&LOCK_load_client_plugin); return plugin; debian/patches/CVE-2014-0001.patch0000664000000000000000000000115112311351321013205 0ustar Description: Fix buffer overflow in client/mysql.cc via a long server version string. Origin: https://bugzilla.redhat.com/show_bug.cgi?id=1054592 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -1174,7 +1174,7 @@ int main(int argc,char *argv[]) put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.", INFO_INFO); - sprintf((char*) glob_buffer.ptr(), + snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(), "Your MySQL connection id is %lu\nServer version: %s\n", mysql_thread_id(&mysql), server_version_string(&mysql)); put_info((char*) glob_buffer.ptr(),INFO_INFO); debian/patches/50_mysql-test__db_test.dpatch0000664000000000000000000000210112270162510016263 0ustar #! /bin/sh /usr/share/dpatch/dpatch-run ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: 50_mysql-test__db_test.patch by Christian Hammers @DPATCH@ 50_mysql-test__db_test.patch by Christian Hammers Patch 20_scripts__mysql_create_system_tables__no_test.patch removes the rights for anybody to connect to the test database but the test suite depends on them. --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -3365,6 +3365,9 @@ sub mysql_install_db { # for a production system mtr_appendfile_to_file("$sql_dir/mysql_system_tables_data.sql", $bootstrap_sql_file); + + mtr_tofile($bootstrap_sql_file, "-- Debian removed the default privileges on the 'test' database\n"); + mtr_tofile($bootstrap_sql_file, "INSERT INTO mysql.db VALUES ('%','test','','Y','Y','Y','Y','Y','Y','N','Y','Y','Y','Y','Y','Y','Y','Y','N','N','Y','Y');\n"); # Add test data for timezone - this is just a subset, on a real # system these tables will be populated either by mysql_tzinfo_to_sql debian/rules0000775000000000000000000000460412307305325010254 0ustar #!/usr/bin/make -f export DH_VERBOSE=1 export DEB_BUILD_HARDENING=1 CMAKE=cmake TMP=$(CURDIR)/debian/tmp/ DISTRIBUTION := $(shell lsb_release -i -s) feature_set="community" major_version=31 minor_version=1 compilation_comment_release="Percona XtraDB Cluster (GPL), Release $(major_version).$(minor_version) ($(DISTRIBUTION))" prefix="/usr" builddir=release DEB_VERSION ?= $(shell dpkg-parsechangelog | egrep '^Version:' | cut -f 2 -d ' ') ifneq (,$(filter $(ARCH), i386 kfreebsd-i386 hurd-i386)) TAOCRYPT_OPT="-DTAOCRYPT_DISABLE_X86ASM" endif MYSQL_CFLAGS = -O2 -DBIG_JOINS=1 -fno-strict-aliasing $(TAOCRYPT_OPT) MYSQL_CXXFLAGS = -O3 -DBIG_JOINS=1 -felide-constructors -fno-exceptions -fno-rtti -fno-strict-aliasing $(TAOCRYPT_OPT) %: dh $@ --parallel --with autoreconf override_dh_auto_configure: mkdir $(builddir) cd $(builddir) && \ sh -c 'CFLAGS="$(MYSQL_CFLAGS)" \ CXXFLAGS="$(MYSQL_CXXFLAGS)" \ $(CMAKE) ../ -DBUILD_CONFIG=mysql_release \ -DCMAKE_VERBOSE_MAKEFILE=ON \ -DINSTALL_LAYOUT=DEB \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_EMBEDDED_SERVER=OFF \ -DWITH_INNODB_DISALLOW_WRITES=ON \ -DWITH_WSREP=ON \ -DMYSQL_UNIX_ADDR="/var/run/mysqld/mysqld.sock" \ -DFEATURE_SET=$(feature_set) \ -DCOMPILATION_COMMENT=$(compilation_comment_release) \ -DMYSQL_SERVE_SUFFIX=$(DEB_VERSION) \ -DWITH_PAM=ON' override_dh_auto_build: cd $(builddir) && make $(MAKE_JFLAG) # Build HandlerSocket echo "Configuring HandlerSocket" cd storage/HandlerSocket-Plugin-for-MySQL && \ CXX="$${HS_CXX:-g++}" CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/release/include" \ ./configure --with-mysql-source=$(CURDIR) \ --with-mysql-bindir=$(CURDIR)/release/scripts \ --with-mysql-plugindir=$(prefix)/lib/mysql/plugin \ --libdir=$(prefix)/lib \ --prefix=$(prefix) && \ make $(MAKE_JFLAG) # Build UDF cd UDF && \ CXX="$${UDF_CXX:-g++}" CXXFLAGS="$(CXXFLAGS) -I$(CURDIR)/release/include" \ ./configure --includedir=$(CURDIR)/include \ --libdir=$(prefix)/lib/mysql/plugin && \ make $(MAKE_JFLAG) override_dh_auto_install: cd $(builddir) && make DESTDIR=$(TMP) install cd storage/HandlerSocket-Plugin-for-MySQL && make DESTDIR=$(TMP) install cd UDF && make DESTDIR=$(TMP) install override_dh_installinit: dh_installinit --name=mysql --error-handler=: override_dh_clean: dh_clean -XUDF debian/percona-xtradb-cluster-client-5.5.lintian-overrides0000664000000000000000000000127012270162510020715 0ustar percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysql: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysql_client_test: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysqladmin: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysqlcheck: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysqldump: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysqlimport: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysqlshow: libmysqlclient percona-xtradb-cluster-client-5.5: embedded-library usr/bin/mysqlslap: libmysqlclient debian/orig-tar.sh0000775000000000000000000000075212276137620011265 0ustar #!/bin/bash -e VERSION=$2 TAR=../percona-xtradb-cluster-5.5_$VERSION.orig.tar.gz NEWTAR=../percona-xtradb-cluster-5.5_$VERSION+dfsg.orig.tar.bz2 DIR=percona-xtradb-cluster-5.5-$VERSION mkdir -p $DIR # Unpack ready fo re-packing tar -xzf $TAR -C $DIR --strip-components=1 # Repack excluding stuff we don't need GZIP=--best tar -cjf $NEWTAR \ --exclude '*percona-xtradb-cluster-tests/python/*' \ --exclude '*percona-xtradb-cluster-tests/subunit*' $DIR rm -rf $DIR $TAR debian/gbp.conf0000664000000000000000000000006512276144565010624 0ustar [DEFAULT] pristine-tar = True debian-branch = ubuntu debian/README.source0000664000000000000000000000064312276141006011351 0ustar Percona XtraDB Cluster for Debian ================================= Release tarballs can be downloaded from: http://www.percona.com/downloads/Percona-XtraDB-Cluster/LATEST/source/ The intent is that this will eventually be parsable using uscan with a watch file; for the time being please run: ./debian/orig-tar.sh NEW by hand to repack the tarball to remove bundled python code from other projects. debian/autoreconf0000664000000000000000000000005312307304225011254 0ustar storage/HandlerSocket-Plugin-for-MySQL UDF debian/percona-xtradb-cluster-server-5.5.logcheck.ignore.paranoid0000664000000000000000000000131012270162510022137 0ustar /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$ /etc/mysql/debian-start\[[0-9]+\]: Checking for crashed MySQL tables\.$ mysqld\[[0-9]+\]: $ 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$ 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'$ debian/percona-xtradb-cluster-client-5.5.dirs0000664000000000000000000000000012270162510016206 0ustar debian/percona-xtradb-cluster-client-5.5.install0000664000000000000000000000150412307310063016724 0ustar usr/bin/myisam_ftdump usr/bin/mysql usr/bin/mysql_client_test usr/bin/mysql_find_rows usr/bin/mysql_fix_extensions usr/bin/mysql_waitpid usr/bin/mysqlaccess usr/bin/mysqlaccess.conf usr/bin/mysqladmin usr/bin/mysqlbug usr/bin/mysqlcheck usr/bin/mysqldump usr/bin/mysqldumpslow usr/bin/mysqlimport usr/bin/mysqlshow usr/bin/mysqlslap usr/share/man/man1/myisam_ftdump.1 usr/share/man/man1/mysql.1 usr/share/man/man1/mysql_client_test.1 usr/share/man/man1/mysql_find_rows.1 usr/share/man/man1/mysql_fix_extensions.1 usr/share/man/man1/mysql_waitpid.1 usr/share/man/man1/mysqlaccess.1 usr/share/man/man1/mysqladmin.1 usr/share/man/man1/mysqlbug.1 usr/share/man/man1/mysqlcheck.1 usr/share/man/man1/mysqldump.1 usr/share/man/man1/mysqldumpslow.1 usr/share/man/man1/mysqlimport.1 usr/share/man/man1/mysqlshow.1 usr/share/man/man1/mysqlslap.1 debian/percona-xtradb-cluster-common-5.5.dirs0000664000000000000000000000002212270162510016224 0ustar etc/mysql/conf.d/ debian/percona-xtradb-cluster-server-5.5.config0000664000000000000000000000304612270162510016557 0ustar #!/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-5.1/nis_warning || true db_go fi # only ask this question on fresh installs, during "reconfiguration" and when # not upgrading from an existing 5.0 installation. # 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" ] && [ ! -e "/var/lib/mysql/debian-5.0.flag" ] ) || [ "$1" = "reconfigure" ]; then while :; do RET="" db_input high mysql-server/root_password || true db_go db_get mysql-server/root_password # if password isn't empty we ask for password verification if [ -z "$RET" ]; then db_fset mysql-server/root_password seen false db_fset mysql-server/root_password_again seen false break fi ROOT_PW="$RET" db_input high mysql-server/root_password_again || true db_go db_get mysql-server/root_password_again if [ "$RET" == "$ROOT_PW" ]; then ROOT_PW='' break fi db_fset mysql-server/password_mismatch seen false db_input critical mysql-server/password_mismatch db_set mysql-server/root_password "" db_set mysql-server/root_password_again "" db_go done fi debian/changelog0000664000000000000000000000311112312100004011015 0ustar percona-xtradb-cluster-5.5 (5.5.34-25.9+dfsg-0ubuntu4) trusty; urgency=medium * d/p/CVE-2014-0001.patch: - Fix buffer overflow in client/mysql.cc via a long server version string. CVE-2014-0001 * d/p/fix_standalone_tests.patch: Cherry pick patch from mysql-* packaging to ensure that MySQL testsuite can be run from /usr/lib/mysql-testsuite. -- James Page Tue, 18 Mar 2014 17:18:58 +0000 percona-xtradb-cluster-5.5 (5.5.34-25.9+dfsg-0ubuntu3) trusty; urgency=medium * d/p/70_mysql_va_list.patch: Cherry pick patch from mysql-5.5 to ensure that va_list usage is portable, fixing FTBFS on armhf and arm64. -- James Page Tue, 11 Mar 2014 15:24:43 +0000 percona-xtradb-cluster-5.5 (5.5.34-25.9+dfsg-0ubuntu2) trusty; urgency=medium * d/control,rules,autoreconf: Use dh-autoreconf to reconfigure UDF and HandlerSocket-Plugin-for-MySQL sub-projects, fixing FTBFS on ppc64el. * d/control: Align Provides/Breaks/Replaces/Conflicts to virtual-mysql-* approach for switching in/out MySQL alternatives. * d/control: Add lsb-release to BD's. * d/additions/pxc.cnf,percona-xtradb-cluster-common-5.5.install: Add PXC specific configuration to /etc/mysql/conf.d to disable MySQL query cache (LP: #1290331). * d/control: Drop dependency on libmysqlclient18 - not used. -- James Page Mon, 10 Mar 2014 17:31:43 +0000 percona-xtradb-cluster-5.5 (5.5.34-25.9+dfsg-0ubuntu1) trusty; urgency=medium * Initial release. -- James Page Mon, 10 Feb 2014 14:44:23 +0200 debian/control0000664000000000000000000001365712312077764010620 0ustar Source: percona-xtradb-cluster-5.5 Section: database Priority: extra Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian MySQL Maintainers Uploaders: James Page Build-Depends: autoconf, automake, bison, cmake, debhelper (>= 7.0.50~), devscripts, dh-autoreconf, fakeroot, hardening-wrapper, libaio-dev [linux-any], libncurses5-dev (>= 5.0-6), libpam-dev, libssl-dev, libtool, libwrap0-dev (>= 7.6-8.3), lsb-release, perl, po-debconf, zlib1g-dev (>= 1:1.1.3-5) Standards-Version: 3.9.5 Homepage: http://www.percona.com/software/percona-xtradb-cluster/ Vcs-Git: git://git.debian.org/git/pkg-mysql/percona-xtradb-cluster-5.5.git Vcs-Browser: http://git.debian.org/?p=pkg-mysql/percona-xtradb-cluster-5.5.git Package: percona-xtradb-cluster-common-5.5 Architecture: all Depends: mysql-common, ${misc:Depends} Multi-Arch: foreign Description: Percona Server database common files Percona XtraDB Cluster is based on the Percona Server database server and provides a High Availability solution. . Percona XtraDB Cluster provides synchronous replication, supports multi-master replication, parallel applying on slaves, automatic node provisioning with primary focus on data consistency. . This package includes files needed by all versions of the client library (e.g. /etc/mysql/my.cnf). Package: percona-xtradb-cluster-testsuite-5.5 Architecture: any Depends: percona-xtradb-cluster-client-5.5 (>= ${source:Version}), percona-xtradb-cluster-server-5.5 (>= ${source:Version}), ${misc:Depends}, ${shlibs:Depends} Provides: virtual-mysql-testsuite Breaks: mysql-testsuite-5.5, virtual-mysql-testsuite Replaces: mysql-testsuite-5.5, virtual-mysql-testsuite Description: Percona Server database test suite Percona XtraDB Cluster is based on the Percona Server database server and provides a High Availability solution. . Percona XtraDB Cluster provides synchronous replication, supports multi-master replication, parallel applying on slaves, automatic node provisioning with primary focus on data consistency. . This package includes the Percona XtraDB Cluster test framework that provides a means for verifying that Percona XtraDB Cluster and its client programs operate according to expectations Package: percona-xtradb-cluster-testsuite Architecture: all Depends: percona-xtradb-cluster-testsuite-5.5 (>= ${source:Version}), ${misc:Depends} Conflicts: mariadb-test, mysql-testsuite Description: Percona XtraDB Cluster database regression test suite This is a metapackage package that depends on the current "best" version of percona-xtradb-cluster-testsuite, as determined by the Percona XtraDB Cluster maintainers. Install this package if in doubt about which version you want, as this is the one considered to be in the best shape. Package: percona-xtradb-cluster-client-5.5 Architecture: any Depends: debianutils (>=1.6), libdbi-perl, percona-xtradb-cluster-common-5.5 (>= ${source:Version}), ${misc:Depends}, ${shlibs:Depends} Provides: virtual-mysql-client, virtual-mysql-client-core Breaks: mysql-client-5.5, mysql-client-core-5.5, virtual-mysql-client, virtual-mysql-client-core Replaces: mysql-client-5.5, mysql-client-core-5.5, virtual-mysql-client, virtual-mysql-client-core Description: Percona Server database client binaries Percona XtraDB Cluster is based on the Percona Server database server and provides a High Availability solution. . Percona XtraDB Cluster provides synchronous replication, supports multi-master replication, parallel applying on slaves, automatic node provisioning with primary focus on data consistency. . This package includes the client binaries and the additional tools innotop and mysqlreport. Package: percona-xtradb-cluster-client Architecture: all Depends: percona-xtradb-cluster-client-5.5 (>= ${source:Version}), ${misc:Depends} Conflicts: mariadb-client, mysql-client Description: Percona XtraDB Cluster database client This is a metapackage package that depends on the current "best" version of percona-xtradb-cluster-client, as determined by the Percona XtraDB Cluster maintainers. Install this package if in doubt about which version you want, as this is the one considered to be in the best shape. Package: percona-xtradb-cluster-server-5.5 Architecture: any Suggests: netcat-openbsd, pv, qpress, tinyca Depends: adduser (>= 3.40), iproute, libdbd-mysql-perl, libdbi-perl, lsb-base (>= 3.0-10), passwd, percona-xtrabackup (>= 2.1.4), percona-xtradb-cluster-client-5.5 (>= ${source:Version}), percona-xtradb-cluster-common-5.5 (>= ${source:Version}), percona-xtradb-cluster-galera-25, perl (>= 5.6), psmisc, python:any, rsync, socat, ${misc:Depends}, ${shlibs:Depends} Pre-Depends: debconf, ${misc:Pre-Depends} Provides: virtual-mysql-server, virtual-mysql-server-core Breaks: mysql-server-5.5, mysql-server-core-5.5, virtual-mysql-server, virtual-mysql-server-core Replaces: mysql-server-5.5, mysql-server-core-5.5, virtual-mysql-server, virtual-mysql-server-core Description: Percona Server database server binaries Percona XtraDB Cluster is based on the Percona Server database server and provides a High Availability solution. . Percona XtraDB Cluster provides synchronous replication, supports multi-master replication, parallel applying on slaves, automatic node provisioning with primary focus on data consistency. . This package includes the server binaries. Package: percona-xtradb-cluster-server Architecture: all Depends: percona-xtradb-cluster-server-5.5 (>= ${source:Version}), ${misc:Depends} Conflicts: mariadb-server, mysql-server Description: Percona XtraDB Cluster database server This is a metapackage package that depends on the current "best" version of percona-xtradb-cluster-server, as determined by the Percona XtraDB Cluster maintainers. Install this package if in doubt about which version you want, as this is the one considered to be in the best shape. debian/percona-xtradb-cluster-server-5.5.postinst0000664000000000000000000003074512270162510017203 0ustar #!/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 } PERCONA_PREFIX=/usr export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin:$PERCONA_PREFIX/bin # This command can be used as pipe to syslog. With "-s" it also logs to stderr. ERR_LOGGER="logger -p daemon.err -t mysqld_safe -i" invoke() { if [ -x /usr/sbin/invoke-rc.d ]; then invoke-rc.d mysql $1 else /etc/init.d/mysql $1 fi } MYSQL_BOOTSTRAP="${PERCONA_PREFIX}/sbin/mysqld --bootstrap --user=mysql --skip-grant-tables" test_mysql_access() { mysql --no-defaults -u root -h localhost /dev/null 2>&1 } # call with $1 = "online" to connect to the server, otherwise it bootstraps set_mysql_rootpw() { # forget we ever saw the password. don't use reset to keep the seen status db_set mysql-server/root_password "" tfile=`mktemp` if [ ! -f "$tfile" ]; then return 1 fi # this avoids us having to call "test" or "[" on $rootpw cat << EOF > $tfile USE mysql; UPDATE user SET password=PASSWORD("$rootpw") WHERE user='root'; FLUSH PRIVILEGES; EOF if grep -q 'PASSWORD("")' $tfile; then retval=0 elif [ "$1" = "online" ]; then mysql --no-defaults -u root -h localhost <$tfile >/dev/null retval=$? else $MYSQL_BOOTSTRAP <$tfile retval=$? fi rm -f $tfile return $retval } # This is necessary because mysql_install_db removes the pid file in /var/run # and because changed configuration options should take effect immediately. # In case the server wasn't running at all it should be ok if the stop # script fails. I can't tell at this point because of the cleaned /var/run. set +e; invoke stop; set -e case "$1" in configure) mysql_datadir=${PERCONA_PREFIX}/share/mysql mysql_statedir=/var/lib/mysql mysql_rundir=/var/run/mysqld mysql_logdir=/var/log mysql_cfgdir=/etc/mysql mysql_newlogdir=/var/log/mysql mysql_upgradedir=/var/lib/mysql-upgrade # first things first, if the following symlink exists, it is a preserved # copy the old data dir from a mysql upgrade that would have otherwise # been replaced by an empty mysql dir. this should restore it. for dir in DATADIR LOGDIR; do if [ "$dir" = "DATADIR" ]; then targetdir=$mysql_statedir; else targetdir=$mysql_newlogdir; fi savelink="$mysql_upgradedir/$dir.link" if [ -L "$savelink" ]; then # If the targetdir was a symlink before we upgraded it is supposed # to be either still be present or not existing anymore now. if [ -L "$targetdir" ]; then rm "$savelink" elif [ ! -d "$targetdir" ]; then mv "$savelink" "$targetdir" else # this should never even happen, but just in case... mysql_tmp=`mktemp -d -t mysql-symlink-restore-XXXXXX` echo "this is very strange! see $mysql_tmp/README..." >&2 mv "$targetdir" "$mysql_tmp" cat << EOF > "$mysql_tmp/README" if you're reading this, it's most likely because you had replaced /var/lib/mysql with a symlink, then upgraded to a new version of mysql, and then dpkg removed your symlink (see #182747 and others). the mysql packages noticed that this happened, and as a workaround have restored it. however, because /var/lib/mysql seems to have been re-created in the meantime, and because we don't want to rm -rf something we don't know as much about, we're going to leave this unexpected directory here. if your database looks normal, and this is not a symlink to your database, you should be able to blow this all away. EOF fi fi rmdir $mysql_upgradedir 2>/dev/null || true done # Ensure the existence and right permissions for the database and # log files. if [ ! -d "$mysql_statedir" -a ! -L "$mysql_statedir" ]; then mkdir "$mysql_statedir"; fi if [ ! -d "$mysql_statedir/mysql" -a ! -L "$mysql_statedir/mysql" ]; then mkdir "$mysql_statedir/mysql"; fi if [ ! -d "$mysql_newlogdir" -a ! -L "$mysql_newlogdir" ]; then mkdir "$mysql_newlogdir"; fi # When creating an ext3 jounal on an already mounted filesystem like e.g. # /var/lib/mysql, you get a .journal file that is not modifyable by chown. # The mysql_datadir must not be writable by the mysql user under any # circumstances as it contains scripts that are executed by root. set +e chown -R 0:0 $mysql_datadir chown -R mysql $mysql_statedir chown -R mysql $mysql_rundir chown -R mysql:adm $mysql_newlogdir; chmod 2750 $mysql_newlogdir; for i in log err; do touch $mysql_logdir/mysql.$i chown mysql:adm $mysql_logdir/mysql.$i chmod 0640 $mysql_logdir/mysql.$i done set -e # This is important to avoid dataloss when there is a removed # percona-xtradb-cluster-server version from Woody lying around which used the same # data directory and then somewhen gets purged by the admin. db_set mysql-server-5.1/postrm_remove_database false || true # To avoid downgrades. touch $mysql_statedir/debian-5.5.flag # initiate databases. Output is not allowed by debconf :-( # Debian: beware of the bashisms... # Debian: can safely run on upgrades with existing databases set +e bash ${PERCONA_PREFIX}/bin/mysql_install_db --user=mysql --rpm 2>&1 | $ERR_LOGGER if [ "$?" != "0" ]; then echo "ATTENTION: An error has occured. More info is in the syslog!" fi set -e ## On every reconfiguration the maintenance user is recreated. # # - It is easier to regenerate the password every time but as people # use fancy rsync scripts and file alteration monitors, the existing # password is used and existing files not touched. # - The mysqld statement is like that in mysql_install_db because the # server is not already running. This has some implications: # - The amount of newlines and semicolons in the query is important! # - GRANT is not possible with --skip-grant-tables and "INSERT # (user,host..) VALUES" is not --ansi compliant # - The echo is just for readability. ash's buildin has no "-e" so use echo. # - The Super_priv, Show_db_priv, Create_tmp_table_priv and Lock_tables_priv # may not be present as old Woody 3.23 databases did not have it and the # admin might not already have run mysql_upgrade which adds them. # As the binlog cron scripts to need at least the Super_priv, I do first # the old query which always succeeds and then the new which may or may not. # recreate the credentials file if not present or without mysql_upgrade stanza dc=$mysql_cfgdir/debian.cnf; if [ -e "$dc" -a -n "`fgrep mysql_upgrade $dc 2>/dev/null`" ]; then pass="`sed -n 's/^[ ]*password *= *// p' $dc | head -n 1`" else pass=`perl -e 'print map{("a".."z","A".."Z",0..9)[int(rand(62))]}(1..16)'`; if [ ! -d "$mysql_cfgdir" ]; then install -o 0 -g 0 -m 0755 -d $mysql_cfgdir; fi cat /dev/null > $dc echo "# Automatically generated for Debian scripts. DO NOT TOUCH!" >>$dc echo "[client]" >>$dc echo "host = localhost" >>$dc echo "user = debian-sys-maint" >>$dc echo "password = $pass" >>$dc echo "socket = /var/run/mysqld/mysqld.sock" >>$dc echo "[mysql_upgrade]" >>$dc echo "host = localhost" >>$dc echo "user = debian-sys-maint" >>$dc echo "password = $pass" >>$dc echo "socket = /var/run/mysqld/mysqld.sock" >>$dc echo "basedir = ${PERCONA_PREFIX}" >>$dc fi # If this dir chmod go+w then the admin did it. But this file should not. chown 0:0 $dc chmod 0600 $dc # update privilege tables password_column_fix_query=`echo -e \ "USE mysql\n" \ "ALTER TABLE user CHANGE Password Password char(41) character set latin1 collate latin1_bin DEFAULT '' NOT NULL"`; replace_query=`echo -e \ "USE mysql\n" \ "REPLACE INTO user SET " \ " host='localhost', user='debian-sys-maint', password=password('$pass'), " \ " Select_priv='Y', Insert_priv='Y', Update_priv='Y', Delete_priv='Y', " \ " Create_priv='Y', Drop_priv='Y', Reload_priv='Y', Shutdown_priv='Y', " \ " Process_priv='Y', File_priv='Y', Grant_priv='Y', References_priv='Y', " \ " Index_priv='Y', Alter_priv='Y', Super_priv='Y', Show_db_priv='Y', "\ " Create_tmp_table_priv='Y', Lock_tables_priv='Y', Execute_priv='Y', "\ " Repl_slave_priv='Y', Repl_client_priv='Y', Create_view_priv='Y', "\ " Show_view_priv='Y', Create_routine_priv='Y', Alter_routine_priv='Y', "\ " Create_user_priv='Y', Event_priv='Y', Trigger_priv='Y' "`; fix_privs=`echo -e \ "USE mysql;\n" \ "ALTER TABLE user ADD column Create_view_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " \ "ALTER TABLE user ADD column Show_view_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " \ "ALTER TABLE user ADD column Create_routine_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " \ "ALTER TABLE user ADD column Alter_routine_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " \ "ALTER TABLE user ADD column Create_user_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " \ "ALTER TABLE user ADD column Event_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " \ "ALTER TABLE user ADD column Trigger_priv enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N'; " ` # Engines supported by etch should be installed per default. The query sequence is supposed # to be aborted if the CREATE TABLE fails due to an already existent table in which case the # admin might already have chosen to remove one or more plugins. Newlines are necessary. install_plugins=`echo -e \ "USE mysql;\n" \ "CREATE TABLE plugin (name char(64) COLLATE utf8_bin NOT NULL DEFAULT '', " \ " dl char(128) COLLATE utf8_bin NOT NULL DEFAULT '', " \ " PRIMARY KEY (name)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='MySQL plugins';\n" \ "INSERT INTO plugin VALUES ('innodb', 'ha_innodb.so');\n" \ "INSERT INTO plugin VALUES ('federated', 'ha_federated.so');\n" \ "INSERT INTO plugin VALUES ('blackhole', 'ha_blackhole.so');\n" \ "INSERT INTO plugin VALUES ('archive', 'ha_archive.so');" ` # Upgrade password column format before the root password gets set. echo "$password_column_fix_query" | $MYSQL_BOOTSTRAP 2>&1 | $ERR_LOGGER db_get mysql-server/root_password && rootpw="$RET" if ! set_mysql_rootpw; then password_error="yes" fi echo "$fix_privs" | $MYSQL_BOOTSTRAP 2>&1 | $ERR_LOGGER echo "$replace_query" | $MYSQL_BOOTSTRAP 2>&1 | $ERR_LOGGER set +e echo "$install_plugins" | $MYSQL_BOOTSTRAP 2>&1 | $ERR_LOGGER set -e ;; abort-upgrade|abort-remove|abort-configure) ;; *) echo "postinst called with unknown argument '$1'" 1>&2 exit 1 ;; esac # here we check to see if we can connect as root without a password # this should catch upgrades from previous versions where the root # password wasn't set. if there is a password, or if the connection # fails for any other reason, nothing happens. if [ "$1" = "configure" ]; then if test_mysql_access; then db_input medium mysql-server/root_password || true db_go db_get mysql-server/root_password && rootpw="$RET" if ! set_mysql_rootpw "online"; then password_error="yes" fi fi if [ "$password_error" = "yes" ]; then db_input high mysql-server/error_setting_password || true db_go fi fi db_stop # in case invoke failes #DEBHELPER# exit 0 debian/percona-xtradb-cluster-server-5.5.docs0000664000000000000000000000017412270162510016241 0ustar Docs/sp-imp-spec.txt Docs/myisam.txt README Docs/INSTALL-BINARY Docs/mysql.info release/Docs/INFO_BIN release/Docs/INFO_SRC debian/percona-xtradb-cluster-server-5.5.templates0000664000000000000000000000632112270162510017307 0ustar # These templates have been reviewed by the debian-l10n-english # team # # If modifications/additions/rewording are needed, please ask # for an advice to debian-l10n-english@lists.debian.org # # Even minor modifications require translation updates and such # changes should be coordinated with translators and reviewers. Template: percona-xtradb-cluster-server-5.5/really_downgrade Type: boolean Default: false _Description: Really proceed with downgrade? A file named /var/lib/mysql/debian-*.flag exists on this system. . Such file is an indication that a mysql-server package with a higher version has been installed earlier. . There is no guarantee that the version you're currently installing will be able to use the current databases. Template: mysql-server-5.1/nis_warning Type: note #flag:translate!:3,5 _Description: Important note for NIS/YP users To use MySQL, the following entries for users and groups should be added to the system: . /etc/passwd : mysql:x:100:101:Percona Server:/var/lib/mysql:/bin/false /etc/group : mysql:x:101: . You should also check the permissions and the owner of the /var/lib/mysql directory: . /var/lib/mysql: drwxr-xr-x mysql mysql Template: mysql-server-5.1/postrm_remove_databases Type: boolean Default: false _Description: Remove all Percona Server databases? The /var/lib/mysql directory which contains the Percona Server databases is about to be removed. . If you're removing the Percona Server package in order to later install a more recent version or if a different mysql-server package is already using it, the data should be kept. Template: mysql-server/start_on_boot Type: boolean Default: true _Description: Start the Percona Server daemon on boot? The Percona Server daemon can be launched automatically at boot time or manually with the '/etc/init.d/mysql start' command. Template: mysql-server/root_password Type: password _Description: New password for the Percona Server "root" user: While not mandatory, it is highly recommended that you set a password for the Percona Server administrative "root" user. . If that field is left blank, the password will not be changed. Template: mysql-server/root_password_again Type: password _Description: Repeat password for the Percona Server "root" user: Template: mysql-server/error_setting_password Type: error _Description: Unable to set password for the Percona Server "root" user An error occurred while setting the password for the Percona Server administrative user. This may have happened because the account already has a password, or because of a communication problem with the Percona Server daemon. . You should check the account's password after the package installation. . Please read the /usr/share/doc/mysql-server-5.5/README.Debian file for more information. Template: mysql-server/password_mismatch Type: error _Description: Password input error The two passwords you entered were not the same. Please try again. Template: mysql-server/no_upgrade_when_using_ndb Type: error _Description: NDB Cluster seems to be in use Percona-Server-5.5 has orphaned NDB Cluster support. Please migrate to the new mysql-cluster package and remove all lines starting with "ndb" from all config files below /etc/mysql/. debian/percona-xtradb-cluster-common-5.5.install0000664000000000000000000000005312307341045016740 0ustar debian/additions/pxc.cnf /etc/mysql/conf.d debian/percona-xtradb-cluster-server-5.5.postrm0000664000000000000000000000475012270162510016641 0ustar #!/bin/bash -e # It is possible that Debconf has already been removed, too. if [ -f /usr/share/debconf/confmodule ]; then . /usr/share/debconf/confmodule fi PERCONA_PREFIX=/usr export PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin:$PERCONA_PREFIX/bin 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="${PERCONA_PREFIX}/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-server* 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-5.1/postrm_remove_databases || true db_go || true db_get mysql-server-5.1/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/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 # no DEBHELPER here, "update-rc.d remove" fails if mysql-server is installed exit 0