Added Cyg-Win
This commit is contained in:
parent
82cbc206eb
commit
413c315806
10586 changed files with 3806249 additions and 0 deletions
339
Agent-Windows/OGP64/usr/share/doc/mysql/COPYING
Normal file
339
Agent-Windows/OGP64/usr/share/doc/mysql/COPYING
Normal file
|
|
@ -0,0 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
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 Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
1692
Agent-Windows/OGP64/usr/share/doc/mysql/COPYING.thirdparty
Normal file
1692
Agent-Windows/OGP64/usr/share/doc/mysql/COPYING.thirdparty
Normal file
File diff suppressed because it is too large
Load diff
60
Agent-Windows/OGP64/usr/share/doc/mysql/CREDITS
Normal file
60
Agent-Windows/OGP64/usr/share/doc/mysql/CREDITS
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
MariaDB is brought to you by the MariaDB Foundation, a non profit
|
||||
organization registered in the USA.
|
||||
|
||||
The current main sponsors of the MariaDB Foundation are:
|
||||
|
||||
Alibaba Cloud https://www.alibabacloud.com/ (2017)
|
||||
Booking.com https://www.booking.com (2013)
|
||||
MariaDB Corporation https://www.mariadb.com (2013)
|
||||
Microsoft https://microsoft.com/ (2017)
|
||||
Tencent Cloud https://cloud.tencent.com (2017)
|
||||
Development Bank of Singapore https://dbs.com (2016)
|
||||
IBM https://www.ibm.com (2017)
|
||||
Tencent Games http://game.qq.com/ (2018)
|
||||
Visma https://visma.com (2015)
|
||||
Acronis https://acronis.com (2016)
|
||||
Nexedi https://www.nexedi.com (2016)
|
||||
Percona https://www.percona.com (2018)
|
||||
Tencent Game DBA http://tencentdba.com/about (2016)
|
||||
Tencent TDSQL http://tdsql.org (2016)
|
||||
Verkkokauppa.com https://www.verkkokauppa.com (2015)
|
||||
Virtuozzo https://virtuozzo.com (2016)
|
||||
|
||||
For a full list of sponsors, see
|
||||
https://mariadb.org/about/supporters/
|
||||
and for individual contributors, see
|
||||
https://mariadb.org/donate/individual-sponsors/
|
||||
|
||||
You can also get the list of sponsors by running SHOW CONTRIBUTORS.
|
||||
|
||||
For all corporate sponsorships please contact the
|
||||
MariaDB Foundation Board via foundation@mariadb.org.
|
||||
|
||||
The MariaDB Foundation is responsible for the MariaDB source
|
||||
repository, the official MariaDB binaries and http://mariadb.org.
|
||||
|
||||
The MariaDB Foundation also provides, among other things, the
|
||||
following services to the MariaDB community:
|
||||
|
||||
- Code reviews and applying patches for MariaDB
|
||||
- QA and testing of the MariaDB server
|
||||
- Merging MySQL patches into MariaDB
|
||||
- Bug fixing in MariaDB (for bugs that affects a large part of the community)
|
||||
- Building the official MariaDB binaries
|
||||
- Maintaining http://mariadb.org
|
||||
- Documenting MariaDB in the MariaDB Knowledge Base http://mariadb.com/kb
|
||||
|
||||
To be able to do the above we need help from corporations and individuals!
|
||||
|
||||
You can help support MariaDB by becoming a MariaDB developer or a
|
||||
sponsor of the MariaDB Foundation. To donate or sponsor,
|
||||
go to https://mariadb.org/donate/
|
||||
|
||||
You can get a list of all the main authors of MariaDB / MySQL by running
|
||||
SHOW AUTHORS;
|
||||
|
||||
You can get a list sponsors and contributors by running
|
||||
SHOW CONTRIBUTORS;
|
||||
|
||||
You can read more about the MariaDB Foundation at:
|
||||
https://mariadb.org/about/
|
||||
136
Agent-Windows/OGP64/usr/share/doc/mysql/EXCEPTIONS-CLIENT
Normal file
136
Agent-Windows/OGP64/usr/share/doc/mysql/EXCEPTIONS-CLIENT
Normal file
|
|
@ -0,0 +1,136 @@
|
|||
FOSS License Exception
|
||||
|
||||
http://www.mysql.com/about/legal/licensing/foss-exception/
|
||||
Updated February 23, 2012
|
||||
|
||||
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
|
||||
|
||||
1. 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.
|
||||
|
||||
2. 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:
|
||||
|
||||
a. 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);
|
||||
b. The Derivative Work does not include any work licensed under the
|
||||
GPL other than the Program;
|
||||
c. You distribute Independent Works subject to a license listed in
|
||||
the section below titled "FOSS License List";
|
||||
d. 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;
|
||||
e. 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.
|
||||
|
||||
3. 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|
|
||||
|----------------------------------------------+-------------------------|
|
||||
|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 |1.0 |
|
||||
|(CDDL) | |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Common Public License |1.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|Eclipse Public License |1.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|European Union Public License (EUPL)¹ |1.1 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|GNU Affero General Public License (AGPL) |3.0 |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|GNU Library or "Lesser" General Public License|2.0/2.1/3.0 |
|
||||
|(LGPL) | |
|
||||
|----------------------------------------------+-------------------------|
|
||||
|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 |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
¹) 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.
|
||||
|
||||
192
Agent-Windows/OGP64/usr/share/doc/mysql/INSTALL-BINARY
Normal file
192
Agent-Windows/OGP64/usr/share/doc/mysql/INSTALL-BINARY
Normal file
|
|
@ -0,0 +1,192 @@
|
|||
MariaDB and MySQL have identical install methods. In this document we
|
||||
describe how to install MariaDB; However all documentation at www.mysql.com
|
||||
also applies.
|
||||
|
||||
|
||||
2.2. Installing MariaDB from Generic Binaries on Unix/Linux
|
||||
|
||||
This section covers the installation of MariaDB binary distributions
|
||||
that are provided for various platforms in the form of compressed
|
||||
tar files (files with a .tar.gz extension).
|
||||
|
||||
MariaDB tar file binary distributions have names of the form
|
||||
mariadb-VERSION-OS.tar.gz, where VERSION is a number (for example,
|
||||
5.1.39), and OS indicates the type of operating system for which
|
||||
the distribution is intended (for example, pc-linux-i686).
|
||||
|
||||
You need the following tools to install a MariaDB tar file binary
|
||||
distribution:
|
||||
|
||||
* GNU gunzip to uncompress the distribution.
|
||||
|
||||
* A reasonable tar to unpack the distribution. GNU tar is known
|
||||
to work. Some operating systems come with a preinstalled
|
||||
version of tar that is known to have problems. For example,
|
||||
the tar provided with early versions of Mac OS X, SunOS 4.x,
|
||||
Solaris 8, Solaris 9, Solaris 10 and OpenSolaris, and HP-UX
|
||||
are known to have problems with long file names. On Mac OS X,
|
||||
you can use the preinstalled gnutar program. On Solaris 10 and
|
||||
OpenSolaris you can use the preinstalled gtar. On other
|
||||
systems with a deficient tar, you should install GNU tar
|
||||
first.
|
||||
|
||||
If you run into problems and need to file a bug report,
|
||||
please report them to: http://mariadb.org/jira
|
||||
|
||||
See the instructions in Section 1.6, "How to Report Bugs or Problems."
|
||||
|
||||
The basic commands that you must execute to install and use a
|
||||
MariaDB binary distribution are:
|
||||
|
||||
shell> groupadd mysql
|
||||
shell> useradd -g mysql mysql
|
||||
shell> cd /usr/local
|
||||
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
|
||||
shell> ln -s full-path-to-mysql-VERSION-OS mysql
|
||||
shell> cd mysql
|
||||
shell> chown -R mysql .
|
||||
shell> chgrp -R mysql .
|
||||
shell> scripts/mysql_install_db --user=mysql
|
||||
shell> chown -R root .
|
||||
shell> chown -R mysql data
|
||||
shell> bin/mysqld_safe --user=mysql &
|
||||
|
||||
Note
|
||||
|
||||
This procedure does not set up any passwords for MariaDB accounts.
|
||||
After following the procedure, proceed to Section 2.13,
|
||||
"Post-Installation Setup and Testing."
|
||||
|
||||
A more detailed version of the preceding description for
|
||||
installing a binary distribution follows:
|
||||
|
||||
1. Add a login user and group for mysqld to run as:
|
||||
shell> groupadd mysql
|
||||
shell> useradd -g mysql mysql
|
||||
These commands add the mysql group and the mysql user. The
|
||||
syntax for useradd and groupadd may differ slightly on
|
||||
different versions of Unix, or they may have different names
|
||||
such as adduser and addgroup.
|
||||
You might want to call the user and group something else
|
||||
instead of mysql. If so, substitute the appropriate name in
|
||||
the following steps.
|
||||
|
||||
2. Pick the directory under which you want to unpack the
|
||||
distribution and change location into it. In the following
|
||||
example, we unpack the distribution under /usr/local. (The
|
||||
instructions, therefore, assume that you have permission to
|
||||
create files and directories in /usr/local. If that directory
|
||||
is protected, you must perform the installation as root.)
|
||||
shell> cd /usr/local
|
||||
|
||||
3. Obtain a distribution file using the instructions in Section
|
||||
2.1.3, "How to Get MariaDB." For a given release, binary
|
||||
distributions for all platforms are built from the same MariaDB
|
||||
source distribution.
|
||||
|
||||
4. Unpack the distribution, which creates the installation
|
||||
directory. Then create a symbolic link to that directory:
|
||||
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
|
||||
shell> ln -s full-path-to-mysql-VERSION-OS mysql
|
||||
The tar command creates a directory named mysql-VERSION-OS.
|
||||
The ln command makes a symbolic link to that directory. This
|
||||
lets you refer more easily to the installation directory as
|
||||
/usr/local/mysql.
|
||||
With GNU tar, no separate invocation of gunzip is necessary.
|
||||
You can replace the first line with the following alternative
|
||||
command to uncompress and extract the distribution:
|
||||
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
|
||||
|
||||
5. Change location into the installation directory:
|
||||
shell> cd mysql
|
||||
You will find several files and subdirectories in the mysql
|
||||
directory. The most important for installation purposes are
|
||||
the bin and scripts subdirectories:
|
||||
|
||||
+ The bin directory contains client programs and the
|
||||
server. You should add the full path name of this
|
||||
directory to your PATH environment variable so that your
|
||||
shell finds the MariaDB programs properly. See Section
|
||||
2.14, "Environment Variables."
|
||||
|
||||
+ The scripts directory contains the mysql_install_db
|
||||
script used to initialize the mysql database containing
|
||||
the grant tables that store the server access
|
||||
permissions.
|
||||
|
||||
6. Ensure that the distribution contents are accessible to mysql.
|
||||
If you unpacked the distribution as mysql, no further action
|
||||
is required. If you unpacked the distribution as root, its
|
||||
contents will be owned by root. Change its ownership to mysql
|
||||
by executing the following commands as root in the
|
||||
installation directory:
|
||||
shell> chown -R mysql .
|
||||
shell> chgrp -R mysql .
|
||||
The first command changes the owner attribute of the files to
|
||||
the mysql user. The second changes the group attribute to the
|
||||
mysql group.
|
||||
|
||||
7. If you have not installed MariaDB before, you must create the
|
||||
MariaDB data directory and initialize the grant tables:
|
||||
shell> scripts/mysql_install_db --user=mysql
|
||||
If you run the command as root, include the --user option as
|
||||
shown. If you run the command while logged in as that user,
|
||||
you can omit the --user option.
|
||||
The command should create the data directory and its contents
|
||||
with mysql as the owner.
|
||||
After creating or updating the grant tables, you need to
|
||||
restart the server manually.
|
||||
|
||||
8. Most of the MariaDB installation can be owned by root if you
|
||||
like. The exception is that the data directory must be owned
|
||||
by mysql. To accomplish this, run the following commands as
|
||||
root in the installation directory:
|
||||
|
||||
shell> chown -R root .
|
||||
shell> chown -R mysql data
|
||||
|
||||
9. If you want MariaDB to start automatically when you boot your
|
||||
machine, you can copy support-files/mysql.server to the
|
||||
location where your system has its startup files. More
|
||||
information can be found in the support-files/mysql.server
|
||||
script itself and in Section 2.13.1.2, "Starting and Stopping
|
||||
MariaDB Automatically."
|
||||
10. You can set up new accounts using the bin/mysql_setpermission
|
||||
script if you install the DBI and DBD::mysql Perl modules. See
|
||||
Section 4.6.14, "mysql_setpermission --- Interactively Set
|
||||
Permissions in Grant Tables." For Perl module installation
|
||||
instructions, see Section 2.15, "Perl Installation Notes."
|
||||
11. If you would like to use mysqlaccess and have the MariaDB
|
||||
distribution in some nonstandard location, you must change the
|
||||
location where mysqlaccess expects to find the mysql client.
|
||||
Edit the bin/mysqlaccess script at approximately line 18.
|
||||
Search for a line that looks like this:
|
||||
$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
|
||||
Change the path to reflect the location where mysql actually
|
||||
is stored on your system. If you do not do this, a Broken pipe
|
||||
error will occur when you run mysqlaccess.
|
||||
|
||||
After everything has been unpacked and installed, you should test
|
||||
your distribution. To start the MariaDB server, use the following
|
||||
command:
|
||||
shell> bin/mysqld_safe --user=mysql &
|
||||
|
||||
If you run the command as root, you must use the --user option as
|
||||
shown. The value of the option is the name of the login account
|
||||
that you created in the first step to use for running the server.
|
||||
If you run the command while logged in as mysql, you can omit the
|
||||
--user option.
|
||||
|
||||
If the command fails immediately and prints mysqld ended, you can
|
||||
find some information in the host_name.err file in the data
|
||||
directory.
|
||||
|
||||
More information about mysqld_safe is given in Section 4.3.2,
|
||||
"mysqld_safe --- MySQL Server Startup Script."
|
||||
|
||||
Note
|
||||
|
||||
The accounts that are listed in the MariaDB grant tables initially
|
||||
have no passwords. After starting the server, you should set up
|
||||
passwords for them using the instructions in Section 2.13,
|
||||
"Post-Installation Setup and Testing."
|
||||
3
Agent-Windows/OGP64/usr/share/doc/mysql/INSTALL-SOURCE
Normal file
3
Agent-Windows/OGP64/usr/share/doc/mysql/INSTALL-SOURCE
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
Instructions for building MariaDB can be found at:
|
||||
https://mariadb.com/kb/en/compiling-mariadb-from-source
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
Up-to-date instructions about building MariaDB on Windows can be found
|
||||
at: https://mariadb.com/kb/en/Building_MariaDB_on_Windows
|
||||
|
||||
488
Agent-Windows/OGP64/usr/share/doc/mysql/README-wsrep
Normal file
488
Agent-Windows/OGP64/usr/share/doc/mysql/README-wsrep
Normal file
|
|
@ -0,0 +1,488 @@
|
|||
Codership Oy
|
||||
http://www.codership.com
|
||||
<info@codership.com>
|
||||
|
||||
DISCLAIMER
|
||||
|
||||
THIS SOFTWARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
IN NO EVENT SHALL CODERSHIP OY BE HELD LIABLE TO ANY PARTY FOR ANY DAMAGES
|
||||
RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE.
|
||||
|
||||
Trademark Information.
|
||||
|
||||
MySQL is a trademark or registered trademark of Oracle and/or its affiliates.
|
||||
Other trademarks are the property of their respective owners.
|
||||
|
||||
Licensing Information.
|
||||
|
||||
Please see file COPYING that came with this distribution
|
||||
|
||||
Source code can be found at
|
||||
wsrep API: https://launchpad.net/wsrep
|
||||
MySQL patch: https://launchpad.net/codership-mysql
|
||||
|
||||
|
||||
ABOUT THIS DOCUMENT
|
||||
|
||||
This document covers installation and configuration issues specific to this
|
||||
wsrep-patched MySQL distribution by Codership. It does not cover the use or
|
||||
administration of MySQL server per se. The reader is assumed to know how to
|
||||
install, configure, administer and use standard MySQL server version 5.1.xx.
|
||||
|
||||
|
||||
MYSQL-5.5.x/wsrep-23.x
|
||||
|
||||
CONTENTS:
|
||||
=========
|
||||
1. WHAT IS WSREP PATCH FOR MYSQL
|
||||
2. INSTALLATION
|
||||
3. FIRST TIME SETUP
|
||||
3.1 CONFIGURATION FILES
|
||||
3.2 DATABASE PRIVILEGES
|
||||
3.3 CHECK AND CORRECT FIREWALL SETTINGS
|
||||
3.4 SELINUX
|
||||
3.5 APPARMOR
|
||||
3.6 CONNECT TO CLUSTER
|
||||
4. UPGRADING FROM MySQL 5.1.x
|
||||
5. CONFIGURATION OPTIONS
|
||||
5.1 MANDATORY MYSQL OPTIONS
|
||||
5.2 WSREP OPTIONS
|
||||
6. ONLINE SCHEMA UPGRADE
|
||||
6.1 TOTAL ORDER ISOLATION (TOI)
|
||||
6.2 ROLLING SCHEMA UPGRADE (RSU)
|
||||
7. LIMITATIONS
|
||||
|
||||
|
||||
1. WHAT IS WSREP PATCH FOR MYSQL/INNODB
|
||||
|
||||
Wsrep API developed by Codership Oy is a modern generic (database-agnostic)
|
||||
replication API for transactional databases with a goal to make database
|
||||
replication/logging subsystem completely modular and pluggable. It is developed
|
||||
with flexibility and completeness in mind to satisfy a broad range of modern
|
||||
replication scenarios. It is equally suitable for synchronous and asynchronous,
|
||||
master-slave and multi-master replication.
|
||||
|
||||
wsrep stands for Write Set REPlication.
|
||||
|
||||
Wsrep patch for MySQL/InnoDB allows MySQL server to load and use various wsrep
|
||||
API implementations ("wsrep providers") with different qualities of service.
|
||||
Without wsrep provider MySQL-wsrep server will function like a regular
|
||||
standalone server.
|
||||
|
||||
|
||||
2. INSTALLATION
|
||||
|
||||
In the examples below mysql authentication options are omitted for brevity.
|
||||
|
||||
2.1 Download and install mysql-wsrep package.
|
||||
|
||||
Download binary package for your Linux distribution from
|
||||
https://launchpad.net/codership-mysql/
|
||||
|
||||
2.1.1 On Debian and Debian-derived distributions.
|
||||
|
||||
Upgrade from mysql-server-5.0 to mysql-wsrep is not supported yet, please
|
||||
upgrade to mysql-server-5.1 first.
|
||||
|
||||
If you're installing over an existing mysql installation, mysql-server-wsrep
|
||||
will conflict with the mysql-server-5.1 package, so remove it first:
|
||||
|
||||
$ sudo apt-get remove mysql-server-5.1 mysql-server-core-5.1
|
||||
|
||||
mysql-server-wsrep requires psmisc and mysql-client-5.1.47 (or later).
|
||||
MySQL 5.1 packages can be found from backports repositories.
|
||||
For further information about configuring and using Debian or Ubuntu
|
||||
backports, see:
|
||||
|
||||
* http://backports.debian.org
|
||||
|
||||
* https://help.ubuntu.com/community/UbuntuBackports
|
||||
|
||||
For example, installation of required packages on Debian Lenny:
|
||||
|
||||
$ sudo apt-get install psmisc
|
||||
$ sudo apt-get -t lenny-backports install mysql-client-5.1
|
||||
|
||||
Now you should be able to install the mysql-wsrep package:
|
||||
|
||||
$ sudo dpkg -i <mysql-server-wsrep DEB>
|
||||
|
||||
2.1.2 On CentOS and similar RPM-based distributions.
|
||||
|
||||
If you're migrating from existing MySQL installation, there are two variants:
|
||||
|
||||
a) If you're already using official MySQL-server-community 5.1.x RPM from
|
||||
Oracle:
|
||||
|
||||
# rpm -e mysql-server
|
||||
|
||||
b) If you're upgrading from the stock mysql-5.0.77 on CentOS:
|
||||
|
||||
1) Make sure that the following packages are not installed:
|
||||
# rpm --nodeps --allmatches -e mysql-server mysql-test mysql-bench
|
||||
|
||||
2) Install *official* MySQL-shared-compat-5.1.x from
|
||||
http://dev.mysql.com/downloads/mysql/5.1.html
|
||||
|
||||
Actual installation:
|
||||
|
||||
# rpm -Uvh <MySQL-server-wsrep RPM>
|
||||
|
||||
If this fails due to unsatisfied dependencies, install missing packages
|
||||
(e.g. yum install perl-DBI) and retry.
|
||||
|
||||
Additional packages to consider (if not yet installed):
|
||||
* galera (multi-master replication provider, https://launchpad.net/galera)
|
||||
* MySQL-client-community (for connecting to server and mysqldump-based SST)
|
||||
* rsync (for rsync-based SST)
|
||||
* mariabackup and nc (for mariabackup-based SST)
|
||||
|
||||
2.2 Upgrade system tables.
|
||||
|
||||
If you're upgrading a previous MySQL installation, it might be advisable to
|
||||
upgrade system tables. To do that start mysqld and run mysql_upgrade command.
|
||||
Consult MySQL documentation in case of errors. Normally they are not critical
|
||||
and can be ignored unless specific functionality is needed.
|
||||
|
||||
|
||||
3. FIRST TIME SETUP
|
||||
|
||||
Unless you're upgrading an already installed mysql-wsrep package, you will need
|
||||
to set up a few things to prepare the server for operation.
|
||||
|
||||
3.1 CONFIGURATION FILES
|
||||
|
||||
* Make sure system-wide my.cnf does not bind mysqld to 127.0.0.1. That is, if
|
||||
you have the following line in [mysqld] section, comment it out:
|
||||
|
||||
#bind-address = 127.0.0.1
|
||||
|
||||
* Make sure system-wide my.cnf contains "!includedir /etc/mysql/conf.d/" line.
|
||||
|
||||
* Edit /etc/mysql/conf.d/wsrep.cnf and set wsrep_provider option by specifying
|
||||
a path to the provider library. If you don't have a provider, leave it as it is.
|
||||
|
||||
* When a new node joins the cluster it'll have to receive a state snapshot from
|
||||
one of the peers. This requires a privileged MySQL account with access from
|
||||
the rest of the cluster. Edit /etc/mysql/conf.d/wsrep.cnf and set mysql
|
||||
login/password pair for SST, for example:
|
||||
|
||||
wsrep_sst_auth=wsrep_sst:wspass
|
||||
|
||||
* See CONFIGURATION section below about other configuration parameters that you
|
||||
might want to change at this point.
|
||||
|
||||
3.2 DATABASE PRIVILEGES
|
||||
|
||||
Restart MySQL server and connect to it as root to grant privileges to SST
|
||||
account (empty users confuse MySQL authentication matching rules, we need to
|
||||
delete them too):
|
||||
|
||||
$ mysql -e "SET wsrep_on=OFF; DELETE FROM mysql.user WHERE user='';"
|
||||
$ mysql -e "SET wsrep_on=OFF; GRANT ALL ON *.* TO wsrep_sst@'%' IDENTIFIED BY 'wspass'";
|
||||
|
||||
3.3 CHECK AND CORRECT FIREWALL SETTINGS.
|
||||
|
||||
MySQL-wsrep server needs to be accessible from other cluster members through
|
||||
its client listening socket and through wsrep provider socket. See your
|
||||
distribution and wsrep provider documentation for details. For example on
|
||||
CentOS you might need to do something along these lines:
|
||||
|
||||
# iptables --insert RH-Firewall-1-INPUT 1 --proto tcp --source <my IP>/24 --destination <my IP>/32 --dport 3306 -j ACCEPT
|
||||
# iptables --insert RH-Firewall-1-INPUT 1 --proto tcp --source <my IP>/24 --destination <my IP>/32 --dport 4567 -j ACCEPT
|
||||
|
||||
If there is a NAT firewall between the nodes, it must be configured to allow
|
||||
direct connections between the nodes (e.g. via port forwarding).
|
||||
|
||||
3.4 SELINUX
|
||||
|
||||
If you have SELinux enabled, it may block mysqld from doing required operations.
|
||||
You'll need to either disable it or configure to allow mysqld to run external
|
||||
programs and open listen sockets at unprivileged ports (i.e. things that
|
||||
an unprivileged user can do). See SELinux documentation about it.
|
||||
|
||||
To quickly disable SELinux:
|
||||
1) run 'setenforce 0' as root.
|
||||
2) set 'SELINUX=permissive' in /etc/selinux/config
|
||||
|
||||
3.5 APPARMOR
|
||||
|
||||
AppArmor automatically comes with Ubuntu and may also prevent mysqld to from
|
||||
opening additional ports or run scripts. See AppArmor documentation about its
|
||||
configuration. To disable AppArmor for mysqld:
|
||||
|
||||
$ cd /etc/apparmor.d/disable/
|
||||
$ sudo ln -s /etc/apparmor.d/usr.sbin.mysqld
|
||||
$ sudo service apparmor restart
|
||||
|
||||
|
||||
3.6 CONNECT TO CLUSTER
|
||||
|
||||
Now you're ready to connect to cluster by setting wsrep_cluster_address variable
|
||||
and monitor status of wsrep provider:
|
||||
|
||||
mysql> SET GLOBAL wsrep_cluster_address='<cluster address string>';
|
||||
mysql> SHOW STATUS LIKE 'wsrep%';
|
||||
|
||||
|
||||
4 UPGRADING FROM MySQL 5.1.x
|
||||
|
||||
!!! THESE INSTRUCTIONS ARE PRELIMINARY AND INCOMPLETE !!!
|
||||
|
||||
1) BEFORE UPGRADE (while running 5.1.x):
|
||||
- comment out 'wsrep_provider' setting from configuration files
|
||||
(my.cnf and/or wsrep.cnf)
|
||||
- If performing a rolling upgrade on a running cluster, set
|
||||
wsrep_sst_method=mysqldump.
|
||||
You might also need to configure wsrep_sst_receive_address and
|
||||
wsrep_sst_auth appropriately. mysqldump is the only way to transfer data
|
||||
from 5.1.x to 5.5.x reliably.
|
||||
- remove innodb_plugin settings from configuration files.
|
||||
|
||||
2) Perform upgrade as usual:
|
||||
http://dev.mysql.com/doc/refman/5.5/en/upgrading-from-previous-series.html
|
||||
Don't forget to run 'mysql_upgrade' command.
|
||||
|
||||
3) AFTER UPGRADING individual node:
|
||||
- uncomment 'wsrep_provider' line in configuration file.
|
||||
- restart the server and join the cluster.
|
||||
|
||||
4) AFTER UPGRADING the whole cluster:
|
||||
- revert to usual wsrep SST settings if not 'mysqldump'.
|
||||
|
||||
|
||||
5. CONFIGURATION OPTIONS
|
||||
|
||||
5.1 MANDATORY MYSQL OPTIONS
|
||||
|
||||
binlog_format=ROW
|
||||
This option is required to use row-level replication as opposed to
|
||||
statement-level. For performance and consistency considerations don't change
|
||||
that. As a side effect, binlog, if turned on, can be ROW only. In future this
|
||||
option won't have special meaning.
|
||||
|
||||
innodb_autoinc_lock_mode=2
|
||||
This is a required parameter. Without it INSERTs into tables with
|
||||
AUTO_INCREMENT column may fail.
|
||||
autoinc lock modes 0 and 1 can cause unresolved deadlock, and make
|
||||
the system unresponsive.
|
||||
|
||||
innodb_locks_unsafe_for_binlog=1
|
||||
This option is required for parallel applying.
|
||||
|
||||
5.2 WSREP OPTIONS
|
||||
|
||||
All options are optional except for wsrep_provider, wsrep_cluster_address, and
|
||||
wsrep_sst_auth.
|
||||
|
||||
wsrep_provider=none
|
||||
A full path to the library that implements WSREP interface. If none is
|
||||
specified, the server behaves like a regular mysqld.
|
||||
|
||||
wsrep_provider_options=
|
||||
Provider-specific option string. Check wsrep provider documentation or
|
||||
http://www.codership.com/wiki
|
||||
|
||||
wsrep_cluster_address=
|
||||
Provider-specific cluster address string. This is used to connect a node to
|
||||
the desired cluster. This option can be given either on mysqld startup or set
|
||||
during runtime. See wsrep provider documentation for possible values.
|
||||
|
||||
wsrep_cluster_name="my_wsrep_cluster"
|
||||
Logical cluster name, must be the same for all nodes of the cluster.
|
||||
|
||||
wsrep_node_address=
|
||||
An option to explicitly specify the network address of the node in the form
|
||||
<address>[:port] if autoguessing for some reason does not produce desirable
|
||||
results (multiple network interfaces, NAT, etc.)
|
||||
If not explicitly overridden by wsrep_sst_receive_address, the <address> part
|
||||
will be used to listen for SST (see below). And the whole <address>[:port]
|
||||
will be passed to the wsrep provider to be used as a base address in its
|
||||
communications.
|
||||
|
||||
wsrep_node_name=
|
||||
Human readable node name (for easier log reading only). Defaults to hostname.
|
||||
|
||||
wsrep_slave_threads=1
|
||||
The number of threads dedicated to the processing of writesets from other nodes.
|
||||
For best performance should be few per CPU core.
|
||||
|
||||
wsrep_dbug_option
|
||||
Options for the built-in DBUG library (independent from what MySQL uses).
|
||||
Empty by default. Not currently in use.
|
||||
|
||||
wsrep_debug=0
|
||||
Enable debug-level logging.
|
||||
|
||||
wsrep_convert_LOCK_to_trx=0
|
||||
Implicitly convert locking sessions into transactions inside mysqld. By
|
||||
itself it does not mean support for locking sessions, but it prevents the
|
||||
database from going into logically inconsistent state. Note however, that
|
||||
loading large database dump with LOCK statements might result in abnormally
|
||||
large transactions and cause an out-of-memory condition
|
||||
|
||||
wsrep_retry_autocommit=1
|
||||
Retry autocommit queries and single statement transactions should they fail
|
||||
certification test. This is analogous to rescheduling an autocommit query
|
||||
should it go into a deadlock with other transactions in the database lock
|
||||
manager.
|
||||
|
||||
wsrep_auto_increment_control=1
|
||||
Automatically adjust auto_increment_increment and auto_increment_offset
|
||||
variables based on the number of nodes in the cluster. Significantly reduces
|
||||
certification conflict rate for INSERTS.
|
||||
|
||||
wsrep_drupal_282555_workaround=1
|
||||
MySQL seems to have an obscure bug when INSERT into table with
|
||||
AUTO_INCREMENT column with NULL value for that column can fail with a
|
||||
duplicate key error. When this option is on, it retries such INSERTs.
|
||||
Required for stable Drupal operation. Documented at:
|
||||
http://bugs.mysql.com/bug.php?id=41984
|
||||
http://drupal.org/node/282555
|
||||
|
||||
wsrep_causal_reads=0
|
||||
Enforce strict READ COMMITTED semantics on reads and transactions. May
|
||||
result in additional latencies. It is a session variable.
|
||||
|
||||
wsrep_OSU_method=TOI
|
||||
Online Schema Upgrade (OSU) can be performed with two alternative methods:
|
||||
Total Order Isolation (TOI) runs DDL statement in all cluster nodes in
|
||||
same total order sequence locking the affected table for the duration of the
|
||||
operation. This may result in the whole cluster being blocked for the
|
||||
duration of the operation.
|
||||
Rolling Schema Upgrade (RSU) executes the DDL statement only locally, thus
|
||||
blocking only one cluster node. During the DDL processing, the node
|
||||
is not replicating and may be unable to process replication events (due to
|
||||
table lock). Once DDL operation is complete, the node will catch up and sync
|
||||
with the cluster to become fully operational again. The DDL statement or
|
||||
its effects are not replicated, so it is the user's responsibility to manually
|
||||
perform this operation on each of the nodes.
|
||||
|
||||
wsrep_forced_binlog_format=none
|
||||
Force every transaction to use given binlog format. When this variable is
|
||||
set to something else than NONE, all transactions will use the given forced
|
||||
format, regardless of what the client session has specified in binlog_format.
|
||||
Valid choices for wsrep_forced_binlog_format are: ROW, STATEMENT, MIXED and
|
||||
special value NONE, meaning that there is no forced binlog format in effect.
|
||||
This variable was introduced to support STATEMENT format replication during
|
||||
rolling schema upgrade processing. However, in most cases ROW replication
|
||||
is valid for asymmetrict schema replication.
|
||||
|
||||
State snapshot transfer options.
|
||||
|
||||
When a new node joins the cluster it has to synchronize its initial state with
|
||||
the other cluster members by transferring state snapshot from one of them.
|
||||
The options below govern how this happens and should be set up before attempting
|
||||
to join or start a cluster.
|
||||
|
||||
wsrep_sst_method=rsync
|
||||
What method to use to copy database state to a newly joined node. Supported
|
||||
methods:
|
||||
- mysqldump: slow (except for small datasets) but allows for upgrade
|
||||
between major MySQL versions or InnoDB features.
|
||||
- rsync: much faster on large datasets (default).
|
||||
- rsync_wan: same as rsync but with deltaxfer to minimize network traffic.
|
||||
- mariabackup: very fast and practically non-blocking SST method based on
|
||||
mariabackup tool (enhanced version of Percona's xtrabackup).
|
||||
|
||||
(for mariabackup to work the following settings must be present in my.cnf
|
||||
on all nodes:
|
||||
[mysqld]
|
||||
wsrep_sst_auth=root:<root password>
|
||||
datadir=<path to data dir>
|
||||
[client]
|
||||
socket=<path to socket>
|
||||
)
|
||||
|
||||
wsrep_sst_receive_address=
|
||||
Address (hostname:port) at which this node wants to receive state snapshot.
|
||||
Defaults to mysqld bind address, and if that is not specified (0.0.0.0) -
|
||||
to the first IP of eth0 + mysqld bind port.
|
||||
NOTE: check that your firewall allows connections to this address from other
|
||||
cluster nodes.
|
||||
|
||||
wsrep_sst_auth=
|
||||
Authentication information needed for state transfer. Depends on the state
|
||||
transfer method. For mysqldump-based SST it is
|
||||
<mysql_root_user>:<mysql_root_password>
|
||||
and should be the same on all nodes - it is used to authenticate with both
|
||||
state snapshot receiver and state snapshot donor.
|
||||
|
||||
wsrep_sst_donor=
|
||||
A name of the node which should serve as state snapshot donor. This allows
|
||||
controlling which node will serve the state snapshot request. By default the
|
||||
most suitable node is chosen by the wsrep provider. This is the same as given in
|
||||
wsrep_node_name.
|
||||
|
||||
|
||||
6. ONLINE SCHEMA UPGRADE
|
||||
|
||||
Schema upgrades mean any data definition statements (DDL statemnents) run
|
||||
for the database. They change the database structure and are non-
|
||||
transactional.
|
||||
|
||||
Release 22.3 brings a new method for performing schema upgrades. A user can
|
||||
now choose whether to use the traditional total order isolation or new
|
||||
rolling schema upgrade method. The OSU method choice is done by global
|
||||
parameter: 'wsrep_OSU_method'.
|
||||
|
||||
6.1 Total Order Isolation (TOI)
|
||||
|
||||
With earlier releases, DDL processing happened always by Total Order
|
||||
Isolation (TOI) method. With TOI, the DDL was scheduled to be processed in
|
||||
same transaction seqeuncing 'slot' in each cluster node.
|
||||
The processing is secured by locking the affected table from any other use.
|
||||
With TOI method, the whole cluster has part of the database locked for the
|
||||
duration of the DDL processing.
|
||||
|
||||
6.2 Rolling Schema Upgrade (RSU)
|
||||
|
||||
Rolling schema upgrade is a new DDL processing method, where DDL will be
|
||||
processed locally for the node. The node is disconnected of the replication
|
||||
for the duration of the DDL processing, so that there is only DDL statement
|
||||
processing in the node and it does not block the rest of the cluster. When
|
||||
the DDL processing is complete, the node applies delayed replication events
|
||||
and synchronizes back with the cluster.
|
||||
The DDL can then be executed cluster-wide by running the same DDL statement
|
||||
for each node in turn. When this rolling schema upgrade proceeds, part of
|
||||
the cluster will have old schema structure and part of the cluster will have
|
||||
new schema structure.
|
||||
|
||||
|
||||
7. LIMITATIONS
|
||||
|
||||
1) Currently replication works only with InnoDB storage engine. Any writes to
|
||||
tables of other types, including system (mysql.*) tables are not replicated.
|
||||
However, DDL statements are replicated in statement level, and changes
|
||||
to mysql.* tables will get replicated that way.
|
||||
So, you can safely issue: CREATE USER...,
|
||||
but issuing: INSERT INTO mysql.user..., will not be replicated.
|
||||
|
||||
2) DELETE operation is unsupported on tables without primary key. Also rows in
|
||||
tables without primary key may appear in different order on different nodes.
|
||||
As a result SELECT...LIMIT... may return slightly different sets.
|
||||
|
||||
3) Unsupported queries:
|
||||
* LOCK/UNLOCK TABLES cannot be supported in multi-master setups.
|
||||
* lock functions (GET_LOCK(), RELEASE_LOCK()... )
|
||||
|
||||
4) Query log cannot be directed to a table. If you enable query logging,
|
||||
you must forward the log to a file:
|
||||
log_output = FILE
|
||||
Use general_log and general_log_file to choose query logging and the
|
||||
log file name
|
||||
|
||||
5) Maximum allowed transaction size is defined by wsrep_max_ws_rows and
|
||||
wsrep_max_ws_size. Anything bigger (e.g. huge LOAD DATA) will be rejected.
|
||||
|
||||
6) Due to cluster level optimistic concurrency control, transaction issuing
|
||||
COMMIT may still be aborted at that stage. There can be two transactions.
|
||||
writing to same rows and committing in separate cluster nodes, and only one
|
||||
of them can successfully commit. The failing one will be aborted.
|
||||
For cluster level aborts, MySQL/galera cluster gives back deadlock error.
|
||||
code (Error: 1213 SQLSTATE: 40001 (ER_LOCK_DEADLOCK)).
|
||||
|
||||
7) XA transactions can not be supported due to possible rollback on commit.
|
||||
|
||||
80
Agent-Windows/OGP64/usr/share/doc/mysql/README.md
Normal file
80
Agent-Windows/OGP64/usr/share/doc/mysql/README.md
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
Code status:
|
||||
------------
|
||||
|
||||
* [](https://travis-ci.org/MariaDB/server) travis-ci.org (10.3 branch)
|
||||
* [](https://ci.appveyor.com/project/rasmushoj/server) ci.appveyor.com
|
||||
|
||||
## MariaDB: drop-in replacement for MySQL
|
||||
|
||||
MariaDB is designed as a drop-in replacement of MySQL(R) with more
|
||||
features, new storage engines, fewer bugs, and better performance.
|
||||
|
||||
MariaDB is brought to you by the MariaDB Foundation.
|
||||
Please read the CREDITS file for details about the MariaDB Foundation,
|
||||
and who is developing MariaDB.
|
||||
|
||||
MariaDB is developed by many of the original developers of MySQL who
|
||||
now work for the MariaDB Foundation and the MariaDB Corporation, and by many people in
|
||||
the community.
|
||||
|
||||
MySQL, which is the base of MariaDB, is a product and trademark of Oracle
|
||||
Corporation, Inc. For a list of developers and other contributors,
|
||||
see the Credits appendix. You can also run 'SHOW authors' to get a
|
||||
list of active contributors.
|
||||
|
||||
A description of the MariaDB project and a manual can be found at:
|
||||
|
||||
https://mariadb.org/
|
||||
|
||||
https://mariadb.com/kb/en/
|
||||
|
||||
https://mariadb.com/kb/en/mariadb-vs-mysql-features/
|
||||
|
||||
https://mariadb.com/kb/en/mariadb-versus-mysql-features/
|
||||
|
||||
https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/
|
||||
|
||||
As MariaDB is a full replacement of MySQL, the MySQL manual at
|
||||
http://dev.mysql.com/doc is generally applicable.
|
||||
|
||||
Help:
|
||||
-----
|
||||
|
||||
More help is available from the Maria Discuss mailing list
|
||||
https://launchpad.net/~maria-discuss
|
||||
and the #maria IRC channel on Freenode.
|
||||
|
||||
|
||||
License:
|
||||
--------
|
||||
|
||||
***************************************************************************
|
||||
|
||||
NOTE:
|
||||
|
||||
MariaDB is specifically available only under version 2 of the GNU
|
||||
General Public License (GPLv2). (I.e. Without the "any later version"
|
||||
clause.) This is inherited from MySQL. Please see the README file in
|
||||
the MySQL distribution for more information.
|
||||
|
||||
License information can be found in the COPYING, COPYING.LESSER,
|
||||
and COPYING.thirdparty files.
|
||||
|
||||
***************************************************************************
|
||||
|
||||
Bug Reports:
|
||||
------------
|
||||
|
||||
Bug and/or error reports regarding MariaDB should be submitted at:
|
||||
https://jira.mariadb.org
|
||||
|
||||
For reporting security vulnerabilities see:
|
||||
https://mariadb.org/about/security-policy/
|
||||
|
||||
Bugs in the MySQL code can also be submitted at:
|
||||
https://bugs.mysql.com
|
||||
|
||||
The code for MariaDB, including all revision history, can be found at:
|
||||
https://github.com/MariaDB/server
|
||||
|
||||
***************************************************************************
|
||||
Loading…
Add table
Add a link
Reference in a new issue