mysql / mysql-utilities Goto Github PK
View Code? Open in Web Editor NEWMySQL Utilities is a set of easy-to-use scripts intended to make working with MySQL servers easier.
License: GNU General Public License v2.0
MySQL Utilities is a set of easy-to-use scripts intended to make working with MySQL servers easier.
License: GNU General Public License v2.0
MySQL Utilities 1.6 This is a release of MySQL Utilities, the dual-license, complete database modeling, administration and development program for MySQL. For the avoidance of doubt, this particular copy of the software is released under the version 2 of the GNU General Public License. MySQL Utilities is brought to you by the MySQL team at Oracle. Copyright (c) 2010, 2016 Oracle and/or its affiliates. All rights reserved. For more information on MySQL Utilities, visit http://www.mysql.com/products/enterprise/utilities.html For more downloads and the source of MySQL Utilities, visit http://dev.mysql.com/downloads/utilities License information can be found in the LICENSE.txt file. This distribution may include materials developed by third parties. For license and attribution notices for these materials, please refer to the documentation that accompanies this distribution. A copy of the license/notices is also reproduced below. 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. ******************************************************************** Third-Party Component Notices ********************************************************************* %%The following software may be included in this product: Python Use of any of this software is governed by the terms of the license below: Python 2.7 license This is the official license for the Python 2.7 release: A. HISTORY OF THE SOFTWARE ========================== Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands as a successor of a language called ABC. Guido remains Python's principal author, although it includes many contributions from others. In 1995, Guido continued his work on Python at the Corporation for National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) in Reston, Virginia where he released several versions of the software. In May 2000, Guido and the Python core development team moved to BeOpen.com to form the BeOpen PythonLabs team. In October of the same year, the PythonLabs team moved to Digital Creations (now Zope Corporation, see http://www.zope.com). In 2001, the Python Software Foundation (PSF, see http://www.python.org/psf/) was formed, a non-profit organization created specifically to own Python-related Intellectual Property. Zope Corporation is a sponsoring member of the PSF. All Python releases are Open Source (see http://www.opensource.org for the Open Source Definition). Historically, most, but not all, Python releases have also been GPL-compatible; the table below summarizes the various releases. Release Derived Year Owner GPL- from compatible? (1) 0.9.0 thru 1.2 1991-1995 CWI yes 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes 1.6 1.5.2 2000 CNRI no 2.0 1.6 2000 BeOpen.com no 1.6.1 1.6 2001 CNRI yes (2) 2.1 2.0+1.6.1 2001 PSF no 2.0.1 2.0+1.6.1 2001 PSF yes 2.1.1 2.1+2.0.1 2001 PSF yes 2.2 2.1.1 2001 PSF yes 2.1.2 2.1.1 2002 PSF yes 2.1.3 2.1.2 2002 PSF yes 2.2.1 2.2 2002 PSF yes 2.2.2 2.2.1 2002 PSF yes 2.2.3 2.2.2 2003 PSF yes 2.3 2.2.2 2002-2003 PSF yes 2.3.1 2.3 2002-2003 PSF yes 2.3.2 2.3.1 2002-2003 PSF yes 2.3.3 2.3.2 2002-2003 PSF yes 2.3.4 2.3.3 2004 PSF yes 2.3.5 2.3.4 2005 PSF yes 2.4 2.3 2004 PSF yes 2.4.1 2.4 2005 PSF yes 2.4.2 2.4.1 2005 PSF yes 2.4.3 2.4.2 2006 PSF yes 2.4.4 2.4.3 2006 PSF yes 2.5 2.4 2006 PSF yes 2.5.1 2.5 2007 PSF yes 2.5.2 2.5.1 2008 PSF yes 2.5.3 2.5.2 2008 PSF yes 2.6 2.5 2008 PSF yes 2.6.1 2.6 2008 PSF yes 2.6.2 2.6.1 2009 PSF yes 2.6.3 2.6.2 2009 PSF yes 2.6.4 2.6.3 2009 PSF yes 2.6.5 2.6.4 2010 PSF yes 2.7 2.6 2010 PSF yes Footnotes: (1) GPL-compatible doesn't mean that we're distributing Python under the GPL. All Python licenses, unlike the GPL, let you distribute a modified version without making your changes open source. The GPL-compatible licenses make it possible to combine Python with other software that is released under the GPL; the others don't. (2) According to Richard Stallman, 1.6.1 is not GPL-compatible, because its license has a choice of law clause. According to CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 is "not incompatible" with the GPL. Thanks to the many outside volunteers who have worked under Guido's direction to make these releases possible. B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON =============================================================== PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 -------------------------------------------- 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using this software ("Python") in source or binary form and its associated documentation. 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Python Software Foundation; All Rights Reserved" are retained in Python alone or in any derivative version prepared by Licensee. 3. In the event Licensee prepares a derivative work that is based on or incorporates Python or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python. 4. PSF is making Python available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By copying, installing or otherwise using Python, Licensee agrees to be bound by the terms and conditions of this License Agreement. BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 ------------------------------------------- BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the Individual or Organization ("Licensee") accessing and otherwise using this software in source or binary form and its associated documentation ("the Software"). 2. Subject to the terms and conditions of this BeOpen Python License Agreement, BeOpen hereby grants Licensee a non-exclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use the Software alone or in any derivative version, provided, however, that the BeOpen Python License is retained in the Software, alone or in any derivative version prepared by Licensee. 3. BeOpen is making the Software available to Licensee on an "AS IS" basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 5. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 6. This License Agreement shall be governed by and interpreted in all respects by the law of the State of California, excluding conflict of law provisions. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between BeOpen and Licensee. This License Agreement does not grant permission to use BeOpen trademarks or trade names in a trademark sense to endorse or promote products or services of Licensee, or any third party. As an exception, the "BeOpen Python" logos available at http://www.pythonlabs.com/logos.html may be used according to the permissions granted on that web page. 7. By copying, installing or otherwise using the software, Licensee agrees to be bound by the terms and conditions of this License Agreement. CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 --------------------------------------- 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston White Drive, Reston, VA 20191 ("CNRI"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 1.6.1 software in source or binary form and its associated documentation. 2. Subject to the terms and conditions of this License Agreement, CNRI hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 1.6.1 alone or in any derivative version, provided, however, that CNRI's License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) 1995-2001 Corporation for National Research Initiatives; All Rights Reserved" are retained in Python 1.6.1 alone or in any derivative version prepared by Licensee. Alternately, in lieu of CNRI's License Agreement, Licensee may substitute the following text (omitting the quotes): "Python 1.6.1 is made available subject to the terms and conditions in CNRI's License Agreement. This Agreement together with Python 1.6.1 may be located on the Internet using the following unique, persistent identifier (known as a handle): 1895.22/1013. This Agreement may also be obtained from a proxy server on the Internet using the following URL: http://hdl.handle.net/1895.22/1013". 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 1.6.1 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 1.6.1. 4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. This License Agreement shall be governed by the federal intellectual property law of the United States, including without limitation the federal copyright law, and, to the extent such U.S. federal law does not apply, by the law of the Commonwealth of Virginia, excluding Virginia's conflict of law provisions. Notwithstanding the foregoing, with regard to derivative works based on Python 1.6.1 that incorporate non-separable material that was previously distributed under the GNU General Public License (GPL), the law of the Commonwealth of Virginia shall govern this License Agreement only as to issues arising under or with respect to Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between CNRI and Licensee. This License Agreement does not grant permission to use CNRI trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By clicking on the "ACCEPT" button where indicated, or by copying, installing or otherwise using Python 1.6.1, Licensee agrees to be bound by the terms and conditions of this License Agreement. ACCEPT CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 -------------------------------------------------- Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, The Netherlands. All rights reserved. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of Stichting Mathematisch Centrum or CWI not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE FOR ANY SPECIAL, 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. Additional Conditions for this Windows binary build --------------------------------------------------- This program is linked with and uses Microsoft Distributable Code, copyrighted by Microsoft Corporation. The Microsoft Distributable Code includes the following files: msvcr90.dll msvcp90.dll msvcm90.dll If you further distribute programs that include the Microsoft Distributable Code, you must comply with the restrictions on distribution specified by Microsoft. In particular, you must require distributors and external end users to agree to terms that protect the Microsoft Distributable Code at least as much as Microsoft's own requirements for the Distributable Code. See Microsoft's documentation (included in its developer tools and on its website at microsoft.com) for specific details. Redistribution of the Windows binary build of the Python interpreter complies with this agreement, provided that you do not: - alter any copyright, trademark or patent notice in Microsoft's Distributable Code; - use Microsoft's trademarks in your programs' names or in a way that suggests your programs come from or are endorsed by Microsoft; - distribute Microsoft's Distributable Code to run on a platform other than Microsoft operating systems, run-time technologies or application platforms; or - include Microsoft Distributable Code in malicious, deceptive or unlawful programs. These restrictions apply only to the Microsoft Distributable Code as defined above, not to Python itself or any programs running on the Python interpreter. The redistribution of the Python interpreter and libraries is governed by the Python Software License included with this file, or by other licenses as marked. This copy of Python includes a copy of bzip2, which is licensed under the following terms: -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all documentation, are copyright (C) 1996-2007 Julian R Seward. 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. 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. 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. Julian Seward, [email protected] bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- This copy of Python includes a copy of Berkeley DB, which is licensed under the following terms: /*- * $Id: LICENSE,v 12.9 2008/02/07 17:12:17 mark Exp $ */ The following is the license that applies to this copy of the Berkeley DB software. For a license to use the Berkeley DB software under conditions other than those described here, or to purchase support for this software, please contact Oracle at [email protected]. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= /* * Copyright (c) 1990,2008 Oracle. 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. Redistributions in any form must be accompanied by information on * how to obtain complete source code for the DB software and any * accompanying software that uses the DB software. The source code * must either be included in the distribution or be available for no * more than the cost of distribution plus a nominal fee, and must be * freely redistributable under reasonable conditions. For an * executable file, complete source code means the source code for all * modules it contains. It does not include source code for modules or * files that typically accompany the major components of the operating * system on which the executable file runs. * * THIS SOFTWARE IS PROVIDED BY ORACLE ``AS IS'' AND ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR * NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL ORACLE 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. */ /* * Copyright (c) 1990, 1993, 1994, 1995 * The Regents of the University of California. 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 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. */ /* * Copyright (c) 1995, 1996 * The President and Fellows of Harvard University. 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 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 HARVARD AND ITS 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 HARVARD OR ITS 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. */ =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= /*** * ASM: a very small and fast Java bytecode manipulation framework * Copyright (c) 2000-2005 INRIA, France Telecom * 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 copyright holders 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. */ This copy of Python includes a copy of Tcl, which is licensed under the following terms: This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., Scriptics Corporation, ActiveState Corporation and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. This copy of Python includes a copy of Tk, which is licensed under the following terms: This software is copyrighted by the Regents of the University of California, Sun Microsystems, Inc., and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. This copy of Python includes a copy of Tix, which is licensed under the following terms: Copyright (c) 1993-1999 Ioi Kim Lam. Copyright (c) 2000-2001 Tix Project Group. Copyright (c) 2004 ActiveState This software is copyrighted by the above entities and other parties. The following terms apply to all files associated with the software unless explicitly disclaimed in individual files. The authors hereby grant permission to use, copy, modify, distribute, and license this software and its documentation for any purpose, provided that existing copyright notices are retained in all copies and that this notice is included verbatim in any distributions. No written agreement, license, or royalty fee is required for any of the authorized uses. Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply. IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. GOVERNMENT USE: If you are acquiring this software on behalf of the U.S. government, the Government shall have only "Restricted Rights" in the software and related documentation as defined in the Federal Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you are acquiring the software on behalf of the Department of Defense, the software shall be classified as "Commercial Computer Software" and the Government shall have only "Restricted Rights" as defined in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the foregoing, the authors grant the U.S. Government and others acting in its behalf permission to use and distribute the software in accordance with the terms specified in this license. ---------------------------------------------------------------------- Parts of this software are based on the Tcl/Tk software copyrighted by the Regents of the University of California, Sun Microsystems, Inc., and other parties. The original license terms of the Tcl/Tk software distribution is included in the file docs/license.tcltk. Parts of this software are based on the HTML Library software copyrighted by Sun Microsystems, Inc. The original license terms of the HTML Library software distribution is included in the file docs/license.html_lib. *****************************************************************
If the IP address in the connection string contains 255, it is not parsed correctly.
For example, if you specify connection string like
--master=user0:[email protected]
It is parsed as
{'user': 'user0', 'passwd': 'pass0', 'host': '123.123.123.25', 'port': 5}
The fix is to change the _CONN_IPv4_NUM_ONLY
regular expression
in https://github.com/mysql/mysql-utilities/blob/master/mysql/utilities/common/ip_parser.py
Here it it,
without "--kill-connection" it's working ok,
[root@node1 ~]# mysqlprocgrep --server=root:123456@localhost --match-command=Query --age=40s
WARNING: Using a password on the command line interface can be insecure.
+------------------------+-------+-------+------------+-------+----------+-------+-------------+-----------------------+
| Connection | Id | User | Host | Db | Command | Time | State | Info |
+------------------------+-------+-------+------------+-------+----------+-------+-------------+-----------------------+
| root:@localhost:3306 | 1670 | root | localhost | None | Query | 554 | User sleep | select sleep(100000) |
| root:@localhost:3306 | 1671 | root | localhost | None | Query | 521 | User sleep | select sleep(10000) |
+------------------------+-------+-------+------------+-------+----------+-------+-------------+-----------------------+
And I tried to kill the connection,it produced error
[root@node1 ~]# mysqlprocgrep --server=root:123456@localhost --match-command=Query --age=40s --kill-connection
WARNING: Using a password on the command line interface can be insecure.
ERROR: Unread result found
My table name has 60 characters,
MysqlDbCompare concatenates the table name with the prefix "compare_" (cf mysql/utilities/common/dbcompare.py) without any verification.
Results : a Query failed in the log file ...
How can I manage this case ?
Using the latest version available on new ubuntu 18.04 1.6.5
Engine
Aurora MySQL 5.6.10a
mysqldbcopy --not-null-blobs --drop-first -vvv --source=$USER:$PASSW@$CLUSTER_WRITER_ENDPOINT:3470 --destination=source=$USER:$PASSW@$CLUSTER_WRITER_ENDPOINT:3470 skadate:skadate2
I already used the skip option with all layers. but the only one always give me a error is the "data" one i can't find the cause because the CLI only prints the above error message.
ERROR: Query failed. 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc
desc text' at line 1
For tables that have non-null TEXT (blob) columns, mysqldbexport generates an insert statement with a null value for the column and then generates an update statement.
This wont work when mysqldbimport tries to load the file generates by mysqldbexport, as the import fails with a ERROR: Query failed. 1048 (23000): Column '<blob column>' cannot be null
message.
Is there a way around this, or is this a known issue that needs to be fixed?
Or am I doing something wrong?
Specifically, mysqlfailover does not work with MySQL 8.0. It immediately fails with the following error
# Discovering slaves for master at <master-ip>:3306
# Discovering slave at <slave-1-ip>:3306
# Found slave: <slave-1-ip>:3306
# Discovering slave at <slave-2-ip>:3306
# Found slave: <slave-2-ip>:3306
# Checking privileges.
ERROR: Query failed. 1694 (HY000): Cannot modify @@session.sql_log_bin inside a transaction
for mysql 8.0.15
ERROR: Query failed. 1146 (42S02): Table 'mysql.proc' doesn't exist
Ubuntu 16.04.3 LTS
root@cwmon02:~/mysql-utilities# mysqlbinlogpurge
Traceback (most recent call last):
File "/usr/local/bin/mysqlbinlogpurge", line 28, in
from mysql.utilities.command.binlog_admin import binlog_purge
File "/usr/local/lib/python2.7/dist-packages/mysql/utilities/command/binlog_admin.py", line 38, in
from mysql.utilities.common.server import Server
File "/usr/local/lib/python2.7/dist-packages/mysql/utilities/common/server.py", line 33, in
import mysql.connector
ImportError: No module named connector
Despite being detected during install
root@cwmon02:~/mysql-utilities# python2.7 ./setup.py install
checking mysql for packages to distribute
packages found: ['mysql', 'mysql.utilities', 'mysql.utilities.command', 'mysql.utilities.common']
scripts found: ['scripts/mysqlrplsync.py', 'scripts/mysqldbexport.py', 'scripts/mysqlfailover.py', 'scripts/mysqlprocgrep.py', 'scripts/mysqlrplshow.py', 'scripts/mysqlgrants.py', 'scripts/mysqlslavetrx.py', 'scripts/mysqlrpladmin.py', 'scripts/mysqluc.py', 'scripts/mysqlserverinfo.py', 'scripts/mysqlauditadmin.py', 'scripts/mysqlrplms.py', 'scripts/mysqlauditgrep.py', 'scripts/mysqlfrm.py', 'scripts/mysqldiff.py', 'scripts/mysqldbcompare.py', 'scripts/mysqlreplicate.py', 'scripts/mysqluserclone.py', 'scripts/mysqlbinlogrotate.py', 'scripts/mysqlrplcheck.py', 'scripts/mysqlmetagrep.py', 'scripts/mysqlbinlogmove.py', 'scripts/mysqlindexcheck.py', 'scripts/mysqldbimport.py', 'scripts/mysqldiskusage.py', 'scripts/mysqlserverclone.py', 'scripts/mysqldbcopy.py', 'scripts/mysqlbinlogpurge.py']
package set set(['mysql.utilities.common', 'mysql.utilities.command', 'mysql.utilities', 'mysql'])
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
copying build/scripts-2.7/mysqlreplicate -> /usr/local/bin
copying build/scripts-2.7/mysqldiskusage -> /usr/local/bin
copying build/scripts-2.7/mysqlrplms -> /usr/local/bin
copying build/scripts-2.7/mysqlbinlogrotate -> /usr/local/bin
copying build/scripts-2.7/mysqldiff -> /usr/local/bin
copying build/scripts-2.7/mysqlfailover -> /usr/local/bin
copying build/scripts-2.7/mysqlrplshow -> /usr/local/bin
copying build/scripts-2.7/mysqlauditgrep -> /usr/local/bin
copying build/scripts-2.7/mysqlbinlogpurge -> /usr/local/bin
copying build/scripts-2.7/mysqlmetagrep -> /usr/local/bin
copying build/scripts-2.7/mysqldbexport -> /usr/local/bin
copying build/scripts-2.7/mysqldbcopy -> /usr/local/bin
copying build/scripts-2.7/mysqlbinlogmove -> /usr/local/bin
copying build/scripts-2.7/mysqlserverinfo -> /usr/local/bin
copying build/scripts-2.7/mysqlrplcheck -> /usr/local/bin
copying build/scripts-2.7/mysqlrpladmin -> /usr/local/bin
copying build/scripts-2.7/mysqlindexcheck -> /usr/local/bin
copying build/scripts-2.7/mysqluc -> /usr/local/bin
copying build/scripts-2.7/mysqlfrm -> /usr/local/bin
copying build/scripts-2.7/mysqlprocgrep -> /usr/local/bin
copying build/scripts-2.7/mysqlslavetrx -> /usr/local/bin
copying build/scripts-2.7/mysqldbimport -> /usr/local/bin
copying build/scripts-2.7/mysqlserverclone -> /usr/local/bin
copying build/scripts-2.7/mysqlauditadmin -> /usr/local/bin
copying build/scripts-2.7/mysqlgrants -> /usr/local/bin
copying build/scripts-2.7/mysqlrplsync -> /usr/local/bin
copying build/scripts-2.7/mysqldbcompare -> /usr/local/bin
copying build/scripts-2.7/mysqluserclone -> /usr/local/bin
changing mode of /usr/local/bin/mysqlreplicate to 755
changing mode of /usr/local/bin/mysqldiskusage to 755
changing mode of /usr/local/bin/mysqlrplms to 755
changing mode of /usr/local/bin/mysqlbinlogrotate to 755
changing mode of /usr/local/bin/mysqldiff to 755
changing mode of /usr/local/bin/mysqlfailover to 755
changing mode of /usr/local/bin/mysqlrplshow to 755
changing mode of /usr/local/bin/mysqlauditgrep to 755
changing mode of /usr/local/bin/mysqlbinlogpurge to 755
changing mode of /usr/local/bin/mysqlmetagrep to 755
changing mode of /usr/local/bin/mysqldbexport to 755
changing mode of /usr/local/bin/mysqldbcopy to 755
changing mode of /usr/local/bin/mysqlbinlogmove to 755
changing mode of /usr/local/bin/mysqlserverinfo to 755
changing mode of /usr/local/bin/mysqlrplcheck to 755
changing mode of /usr/local/bin/mysqlrpladmin to 755
changing mode of /usr/local/bin/mysqlindexcheck to 755
changing mode of /usr/local/bin/mysqluc to 755
changing mode of /usr/local/bin/mysqlfrm to 755
changing mode of /usr/local/bin/mysqlprocgrep to 755
changing mode of /usr/local/bin/mysqlslavetrx to 755
changing mode of /usr/local/bin/mysqldbimport to 755
changing mode of /usr/local/bin/mysqlserverclone to 755
changing mode of /usr/local/bin/mysqlauditadmin to 755
changing mode of /usr/local/bin/mysqlgrants to 755
changing mode of /usr/local/bin/mysqlrplsync to 755
changing mode of /usr/local/bin/mysqldbcompare to 755
changing mode of /usr/local/bin/mysqluserclone to 755
running install_egg_info
Removing /usr/local/lib/python2.7/dist-packages/mysql_utilities-1.6.5.egg-info
Writing /usr/local/lib/python2.7/dist-packages/mysql_utilities-1.6.5.egg-info
We are using AWS RDS MySQL version 5.6.10. I have installed mysql-utilities from https://github.com/mysql/mysql-utilities via the manual install method (python2 setup.py install
) and the mysql-connector-python
package from pip (pip install --user mysql-connector-python
). We are trying to see the diff between the 2 databases
Since I am using Python2
and by extension, pip
from Homebrew, I had to modify the script a little bit (using /usr/local/bin/python2
rather than /usr/bin/python
).
For mysqldiff
I am running the command:
mysqldiff \
--server1='[username1]:[password1]@[servername1].rds.amazonaws.com:3306' \
--server2='[username2]:[password2]@[servername2].rds.amazonaws.com:3306' \
--difftype=differ \
[databasename1]:[databasename2]
For mysqldbcompare
, I am running the command:
mysqldbcompare \
--server1='[username1]:[password1]@[servername1].rds.amazonaws.com:3306' \
--server2='[username2]:[password2]@[servername2].rds.amazonaws.com:3306' \
--difftype=differ \
[databasename1]:[databasename2]
However, I am getting the following errors:
# WARNING: Using a password on the command line interface can be insecure.
Traceback (most recent call last):
File "./src/mysqldbcompare", line 299, in <module>
servers = connect_servers(server1_values, server2_values, conn_opts)
File "/usr/local/lib/python2.7/site-packages/mysql/utilities/common/server.py", line 489, in connect_servers
source = get_server(src_name, src_dict, quiet, verbose=verbose)
File "/usr/local/lib/python2.7/site-packages/mysql/utilities/common/server.py", line 336, in get_server
server_conn.connect()
File "/usr/local/lib/python2.7/site-packages/mysql/utilities/common/server.py", line 1104, in connect
res = self.show_server_variable('character_set_client')
File "/usr/local/lib/python2.7/site-packages/mysql/utilities/common/server.py", line 1391, in show_server_variable
return self.exec_query("SHOW VARIABLES LIKE '%s'" % variable)
File "/usr/local/lib/python2.7/site-packages/mysql/utilities/common/server.py", line 1327, in exec_query
cur.close()
File "/usr/local/lib/python2.7/site-packages/mysql/connector/cursor.py", line 395, in close
self._connection.handle_unread_result()
File "/usr/local/lib/python2.7/site-packages/mysql/connector/connection_cext.py", line 614, in handle_unread_result
raise errors.InternalError("Unread result found")
mysql.connector.errors.InternalError: Unread result found
mysql-utilities
error:I tried manually connecting via mysql --host='[servername].rds.amazonaws.com' --user=[username] --password='[password]' --port=3306
and I was able to connect with no errors.
MySQL Version: 5.6.10 AWS RDS
Python 2 Version: Python 2.7.15 (from macOS Homebrew)
mysql-utilities
Version: 1.6.5
mysql-connector-python
Version: 8.0.13
I'm using MySQL Utilities mysqlfrm version 1.6.5 on Ubuntu 18.04.3, and I trying to use mysqlfrm to extract the create table ...
information from a .frm file. This file is part of a backup created with Percona's innobackupex
of a version 5.5 database. This is what I try (The full output attached, as well as the .frm file):
$ mysqlfrm --diagnostic -vvv game_action.frm
...
# Skipping to column data at : 2102
{'com_length': 17740,
'int_length': 17749,
'interval_count': 22048,
'interval_parts': 19521,
'n_length': 13616,
'null_fields': 8270,
'num_cols': 12912,
'pos': 12592,
'unknown': 24375}
# Fields per screen = 53
EXCEPTION: unpack requires a string argument of length 1
ERROR: Cannot read column data.
Opening the file in a hex editor indicates that the actual column data start near the very end of the file, at 0x3153:
...
00003150 04 00 0F 67 61 6D 65 5F 61 63 74 69 6F 6E 5F 69 ...game_action_i
00003160 64 00 05 00 08 67 61 6D 65 5F 69 64 00 06 00 08 d....game_id....
00003170 75 73 65 72 5F 69 64 00 07 00 11 67 61 6D 65 5F user_id....game_
00003180 69 6E 73 74 61 6E 63 65 5F 69 64 00 08 00 05 74 instance_id....t
00003190 79 70 65 00 09 00 07 61 6D 6F 75 6E 74 00 0A 00 ype....amount...
000031A0 09 63 75 72 72 65 6E 63 79 00 0B 00 12 63 72 65 .currency....cre
000031B0 61 74 65 64 5F 74 69 6D 65 73 74 61 6D 70 00 04 ated_timestamp..
000031C0 0F 14 14 00 02 00 00 42 00 0F 00 00 08 21 00 00 .......B.....!..
000031D0 05 08 0B 0B 00 0A 00 00 1B 40 00 00 00 03 21 00 .........@....!.
000031E0 00 06 08 0B 0B 00 0E 00 00 1B 40 00 00 00 03 21 ..........@....!
000031F0 00 00 07 11 14 14 00 12 00 00 42 80 00 00 00 08 ..........B.....
00003200 21 00 00 08 05 2D 2D 00 1A 00 00 00 40 00 00 00 !....--.....@...
00003210 0F 21 00 00 09 07 14 14 00 48 00 00 03 42 00 00 .!.......H...B..
00003220 00 F6 21 00 00 0A 09 2D 2D 00 51 00 00 00 40 00 ..!....--.Q...@.
00003230 00 00 0F 21 00 00 0B 12 13 13 00 7F 00 00 3E 00 ...!..........>.
00003240 15 00 00 07 08 00 00 FF 67 61 6D 65 5F 61 63 74 ........game_act
00003250 69 6F 6E 5F 69 64 FF 67 61 6D 65 5F 69 64 FF 75 ion_id.game_id.u
00003260 73 65 72 5F 69 64 FF 67 61 6D 65 5F 69 6E 73 74 ser_id.game_inst
00003270 61 6E 63 65 5F 69 64 FF 74 79 70 65 FF 61 6D 6F ance_id.type.amo
00003280 75 6E 74 FF 63 75 72 72 65 6E 63 79 FF 63 72 65 unt.currency.cre
00003290 61 74 65 64 5F 74 69 6D 65 73 74 61 6D 70 FF 00 ated_timestamp..
from mysql.utilities.common.my_print_defaults import MyDefaultsReader
r = MyDefaultsReader()
r.get_group_data('LOGIN-PATH')
{'host': '127.0.0.1', 'password': '*****', 'user': 'root', 'port': 'PORT'}
With .mylogin.cnf generated by mysql_config_editor from MySQL Client 5.7, the password is encoded. my_print_defaults LOGIN-PATH
doesn't show the password in plain text but ******, while my_print_defaults -s LOGIN-PATH
shows the password in plain text. MyDefaultsReader calls my_print_defaults which runs my_print_defaults LOGIN-PATH
so that the password param is been filled with asterisks and this causes almost every utilities to fail with ERROR: Access denied for user 'root'@'127.0.0.1' using password: YES
.
Maybe calling my_print_defaults with -s option would solve the problem?
P.S. mysql-cli works perfectly with the same .mylogin.cnf.
After updating MySQL8 from an earlier release up to 8.0.26 the utilities stopped working. Even the command mysqlserverinfo
fails as the support for utf8mb3 is removed.
$ mysqlserverinfo --server=<conn_info>
ERROR: Character set 'utf8mb3' unsupported.
Maybe it's possible to make it compatible again....
With regards,
Peter.
mysqldbcompare gets events info from INFORMATION_SCHEMA.EVENTS:
SELECT EVENT_SCHEMA, EVENT_NAME, DEFINER, EVENT_DEFINITION,
EVENT_TYPE, INTERVAL_FIELD, INTERVAL_VALUE, STATUS,
ON_COMPLETION, STARTS, ENDS
FROM
INFORMATION_SCHEMA.EVENTS
WHERE
EVENT_SCHEMA = 'schema' AND EVENT_NAME = 'name';
The trouble is that events replicated from master to slave will have their 'STATUS' field changed from 'ENABLED' to 'SLAVESIDE_DISABLED' and this will make replicated database comparisons always fail.
table structure in server1:
mysql> show create TABLE xs
.fyair_operation_log
\G;
*************************** 1. row ***************************
Table: fyair_operation_log
Create Table: CREATE TABLE fyair_operation_log
(
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
order_id
bigint(20) NOT NULL COMMENT '关联订单id',
operator
varchar(64) NOT NULL DEFAULT ' ' COMMENT '操作人',
operation
varchar(6000) NOT NULL DEFAULT ' ' COMMENT '操作日志',
source
tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作来源',
create_time
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
operate_time
datetime NOT NULL COMMENT '日志记录时间',
PRIMARY KEY (id
),
KEY idx_order_id_operate_time
(order_id
,operate_time
)
) ENGINE=InnoDB AUTO_INCREMENT=617 DEFAULT CHARSET=utf8 COMMENT='操作日志表';
table structure in server1:
mysql> show create TABLE xs
.fyair_operation_log
\G;
*************************** 1. row ***************************
Table: fyair_operation_log
Create Table: CREATE TABLE fyair_operation_log
(
id
bigint(20) unsigned NOT NULL AUTO_INCREMENT,
order_id
bigint(20) NOT NULL COMMENT '关联订单id',
operator
varchar(64) NOT NULL DEFAULT ' ' COMMENT '操作人',
operation
varchar(6000) NOT NULL DEFAULT ' ' COMMENT '操作日志',
source
tinyint(4) NOT NULL DEFAULT '0' COMMENT '操作来源',
create_time
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
operate_time
datetime NOT NULL COMMENT '日志记录时间',
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=617 DEFAULT CHARSET=utf8 COMMENT='操作日志表'
changes-for=server2 diff-result:
ALTER TABLE xs
.fyair_operation_log
DROP PRIMARY KEY,
ADD PRIMARY KEY(id
),
ADD INDEX idx_order_id_operate_time (operate_time,order_id);
reason:
The function 'get_common_lists(list1,list2)' in dbcompare.py uses the unordered set to get the differences between list1 and list2, this leads to the adding index is alaways idx_order_id_operate_time(operate_time,order_id) instead of idx_order_id_operate_time(order_id,operate_time);
I updated the python connector from 8.0.16 to 8.0.17 and now mysqldbcompare is unable to connect to v5.7 server.
mysql.connector.errors.DatabaseError: 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci'
As far as I understand utf8mb4_0900_ai_ci (unsupported in v5.7) was made the default collation in the python connector v8.0.17 and there doesn't seem to be a way to specify a different collation on mysqldbcompare command line.
I managed to work around it by setting utf8mb4_unicode_520_ci to true in:
/usr/lib64/python2.7/site-packages/mysql/connector/charsets.py
There really should be a way to specify collation on the command line (much like the --character-set switch).
I got this error message in some failover operations with MySQL 5.7 servers.
ERROR: The server xxxx:3306 does not comply to the latest GTID feature support. Errors:
Missing gtid_executed system variable.
I suppose the query from mysql/utilities/common/server.py
is invalid:
"SHOW VARIABLES LIKE 'gtid_executed'"
and this is correct:
"SHOW GLOBAL VARIABLES LIKE 'gtid_executed'"
I write a .py script can extract mysql data and print it out, I want to make the html page run this script and face mysql.connector.errors.InterfaceError
, but .py script individually works fine
environment: I put both .py and .html in winSCP to make the page live
import mysql.connector
import webbrowser
import time
import pymysql
mydb = mysql.connector.connect(
host="196.168.1.141",
user="root",
password="password123",
database="normal_db",
auth_plugin='mysql_native_password'
)
mycursor = mydb.cursor()
mycursor.execute("SELECT P_TITLE,P_DESC FROM webpage WHERE P_ID = 'en_1-01'")
myresult = mycursor.fetchall()
print(myresult)
<!DOCTYPE html>
<!-- myPyScriptRun.html -->
<html><head>
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head><body>
<b><p>this is the info from sql</p></b><br>
<py-config>
packages = ["mysql-connector-python", "PyMySQL"]
</py-config>
<py-script src="./get_sql_where.py" />
</body></html>
Main Problem: face mysql.connector.errors.InterfaceError: 2003
Traceback (most recent call last):
File "/lib/python3.10/site-packages/mysql/connector/network.py", line 600, in open_connection
self.sock.connect(sockaddr)
BlockingIOError: [Errno 26] Operation in progress
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/lib/python3.10/site-packages/_pyodide/_base.py", line 435, in eval_code
.run(globals, locals)
File "/lib/python3.10/site-packages/_pyodide/_base.py", line 304, in run
coroutine = eval(self.code, globals, locals)
File "<exec>", line 9, in <module>
File "/lib/python3.10/site-packages/mysql/connector/pooling.py", line 294, in connect
return MySQLConnection(*args, **kwargs)
File "/lib/python3.10/site-packages/mysql/connector/connection.py", line 167, in __init__
self.connect(**kwargs)
File "/lib/python3.10/site-packages/mysql/connector/abstracts.py", line 1178, in connect
self._open_connection()
File "/lib/python3.10/site-packages/mysql/connector/connection.py", line 571, in _open_connection
self._socket.open_connection()
File "/lib/python3.10/site-packages/mysql/connector/network.py", line 602, in open_connection
raise InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '196.168.1.141:3306' (26 Operation in progress)
I tried super hard to achieve this goal, hope someone can give a hand
I have read through link 01 , link 02 discussion but I don't find the fit solution for my case, thanks
The contents of the docs/man
directory in this repo does not match the one in the contents of the source distribution at http://dev.mysql.com/downloads/utilities/ . The files here have zero size and the man pages for the new utilities are missing.
table structure in server1:
CREATE TABLE t1
(
a
int NOT NULL,
b
char(10) NOT NULL,
c
varchar(100) DEFAULT '',
PRIMARY KEY (a
,b
),
KEY idx_a_b
(a
,b
)
)
table structure in server2:
CREATE TABLE t1
(
a
int(11) NOT NULL AUTO_INCREMENT,
b
char(10) DEFAULT NULL COMMENT '保证金',
c
varchar(100) NOT NULL DEFAULT '',
d
datetime DEFAULT NULL,
e
datetime DEFAULT NULL,
PRIMARY KEY (a
),
KEY idx_b_c
(b
,c
)
)
--changes-for=server1 result :
ALTER TABLE test
.t1
DROP PRIMARY KEY,
DROP PRIMARY KEY,
DROP INDEX idx_a_b,
ADD PRIMARY KEY(a
),
ADD INDEX idx_b_c (b,c),
CHANGE COLUMN a a int(11) NOT NULL AUTO_INCREMENT,
ADD COLUMN e datetime NULL,
ADD COLUMN d datetime NULL AFTER c,
CHANGE COLUMN c c varchar(100) NOT NULL DEFAULT '',
CHANGE COLUMN b b char(10) NULL COMMENT '保证金',
AUTO_INCREMENT=3, COLLATE=utf8_general_ci;
If it is a federated primary key, "drop primary key" will generate multiple primary keys
While testing mysqlfailover
with a simple master-slave replication setup on two separate Rackspace VMs, I was intentionally forcing the master server to power off using the poweroff --force
command with the hope that the mysqlfailover
daemon would see that the master server was unavailable and failover to the slave server.
I thought that a hard shutdown or immediate/forced loss of power would be handled by the mysqlfailover utility, but the utility, running as a daemon, seemed to do nothing while the master server was powered off until that server was brought back online without MySQL running (LUKS LVM volume for mysql not open and mounted, mysql service in error/failed state). At that point, the daemon recognized that the MySQL server wasn't running on the 'failed' master and failed over to the slave normally.
The last entry in the failover log was a Health Status INFO messaged timestamped a few seconds before I executed the poweroff command on the master server.
I expected that setting the connection-timeout=5
option for the daemon would cause the connections to the master to time out after 5 seconds and override any setting in the Connector/Python library that might have been set differently than the default of 10 seconds. I'm assuming the connections were killed when the master server was forced to power off, but I don't know if that is true.
I also assumed that setting master-fail-retry=10
would mean that the daemon would run the failover check again after that delay expired.
Is there another option I can try? Is this an unhandled edge case? Is there a way I can see more information about the failover daemon or the connections it makes? Is there a MySQL setting that could have kept the connections alive/retrying much longer than I expected?
5.7.22-0ubuntu0.16.04.1-log (Ubuntu)
MySQL Utilities mysqlfailover version 1.6.5
mysqlfailover --master=/<redacted>/.my.cnf[clientprimary] --slaves=/<redacted>/.my.cnf[clientsecondary] --log=/var/log/mysql_failover.log --verbose --interval=5 --ping=1 --connection-timeout=5 --master-fail-retry=10 --exec-after=/<redacted>/call_failover_py.sh --daemon=start --force
2018-08-13 19:09:23 PM INFO host: <redacted>, port: 3306, role: MASTER, state: UP, gtid_mode: ON, health: OK, version: 5.7.22-0ubuntu0.16.04.1-log, master_log_file: mysql-bin.000001, master_log_pos: 102517, IO_Thread: , SQL_Thread: , Secs_Behind: , Remaining_Delay: , IO_Error_Num: , IO_Error: , SQL_Error_Num: , SQL_Error: , Trans_Behind:
2018-08-13 19:09:23 PM INFO host: <redacted>, port: 3306, role: SLAVE, state: UP, gtid_mode: ON, health: OK, version: 5.7.22-0ubuntu0.16.04.1-log, master_log_file: mysql-bin.000001, master_log_pos: 108539, IO_Thread: Yes, SQL_Thread: Yes, Secs_Behind: 0, Remaining_Delay: No, IO_Error_Num: 0, IO_Error: , SQL_Error_Num: 0, SQL_Error: , Trans_Behind: 0
2018-08-13 19:11:44 PM INFO Master may be down. Waiting for 3 seconds.
2018-08-13 19:11:59 PM INFO Failed to reconnect to the master after 3 attempts.
2018-08-13 19:11:59 PM CRITICAL Master is confirmed to be down or unreachable.
2018-08-13 19:11:59 PM INFO Failover starting in 'auto' mode...
2018-08-13 19:11:59 PM INFO Checking eligibility of slave <redacted>:3306 for candidate.
2018-08-13 19:11:59 PM INFO GTID_MODE=ON ... Ok
2018-08-13 19:11:59 PM INFO Replication user exists ... Ok
2018-08-13 19:11:59 PM INFO Candidate slave <redacted>:3306 will become the new master.
2018-08-13 19:11:59 PM INFO Checking slaves status (before failover).
2018-08-13 19:11:59 PM INFO Preparing candidate for failover.
2018-08-13 19:11:59 PM INFO Reading events in relay log for slave <redacted>:3306
2018-08-13 19:11:59 PM INFO Creating replication user if it does not exist.
2018-08-13 19:11:59 PM INFO Stopping slaves.
2018-08-13 19:11:59 PM INFO Performing STOP on all slaves.
2018-08-13 19:11:59 PM WARNING Executing stop on slave <redacted>:3306 WARN - slave is not configured with this master
2018-08-13 19:12:00 PM INFO Executing stop on slave <redacted>:3306 Ok
2018-08-13 19:12:00 PM INFO Switching slaves to new master.
2018-08-13 19:12:00 PM INFO Disconnecting new master as slave.
2018-08-13 19:12:00 PM INFO Execute on <redacted>:3306: RESET SLAVE ALL
2018-08-13 19:12:00 PM INFO Starting slaves.
2018-08-13 19:12:00 PM INFO Performing START on all slaves.
2018-08-13 19:12:00 PM INFO Spawning external script.
- (my exec-post script output
2018-08-13 19:12:00 PM INFO Executing failover.py
2018-08-13 19:12:00 PM INFO roles master updated to clientsecondary
2018-08-13 19:12:00 PM INFO roles slave updated to clientprimary
2018-08-13 19:12:00 PM INFO Updating Hosts Files
-
2018-08-13 19:12:01 PM INFO Script completed Ok.
2018-08-13 19:12:01 PM INFO Checking slaves for errors.
2018-08-13 19:12:01 PM INFO Failover complete.
mysqldbimport does not import BIT fields created by mysqldump or mysqldbexport.
When using the mysqldbcompare
command to show the differences between 2 databases it would be very usefull to be able to dump binary columns using hexadecimal notation as it's possible using mysqldump
. It improve the read of file content.
Currently when I try to reimport the blob values, I need to enable Mysql --binary-mode but the imported files seems to be corrupted.
Would it be possible to add this option?
Hi,
This is a follow up to BUG#21653352 and its corresponding fix (commit). The fix is not complete, since line 690 still relies on single quotes and does not accept the masked ''<secret>" string (see original commit).
I'm encountering the issue when trying to use mysqluserclone
:
mysqluserclone --source peter:dog@localhost:3308 peter@% peter2:cat@% --include-global-privileges --verbose --force
creates
ARNING: Using a password on the command line interface can be insecure.
# Source on localhost: ... connected.
# Cloning 1 users...
# Cloning peter@% to user peter2:cat@%
CREATE USER 'peter3'@'%' IDENTIFIED BY 'secret'
Traceback (most recent call last):
File "/home/swozny/prt/prt/venv/bin/mysqluserclone", line 199, in <module>
new_user_list, options)
File "/home/swozny/prt/prt/venv/local/lib/python2.7/site-packages/mysql/utilities/command/userclone.py", line 216, in clone_user
user_source.clone(new_user, destination, global_privs)
File "/home/swozny/prt/prt/venv/local/lib/python2.7/site-packages/mysql/utilities/common/user.py", line 690, in clone
end = grant.index("'", start + len(search_str) + 2) + 2
ValueError: substring not found
# WARNING: Using a password on the command line interface can be insecure.
# server1 on 127.0.0.1: ... connected.
# server2 on 127.0.0.1: ... connected.
# Comparing db1.tt1 to db2.tt1 [FAIL]
# Object definitions differ. (--changes-for=server2)
#
--- db2.tt1
+++ db1.tt1
@@ -1,5 +1,5 @@
CREATE TABLE `tt1` (
- `id` int(12) NOT NULL,
+ `id` int(11) NOT NULL AUTO_INCREMENT,
`sex` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4
Compare failed. One or more differences found.
the result of mysqldiff is
# server1 on 127.0.0.1: ... connected.
# server2 on 127.0.0.1: ... connected.
# Comparing db1.tt1 to db2.tt1 [FAIL]
# Transformation for --changes-for=server2:
#
ALTER TABLE `db2`.`tt1`
DROP PRIMARY KEY,
ADD PRIMARY KEY(`id`),
CHANGE COLUMN id id int(11) NOT NULL,
AUTO_INCREMENT=3;
the wrong result of mysqldiff miss AUTO_INREMENT
I have recently stumbled upon a problem while restoring a MySQL 5.7 database into a Percona XtraDB cluster 5.7.
These are the version of the tools I am using:
[root@percona-1 ~]# rpm -q mysql-utilities
mysql-utilities-1.6.5-1.el7.noarch
[root@percona-1 ~]# rpm -q mysql-connector-python
mysql-connector-python-2.0.4-1.el7.noarch
[root@percona-1 ~]# mysqlfrm --version
MySQL Utilities mysqlfrm version 1.6.5
seems as if mysqlfrm can't open files for reading on percona xtradb cluster 5.7 as opposed to a normal MySQL 5.7 database.
mysqlfrm -vvv --user=root '--server=root:password@localhost:3306' --port=3310 /root/database/example.frm
# Reading .frm files
#
# Reading the example.frm file.
# Changing engine for .frm file /tmp/tmp_Rh5I8/database_temp/example.frm:
# Skipping to header at : 2
# General Data from .frm file:
{'IO_SIZE': 4096,
'MYSQL_VERSION_ID': 50723,
'avg_row_length': 0,
'charset_low': 0,
'create_options': 9,
'db_create_pack': 2,
'default_charset': 45,
'default_part_eng': 0,
'extra_size': 36,
'frm_file_ver': 5,
'frm_version': 10,
'key_block_size': 0,
'key_info_length': 88,
'key_length': 706,
'legacy_db_type': 'INNODB',
'length': 12288,
'max_rows': 0,
'min_rows': 0,
'rec_length': 436,
'row_type': 0,
'table_charset': 45,
'tmp_key_length': 706}
# Engine string: InnoDB
# Server version in file: 5.7.23
ERROR: Failed to correctly read the .frm file. Please try reading the file with the --diagnostic mode.
# Shutting down spawned server
# Removing the temporary datadir
#
# WARNING: The following files could not be read. You can try the --diagnostic mode to read these files.
#
# /root/database/example.frm
#
#...done.
mysqlfrm -vvv --user=root '--server=root:password@localhost:3306' --port=3310 /root/database/example.frm
# Reading .frm files
#
# Reading the example.frm file.
# Changing engine for .frm file /tmp/tmpVg9PpA/database_temp/example.frm:
# Skipping to header at : 2
# General Data from .frm file:
{'IO_SIZE': 4096,
'MYSQL_VERSION_ID': 50723,
'avg_row_length': 0,
'charset_low': 0,
'create_options': 9,
'db_create_pack': 2,
'default_charset': 45,
'default_part_eng': 0,
'extra_size': 36,
'frm_file_ver': 5,
'frm_version': 10,
'key_block_size': 0,
'key_info_length': 88,
'key_length': 706,
'legacy_db_type': 'INNODB',
'length': 12288,
'max_rows': 0,
'min_rows': 0,
'rec_length': 436,
'row_type': 0,
'table_charset': 45,
'tmp_key_length': 706}
# Engine string: InnoDB
# Server version in file: 5.7.23
#
# CREATE statement for /root/database/example.frm:
#
CREATE TABLE `database`.`example` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`queue` varchar(100) NOT NULL DEFAULT '',
`payload` longtext NOT NULL,
`attempts` tinyint(3) unsigned NOT NULL DEFAULT '0',
`reserved_at` int(10) unsigned DEFAULT '0',
`available_at` int(10) unsigned NOT NULL DEFAULT '0',
`created_at` int(10) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `jobs_queue_reserved_at_index` (`queue`,`reserved_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
# Shutting down spawned server
# Removing the temporary datadir
#...done.
Looking forward for an explanation.
Add an option to only print SQL output without table comment :
# Defn Row Data
# Type Object Name Diff Count Check
# -------------------------------------------------------------------------
Hello,
Master switchover fails on 5.6 when replication user's hostname has wildcard characters.
E.g. if replication user is added as repl@%
the following line will be executed b/c the script tries to fetch password for the replication [email protected]()
and when it's stored in database as user@%
-- it is just ignored and the script fails:
ERROR: The specified replication user is using a different password that the one specified.
Use the --force option to force the use of the user specified with --rpl-user and new password.
# Errors found. Switchover aborted.
Whereas with 5.7 it works ok, since the script tries to connect to the server using provided user/password instead of comparing passwords (after f0fd574).
Could we consider using this block unconditionally? Seems like it works ok with versions < 5.7 too.
We are successfully using mysqldiff as part of our build process to validate our migration scripts with MySQL 5.7. This has been a perfect solution for us for years. We are looking to upgrade to MySQL 8.0.13, but are running into the following error:
ERROR: Authentication plugin 'caching_sha2_password' is not supported
We have configured the database user with mysql_native_password but this apparently is not sufficient. Presumably, we need to have mysqldiff use the version 8 driver. It is unclear (to us) if this is something we can easily do, or if the fix is more complicated.
We are looking for a fix or workaround for both Windows 10 and Amazon Linux.
It belows in LICENSE.txt
and should only be referenced in README
. Dual licensing might be explained, but there should be no plain license text.
Where is the 'connector' directory?
[root@mysqlm ~]# /usr/bin/mysqldbcopy --source=test:[email protected]:3306 --destination=dba:[email protected]:3307 sql_review --drop-first --skip-gtid --character-set=utf8mb4 --not-null-blobs
WARNING: Using a password on the command line interface can be insecure.
WARNING: The following tables have blob fields set to NOT NULL.
sql_review.mysql_slow_query_review_221 Column fingerprint
sql_review.mysql_slow_query_review_221 Column sample
sql_review.mysql_slow_query_review_history_221 Column sample
# Source on 172.30.200.221: ... connected.
# Destination on 172.30.200.201: ... connected.
# WARNING: The server supports GTIDs but you have elected to skip executing the GTID_EXECUTED statement. Please refer to the MySQL online reference manual for more information about how to handle GTID enabled servers with backup and restore operations.
# Copying database sql_review
# Copying TABLE sql_review.mysql_slow_query_review_221
# Copying TABLE sql_review.mysql_slow_query_review_history_221
# Copying GRANTS from sql_review
ERROR: Query failed. 1146 (42S02): Table 'none.mysql_slow_query_review_221' doesn't exist
I try to use it with docker (ubuntu 16.04), but met a problem without a good explain. I suggest to not only print e.errmsg
, but add print(traceback.format_exc())
for more error details.
The cmd I execute is:
mysqlfailover --master=root:[email protected]:3306 --discover-slaves-login=root:root health
The log I have is:
2018-05-28 01:05:11 AM INFO MySQL Utilities mysqlfailover version 1.6.4.
2018-05-28 01:05:11 AM INFO Server '172.17.0.2:3306' is using MySQL version 5.7.22-log.
2018-05-28 01:05:11 AM INFO Discovering slaves for master at 172.17.0.2:3306
2018-05-28 01:05:11 AM INFO Discovering slave at 172.17.0.3:3306
2018-05-28 01:05:11 AM INFO Found slave: 172.17.0.3:3306
2018-05-28 01:05:11 AM INFO Server '172.17.0.3:3306' is using MySQL version 5.7.22-log.
2018-05-28 01:05:11 AM INFO Checking privileges.
2018-05-28 01:05:11 AM INFO Unregistering existing instances from slaves.
2018-05-28 01:05:11 AM INFO Registering instance on master.
2018-05-28 01:05:11 AM INFO Failover console started.
2018-05-28 01:05:11 AM INFO Failover mode = auto.
2018-05-28 01:05:11 AM INFO Unregistering instance on master.
2018-05-28 01:05:11 AM CRITICAL [Errno 2] No such file or directory
It doesn't tell me WHAT file is missing.
After I modified the mysqlfailover
to show the traceback, I finally figured out the problem: it point out to /usr/local/lib/python2.7/dist-packages/mysql/utilities/common/tools.py
and line 242
, which means I didn't have ping
installed!!!
After install inetutils-ping
, It works fine.
I think print("ERROR: %s" % e.errmsg)
is not enough to debug the problem. Adding print(traceback.format_exc())
after that would give user a better explaination.
Hi,
I'm facing an issue concerning arguments passed to scripts for mysqlfailover. I've created customized shell scripts for --exec-before, --exec-after, --exec-fail-check and --exec-post-failover.
I get arguments in shell scripts by get values in $1,$2... But everytime the value returned is "UNKWON".
How mysqlfailover gets informations from master and slaves ? Is there a configuration file ?
Thank you.
hello
I want to use mysqldiff to compare the schema of two sql tables (just the schema, not the data).
I run the command on two tables (table1 and table2), which are exactly the same except that table one as a column that has AUTO_INCREMENT option but the same column in table2 doesn't have this option.
I discovered that if I don't use the --skip-table-options, table that are the same but that have different AUTO_INCREMENT values will fail, so I must use this option. However, with this option, when comparing table1 and table2 will fail but the transformation doesn't add AUTO_INCREMENT. Is there an option to compare only the structure (including AUTO_INCREMENT) but not the values?
thank you
Attempting to install but not able to continue as no module named "info" is available. I've tried searching Google etc but found nothing. Any ideas?
$ python --version
Python 2.7.11
$ pip install mysql-utilities
Collecting mysql-utilities
Using cached mysql-utilities-1.4.3.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-build-tRgO2D/mysql-utilities/setup.py", line 36, in <module>
from info import META_INFO, INSTALL
ImportError: No module named info
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-tRgO2D/mysql-utilities/
I write a .py script can extract mysql data and print it out, I want to make the html page run this script and face mysql.connector.errors.InterfaceError
, but .py script individually works fine
environment: I put both .py and .html in winSCP to make the page live
import mysql.connector
import webbrowser
import time
import pymysql
mydb = mysql.connector.connect(
host="196.168.1.141",
user="root",
password="password123",
database="normal_db",
auth_plugin='mysql_native_password'
)
mycursor = mydb.cursor()
mycursor.execute("SELECT P_TITLE,P_DESC FROM webpage WHERE P_ID = 'en_1-01'")
myresult = mycursor.fetchall()
print(myresult)
<!DOCTYPE html>
<!-- myPyScriptRun.html -->
<html><head>
<link rel="stylesheet" href="https://pyscript.net/latest/pyscript.css" />
<script defer src="https://pyscript.net/latest/pyscript.js"></script>
</head><body>
<b><p>this is the info from sql</p></b><br>
<py-config>
packages = ["mysql-connector-python", "PyMySQL"]
</py-config>
<py-script src="./get_sql_where.py" />
</body></html>
Main Problem: face mysql.connector.errors.InterfaceError: 2003
Traceback (most recent call last):
File "/lib/python3.10/site-packages/mysql/connector/network.py", line 600, in open_connection
self.sock.connect(sockaddr)
BlockingIOError: [Errno 26] Operation in progress
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/lib/python3.10/site-packages/_pyodide/_base.py", line 435, in eval_code
.run(globals, locals)
File "/lib/python3.10/site-packages/_pyodide/_base.py", line 304, in run
coroutine = eval(self.code, globals, locals)
File "<exec>", line 9, in <module>
File "/lib/python3.10/site-packages/mysql/connector/pooling.py", line 294, in connect
return MySQLConnection(*args, **kwargs)
File "/lib/python3.10/site-packages/mysql/connector/connection.py", line 167, in __init__
self.connect(**kwargs)
File "/lib/python3.10/site-packages/mysql/connector/abstracts.py", line 1178, in connect
self._open_connection()
File "/lib/python3.10/site-packages/mysql/connector/connection.py", line 571, in _open_connection
self._socket.open_connection()
File "/lib/python3.10/site-packages/mysql/connector/network.py", line 602, in open_connection
raise InterfaceError(
mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on '196.168.1.141:3306' (26 Operation in progress)
I tried super hard to achieve this goal, hope someone can give a hand
I have read through link 01 , link 02 discussion but I don't find the fit solution for my case, thanks
Clocks are ticking: https://pythonclock.org
Many distros are dropping Python2 support.
mysql-utilities are still an optional part of mysql-workbench:
https://docs.oracle.com/cd/E17952_01/mysql-utilities-1.5-en/mysql-utils-intro-intro.html
and they lack python3 support out of the box...
Tying to make a copy. Got this error
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.