mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-16 00:03:02 +00:00
Compare commits
30 Commits
PT-1564_Ma
...
dependabot
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ea8fc17dbc | ||
![]() |
2dbdb8642b | ||
![]() |
cd6183dbcc | ||
![]() |
2ac8385d2d | ||
![]() |
128dc2938e | ||
![]() |
f550652dbf | ||
![]() |
fef02540fe | ||
![]() |
4e190a34ef | ||
![]() |
4388b4f54f | ||
![]() |
9c98f75ce8 | ||
![]() |
656a49f011 | ||
![]() |
21fd4f7b90 | ||
![]() |
427a83ce6d | ||
![]() |
3149c89fa8 | ||
![]() |
01fb9b5278 | ||
![]() |
20b3196cda | ||
![]() |
2ee29986db | ||
![]() |
2b5ceb9fee | ||
![]() |
c5c6bf34c6 | ||
![]() |
0e3a18c378 | ||
![]() |
0d0e7210f7 | ||
![]() |
699b28d2a3 | ||
![]() |
b30f10103a | ||
![]() |
05b7efcd27 | ||
![]() |
ab620a6707 | ||
![]() |
47f7638d60 | ||
![]() |
3173362d8e | ||
![]() |
bca6c5bee8 | ||
![]() |
dcab1bb2ad | ||
![]() |
c85ad15e3c |
2
.github/workflows/toolkit.yml
vendored
2
.github/workflows/toolkit.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
- name: Build the Docker image
|
||||
run: echo "FROM oraclelinux:9-slim" > Dockerfile; echo "RUN microdnf -y update" >> Dockerfile; echo "COPY bin/* /usr/bin/" >> Dockerfile; docker build . --file Dockerfile --tag percona-toolkit:${{ github.sha }}
|
||||
- name: Run Trivy vulnerability scanner
|
||||
uses: aquasecurity/trivy-action@0.32.0
|
||||
uses: aquasecurity/trivy-action@0.33.1
|
||||
with:
|
||||
image-ref: 'percona-toolkit:${{ github.sha }}'
|
||||
format: 'table'
|
||||
|
@@ -3515,12 +3515,12 @@ use English qw(-no_match_vars);
|
||||
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
||||
|
||||
my %alt_val_for = (
|
||||
ON => 1,
|
||||
YES => 1,
|
||||
TRUE => 1,
|
||||
OFF => 0,
|
||||
NO => 0,
|
||||
FALSE => 0,
|
||||
ON => 1,
|
||||
YES => 1,
|
||||
TRUE => 1,
|
||||
OFF => 0,
|
||||
NO => 0,
|
||||
FALSE => 0,
|
||||
);
|
||||
|
||||
sub new {
|
||||
@@ -3637,7 +3637,8 @@ sub diff {
|
||||
next CONFIG if $val0 == $valN;
|
||||
}
|
||||
else {
|
||||
next CONFIG if $ignore_case
|
||||
|
||||
next CONFIG if $ignore_case
|
||||
? lc($val0) eq lc($valN)
|
||||
: $val0 eq $valN;
|
||||
|
||||
@@ -3699,7 +3700,11 @@ sub _normalize_value {
|
||||
my ($val, $is_dir, $base_path) = @args{qw(value is_directory base_path)};
|
||||
|
||||
$val = defined $val ? $val : '';
|
||||
$val = $alt_val_for{$val} if exists $alt_val_for{$val};
|
||||
$val = $alt_val_for{uc($val)} if exists $alt_val_for{uc($val)};
|
||||
|
||||
if ( $val =~ m/,/ && !$is_dir && !$base_path) {
|
||||
$val = join(',', sort(split(',', $val)));
|
||||
}
|
||||
|
||||
if ( $val ) {
|
||||
if ( $is_dir ) {
|
||||
|
@@ -2392,7 +2392,7 @@ report_jemalloc_enabled() {
|
||||
local variables_file="$2"
|
||||
local GENERAL_JEMALLOC_STATUS=0
|
||||
|
||||
for pid in $(grep '/mysqld ' "$instances_file" | awk '{print $1;}'); do
|
||||
for pid in $(grep '/mysqld\b' "$instances_file" | awk '{print $1;}'); do
|
||||
local jemalloc_status="$(get_var "pt-summary-internal-jemalloc_enabled_for_pid_${pid}" "${variables_file}")"
|
||||
if [ -z $jemalloc_status ]; then
|
||||
continue
|
||||
|
@@ -9181,6 +9181,41 @@ sub main {
|
||||
channel => $o->get('channel'),
|
||||
);
|
||||
|
||||
# Check if we are not a replica of the source server with ROW or MIXED base replication
|
||||
if ( !$o->get('force') ) {
|
||||
my $source = $ms->get_source_dsn($cxn->dbh(), $dsn, $dp);
|
||||
if ( $source ) {
|
||||
my $source_cxn = $make_cxn->(dsn => $source);
|
||||
|
||||
# Check source
|
||||
my $is_source_of = eval {
|
||||
$ms->is_source_of($source_cxn->{dbh}, $cxn->{dbh});
|
||||
};
|
||||
|
||||
# We should not die if replica connected via tunnel or port redirection
|
||||
if ( $EVAL_ERROR ) {
|
||||
$EVAL_ERROR =~ m/The replica is connected to (\d+) but the source's port is \d+/;
|
||||
if ( !$1 || $1 != $source->{P} ) {
|
||||
$is_source_of = 0;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $is_source_of) {
|
||||
my $source_binlog_format = $source_cxn->dbh()->selectrow_arrayref("SHOW GLOBAL VARIABLES LIKE 'binlog_format'");
|
||||
if ( uc @$source_binlog_format[1] ne 'STATEMENT' ) {
|
||||
_die("Server " . $dp->as_string($cxn->dsn())
|
||||
. " is a replica of " . $dp->as_string($source_cxn->dsn())
|
||||
. " running with binary log format "
|
||||
. "@${source_binlog_format[1]}, therefore we cannot guarantee "
|
||||
. "that all replication updates will be applied to the new table.\n"
|
||||
. "Exiting.\n"
|
||||
. "If you want to bypass this check, specify option --force.",
|
||||
NO_MINIMUM_REQUIREMENTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my $slaves_to_skip = $o->get('skip-check-replica-lag');
|
||||
|
||||
my $get_replicas_cb = sub {
|
||||
@@ -11176,7 +11211,7 @@ sub get_unique_index_fields {
|
||||
$clean .= $suffix;
|
||||
|
||||
my $fields = [];
|
||||
my $fields_re = qr/\s(?:PRIMARY|UNIQUE)\s+(?:INDEX|KEY|)\s*(?:.*?)\s*\((.*?)\)/i;
|
||||
my $fields_re = qr/\s(?:(?:(?:PRIMARY|UNIQUE)\s+(?:INDEX|KEY|))|UNIQUE)\s*(?:.*?)\s*\((.*?)\)/i;
|
||||
|
||||
while($clean =~ /$fields_re/g) {
|
||||
push @$fields, [ split /\s*,\s*/, $1 ];
|
||||
@@ -13305,6 +13340,8 @@ This option bypasses confirmation in case of using alter-foreign-keys-method = n
|
||||
|
||||
This option also allows to use option --where without options --no-drop-new-table and --no-swap-tables.
|
||||
|
||||
This option also allows to bypass the safety check that prevents the tool from running on replica that is replicating from a source with binary log format ROW or MIXED.
|
||||
|
||||
=item --help
|
||||
|
||||
Show help and exit.
|
||||
|
@@ -12965,14 +12965,43 @@ Possible methods are:
|
||||
=========== ==================
|
||||
processlist SHOW PROCESSLIST
|
||||
hosts SHOW REPLICAS (SHOW SLAVE HOSTS before MySQL 8.1)
|
||||
dsn=DSN DSNs from a table
|
||||
none Do not find replicas
|
||||
|
||||
The processlist method is preferred because SHOW REPLICAS is not reliable.
|
||||
However, the hosts method is required if the server uses a non-standard
|
||||
port (not 3306). Usually pt-table-sync does the right thing and finds
|
||||
the replicas, but you may give a preferred method and it will be used first.
|
||||
If it doesn't find any replicas, the other methods will be tried.
|
||||
The C<processlist> method is the default, because C<SHOW REPLICAS> is not
|
||||
reliable. However, if the server uses a non-standard port (not 3306), then
|
||||
the C<hosts> method becomes the default because it works better in this case.
|
||||
|
||||
The C<hosts> method requires replicas to be configured with C<report_host>,
|
||||
C<report_port>, etc.
|
||||
|
||||
The C<dsn> method is special: rather than automatically discovering replicas,
|
||||
this method specifies a table with replica DSNs. The tool will only connect
|
||||
to these replicas. This method works best when replicas do not use the same
|
||||
MySQL username or password as the source, or when you want to prevent the tool
|
||||
from connecting to certain replicas. The C<dsn> method is specified like:
|
||||
C<--recursion-method dsn=h=host,D=percona,t=dsns>. The specified DSN must
|
||||
have D and t parts, or just a database-qualified t part, which specify the
|
||||
DSN table. The DSN table must have the following structure:
|
||||
|
||||
CREATE TABLE `dsns` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` int(11) DEFAULT NULL,
|
||||
`dsn` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
);
|
||||
|
||||
DSNs are ordered by C<id>, but C<id> and C<parent_id> are otherwise ignored.
|
||||
The C<dsn> column contains a replica DSN like it would be given on the command
|
||||
line, for example: C<"h=replica_host,u=repl_user,p=repl_pass">.
|
||||
|
||||
The C<none> method makes the tool ignore all replicas and cluster nodes. This
|
||||
method is not recommended because it effectively disables the
|
||||
L<"REPLICA CHECKS"> and no differences can be found. It is useful, however, if
|
||||
you only need to write checksums on the source or a single cluster node. The
|
||||
safer alternative is C<--no-replicate-check>: the tool finds replicas and
|
||||
cluster nodes, performs the L<"REPLICA CHECKS">, but does not check for
|
||||
differences. See L<"--[no]replicate-check">.
|
||||
|
||||
=item --replace
|
||||
|
||||
|
@@ -8,7 +8,11 @@ It is recommended to install Percona software from official repositories:
|
||||
|
||||
1. Configure Percona repositories as described in
|
||||
`Percona Software Repositories Documentation
|
||||
<https://www.percona.com/doc/percona-repo-config/index.html>`_.
|
||||
<https://docs.percona.com/percona-software-repositories/index.html>`_.
|
||||
|
||||
#. Enable Percona Toolkit repository::
|
||||
|
||||
sudo percona-release enable pt release
|
||||
|
||||
#. Install Percona Toolkit using the corresponding package manager:
|
||||
|
||||
|
18
go.mod
18
go.mod
@@ -26,21 +26,21 @@ require (
|
||||
github.com/rs/zerolog v1.34.0
|
||||
github.com/shirou/gopsutil v3.21.11+incompatible
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/stretchr/testify v1.10.0
|
||||
github.com/stretchr/testify v1.11.1
|
||||
github.com/xlab/treeprint v1.2.0
|
||||
go.mongodb.org/mongo-driver v1.17.4
|
||||
golang.org/x/crypto v0.41.0
|
||||
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
|
||||
gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
|
||||
gopkg.in/yaml.v2 v2.4.0
|
||||
k8s.io/api v0.33.4
|
||||
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738
|
||||
k8s.io/api v0.34.1
|
||||
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 // indirect
|
||||
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.7.0 // indirect
|
||||
github.com/fxamacker/cbor/v2 v2.9.0 // indirect
|
||||
github.com/go-logr/logr v1.4.2 // indirect
|
||||
github.com/go-ole/go-ole v1.2.6 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
@@ -51,7 +51,7 @@ require (
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.19 // indirect
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
||||
github.com/modern-go/reflect2 v1.0.2 // indirect
|
||||
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
||||
github.com/tklauser/go-sysconf v0.3.11 // indirect
|
||||
github.com/tklauser/numcpus v0.6.0 // indirect
|
||||
@@ -61,6 +61,7 @@ require (
|
||||
github.com/xdg-go/stringprep v1.0.4 // indirect
|
||||
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 // indirect
|
||||
github.com/yusufpapurcu/wmi v1.2.2 // indirect
|
||||
go.yaml.in/yaml/v2 v2.4.2 // indirect
|
||||
golang.org/x/net v0.42.0 // indirect
|
||||
golang.org/x/sync v0.16.0 // indirect
|
||||
golang.org/x/sys v0.35.0 // indirect
|
||||
@@ -68,10 +69,9 @@ require (
|
||||
golang.org/x/text v0.28.0 // indirect
|
||||
gopkg.in/inf.v0 v0.9.1 // indirect
|
||||
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||
k8s.io/apimachinery v0.33.4 // indirect
|
||||
k8s.io/apimachinery v0.34.1 // indirect
|
||||
k8s.io/klog/v2 v2.130.1 // indirect
|
||||
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
|
||||
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
|
||||
sigs.k8s.io/randfill v1.0.0 // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 // indirect
|
||||
sigs.k8s.io/yaml v1.4.0 // indirect
|
||||
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect
|
||||
)
|
||||
|
43
go.sum
43
go.sum
@@ -22,8 +22,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
|
||||
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
|
||||
github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM=
|
||||
github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ=
|
||||
github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A=
|
||||
github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
|
||||
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
|
||||
@@ -37,7 +37,6 @@ github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
|
||||
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
|
||||
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
|
||||
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||
@@ -71,8 +70,9 @@ github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
|
||||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M=
|
||||
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8=
|
||||
github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
|
||||
github.com/montanaflynn/stats v0.7.1 h1:etflOAAHORrCC44V+aR6Ftzort912ZU+YLiSTuV8eaE=
|
||||
github.com/montanaflynn/stats v0.7.1/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow=
|
||||
github.com/pborman/getopt v1.1.0 h1:eJ3aFZroQqq0bWmraivjQNt6Dmm5M0h2JcDW38/Azb0=
|
||||
@@ -93,14 +93,14 @@ github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKl
|
||||
github.com/shirou/gopsutil v3.21.11+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
|
||||
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
|
||||
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
|
||||
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
|
||||
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
|
||||
github.com/tklauser/go-sysconf v0.3.11 h1:89WgdJhk5SNwJfu+GKyYveZ4IaJ7xAkecBo+KdJV0CM=
|
||||
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
|
||||
github.com/tklauser/numcpus v0.6.0 h1:kebhY2Qt+3U6RNK7UqpYNA+tJ23IBEGKkB7JQBfDYms=
|
||||
@@ -125,6 +125,8 @@ github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPR
|
||||
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
|
||||
go.mongodb.org/mongo-driver v1.17.4 h1:jUorfmVzljjr0FLzYQsGP8cgN/qzzxlY9Vh0C9KFXVw=
|
||||
go.mongodb.org/mongo-driver v1.17.4/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ=
|
||||
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
|
||||
go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
@@ -203,20 +205,19 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
k8s.io/api v0.33.4 h1:oTzrFVNPXBjMu0IlpA2eDDIU49jsuEorGHB4cvKupkk=
|
||||
k8s.io/api v0.33.4/go.mod h1:VHQZ4cuxQ9sCUMESJV5+Fe8bGnqAARZ08tSTdHWfeAc=
|
||||
k8s.io/apimachinery v0.33.4 h1:SOf/JW33TP0eppJMkIgQ+L6atlDiP/090oaX0y9pd9s=
|
||||
k8s.io/apimachinery v0.33.4/go.mod h1:BHW0YOu7n22fFv/JkYOEfkUYNRN0fj0BlvMFWA7b+SM=
|
||||
k8s.io/api v0.34.1 h1:jC+153630BMdlFukegoEL8E/yT7aLyQkIVuwhmwDgJM=
|
||||
k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk=
|
||||
k8s.io/apimachinery v0.34.1 h1:dTlxFls/eikpJxmAC7MVE8oOeP1zryV7iRyIjB0gky4=
|
||||
k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw=
|
||||
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
|
||||
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
|
||||
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
|
||||
k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
|
||||
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
|
||||
sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
|
||||
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8tmbZBHi4zVsl1Y=
|
||||
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
|
||||
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
|
||||
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
|
||||
sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=
|
||||
sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY=
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.6.0 h1:IUA9nvMmnKWcj5jl84xn+T5MnlZKThmUW1TdblaLVAc=
|
||||
sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
|
||||
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
|
||||
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
|
||||
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco=
|
||||
sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE=
|
||||
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
|
||||
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=
|
||||
|
@@ -31,12 +31,12 @@ use constant PTDEBUG => $ENV{PTDEBUG} || 0;
|
||||
# in SHOW VARS as var=TRUE. I.e. there's several synonyms for basic
|
||||
# true (1) and false (0), so we normalize them to make comparisons easier.
|
||||
my %alt_val_for = (
|
||||
ON => 1,
|
||||
YES => 1,
|
||||
TRUE => 1,
|
||||
OFF => 0,
|
||||
NO => 0,
|
||||
FALSE => 0,
|
||||
ON => 1,
|
||||
YES => 1,
|
||||
TRUE => 1,
|
||||
OFF => 0,
|
||||
NO => 0,
|
||||
FALSE => 0,
|
||||
);
|
||||
|
||||
# Sub: new
|
||||
@@ -202,7 +202,8 @@ sub diff {
|
||||
next CONFIG if $val0 == $valN;
|
||||
}
|
||||
else {
|
||||
next CONFIG if $ignore_case
|
||||
|
||||
next CONFIG if $ignore_case
|
||||
? lc($val0) eq lc($valN)
|
||||
: $val0 eq $valN;
|
||||
|
||||
@@ -293,7 +294,11 @@ sub _normalize_value {
|
||||
my ($val, $is_dir, $base_path) = @args{qw(value is_directory base_path)};
|
||||
|
||||
$val = defined $val ? $val : '';
|
||||
$val = $alt_val_for{$val} if exists $alt_val_for{$val};
|
||||
$val = $alt_val_for{uc($val)} if exists $alt_val_for{uc($val)};
|
||||
|
||||
if ( $val =~ m/,/ && !$is_dir && !$base_path) {
|
||||
$val = join(',', sort(split(',', $val)));
|
||||
}
|
||||
|
||||
if ( $val ) {
|
||||
if ( $is_dir ) {
|
||||
|
@@ -1286,7 +1286,7 @@ report_jemalloc_enabled() {
|
||||
local variables_file="$2"
|
||||
local GENERAL_JEMALLOC_STATUS=0
|
||||
|
||||
for pid in $(grep '/mysqld ' "$instances_file" | awk '{print $1;}'); do
|
||||
for pid in $(grep '/mysqld\b' "$instances_file" | awk '{print $1;}'); do
|
||||
local jemalloc_status="$(get_var "pt-summary-internal-jemalloc_enabled_for_pid_${pid}" "${variables_file}")"
|
||||
if [ -z $jemalloc_status ]; then
|
||||
continue
|
||||
|
@@ -369,6 +369,30 @@ $c2 = new MySQLConfig(
|
||||
) or print Dumper($diff);
|
||||
}
|
||||
|
||||
# ############################################################################
|
||||
# PS-2015 pt-config-diff doesn't diff ordered flags
|
||||
# ############################################################################
|
||||
$c1 = new MySQLConfig(
|
||||
result_set => [['log_slow_verbosity', 'innodb,microtime']],
|
||||
format => 'show_variables',
|
||||
);
|
||||
$c2 = new MySQLConfig(
|
||||
result_set => [['log_slow_verbosity', 'microtime,innodb']],
|
||||
format => 'show_variables',
|
||||
);
|
||||
|
||||
{
|
||||
$diff = $cc->diff(
|
||||
configs => [$c1, $c2],
|
||||
);
|
||||
|
||||
is_deeply(
|
||||
$diff,
|
||||
undef,
|
||||
"Values are same regardless of order"
|
||||
) or diag(Dumper($diff));
|
||||
}
|
||||
|
||||
# ############################################################################
|
||||
# https://bugs.launchpad.net/percona-toolkit/+bug/889739
|
||||
# pt-config-diff doesn't diff quoted strings properly
|
||||
@@ -425,6 +449,30 @@ is_deeply(
|
||||
"..but can be turned off"
|
||||
);
|
||||
|
||||
# ############################################################################
|
||||
# https://perconadev.atlassian.net/browse/PT-2014
|
||||
# pt-config-diff does not honor case insensitivity flag for boolean values
|
||||
# ############################################################################
|
||||
$c1 = new MySQLConfig(
|
||||
file => "$trunk/$sample/pt-2014-1.txt",
|
||||
TextResultSetParser => $trp,
|
||||
);
|
||||
$c2 = new MySQLConfig(
|
||||
file => "$trunk/$sample/pt-2014-2.txt",
|
||||
TextResultSetParser => $trp,
|
||||
);
|
||||
{
|
||||
my $diff = $cc->diff(
|
||||
configs => [$c1, $c2],
|
||||
);
|
||||
|
||||
is_deeply(
|
||||
$diff,
|
||||
undef,
|
||||
"Boolean values are the same regardless of the case"
|
||||
) or diag(Dumper($diff));
|
||||
}
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
plan 46
|
||||
plan 47
|
||||
|
||||
. "$LIB_DIR/alt_cmds.sh"
|
||||
. "$LIB_DIR/log_warn_die.sh"
|
||||
@@ -824,6 +824,12 @@ no_diff \
|
||||
"$samples/expected_output_ps-5.1-martin.txt" \
|
||||
"section_percona_server_features works on 5.1"
|
||||
|
||||
report_jemalloc_enabled "$samples/mysqld-instances-pt-2322" "$samples/mysql-variables-pt-2322" > "$PT_TMPDIR/got"
|
||||
no_diff \
|
||||
"$PT_TMPDIR/got" \
|
||||
"$samples/expected_output_pt-2322.txt" \
|
||||
"PT-2322: report_jemalloc_enabled works"
|
||||
|
||||
# ###########################################################################
|
||||
# Done
|
||||
# ###########################################################################
|
||||
|
7
t/lib/samples/configs/pt-2014-1.txt
Normal file
7
t/lib/samples/configs/pt-2014-1.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
[mysqld]
|
||||
log_bin=1
|
||||
gtid_mode=on
|
||||
read_only=off
|
||||
autocommit=no
|
||||
binlog_format=mixed
|
||||
skip_name_resolve=true
|
7
t/lib/samples/configs/pt-2014-2.txt
Normal file
7
t/lib/samples/configs/pt-2014-2.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
[mysqld]
|
||||
log_bin=on
|
||||
gtid_mode=True
|
||||
read_only=FALSE
|
||||
autocommit=0
|
||||
binlog_format=MIXED
|
||||
skip_name_resolve=TRUE
|
5
t/pt-mysql-summary/samples/expected_output_pt-2322.txt
Normal file
5
t/pt-mysql-summary/samples/expected_output_pt-2322.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
jemalloc enabled in mysql config for process with id 80592
|
||||
jemalloc enabled in mysql config for process with id 80852
|
||||
jemalloc enabled in mysql config for process with id 81695
|
||||
jemalloc is not enabled in mysql config for process with id 357384
|
||||
Using jemalloc from /usr/lib/x86_64-linux-gnu/libjemalloc.so.2
|
919
t/pt-mysql-summary/samples/mysql-variables-pt-2322
Normal file
919
t/pt-mysql-summary/samples/mysql-variables-pt-2322
Normal file
@@ -0,0 +1,919 @@
|
||||
activate_all_roles_on_login OFF
|
||||
admin_address
|
||||
admin_port 33062
|
||||
admin_ssl_ca
|
||||
admin_ssl_capath
|
||||
admin_ssl_cert
|
||||
admin_ssl_cipher
|
||||
admin_ssl_crl
|
||||
admin_ssl_crlpath
|
||||
admin_ssl_key
|
||||
admin_tls_ciphersuites
|
||||
admin_tls_version TLSv1.2,TLSv1.3
|
||||
authentication_policy *,,
|
||||
auto_generate_certs ON
|
||||
auto_increment_increment 1
|
||||
auto_increment_offset 1
|
||||
autocommit ON
|
||||
automatic_sp_privileges ON
|
||||
back_log 151
|
||||
basedir /usr/
|
||||
big_tables OFF
|
||||
bind_address *
|
||||
binlog_cache_size 32768
|
||||
binlog_checksum CRC32
|
||||
binlog_ddl_skip_rewrite OFF
|
||||
binlog_direct_non_transactional_updates OFF
|
||||
binlog_encryption OFF
|
||||
binlog_error_action ABORT_SERVER
|
||||
binlog_expire_logs_auto_purge ON
|
||||
binlog_expire_logs_seconds 2592000
|
||||
binlog_format ROW
|
||||
binlog_group_commit_sync_delay 0
|
||||
binlog_group_commit_sync_no_delay_count 0
|
||||
binlog_gtid_simple_recovery ON
|
||||
binlog_max_flush_queue_time 0
|
||||
binlog_order_commits ON
|
||||
binlog_rotate_encryption_master_key_at_startup OFF
|
||||
binlog_row_event_max_size 8192
|
||||
binlog_row_image FULL
|
||||
binlog_row_metadata MINIMAL
|
||||
binlog_row_value_options
|
||||
binlog_rows_query_log_events OFF
|
||||
binlog_skip_flush_commands OFF
|
||||
binlog_space_limit 0
|
||||
binlog_stmt_cache_size 32768
|
||||
binlog_transaction_compression OFF
|
||||
binlog_transaction_compression_level_zstd 3
|
||||
binlog_transaction_dependency_history_size 25000
|
||||
block_encryption_mode aes-128-ecb
|
||||
buffered_error_log_filename
|
||||
buffered_error_log_size 0
|
||||
build_id 4de3a036b7983a80c88f3a74d31b0c38359214d1
|
||||
bulk_insert_buffer_size 8388608
|
||||
caching_sha2_password_auto_generate_rsa_keys ON
|
||||
caching_sha2_password_digest_rounds 5000
|
||||
caching_sha2_password_private_key_path private_key.pem
|
||||
caching_sha2_password_public_key_path public_key.pem
|
||||
character_set_client utf8mb4
|
||||
character_set_connection utf8mb4
|
||||
character_set_database utf8mb4
|
||||
character_set_filesystem binary
|
||||
character_set_results utf8mb4
|
||||
character_set_server utf8mb4
|
||||
character_set_system utf8mb3
|
||||
character_sets_dir /usr/share/mysql/charsets/
|
||||
check_proxy_users OFF
|
||||
clone_autotune_concurrency ON
|
||||
clone_block_ddl OFF
|
||||
clone_buffer_size 4194304
|
||||
clone_compression_algorithm zstd
|
||||
clone_ddl_timeout 300
|
||||
clone_delay_after_data_drop 0
|
||||
clone_donor_timeout_after_network_failure 5
|
||||
clone_enable_compression OFF
|
||||
clone_exclude_plugins_list
|
||||
clone_max_concurrency 16
|
||||
clone_max_data_bandwidth 0
|
||||
clone_max_network_bandwidth 0
|
||||
clone_ssl_ca
|
||||
clone_ssl_cert
|
||||
clone_ssl_key
|
||||
clone_valid_donor_list
|
||||
clone_zstd_compression_level 3
|
||||
collation_connection utf8mb4_0900_ai_ci
|
||||
collation_database utf8mb4_0900_ai_ci
|
||||
collation_server utf8mb4_0900_ai_ci
|
||||
completion_type NO_CHAIN
|
||||
concurrent_insert AUTO
|
||||
connect_timeout 10
|
||||
connection_memory_chunk_size 8192
|
||||
connection_memory_limit 18446744073709551615
|
||||
core_file OFF
|
||||
create_admin_listener_thread OFF
|
||||
cte_max_recursion_depth 1000
|
||||
datadir /var/lib/mysql/
|
||||
default_collation_for_utf8mb4 utf8mb4_0900_ai_ci
|
||||
default_password_lifetime 0
|
||||
default_storage_engine InnoDB
|
||||
default_table_encryption OFF
|
||||
default_tmp_storage_engine InnoDB
|
||||
default_week_format 0
|
||||
delay_key_write ON
|
||||
delayed_insert_limit 100
|
||||
delayed_insert_timeout 300
|
||||
delayed_queue_size 1000
|
||||
disabled_storage_engines
|
||||
disconnect_on_expired_password ON
|
||||
div_precision_increment 4
|
||||
encrypt_tmp_files OFF
|
||||
end_markers_in_json OFF
|
||||
enforce_gtid_consistency OFF
|
||||
enforce_storage_engine
|
||||
eq_range_index_dive_limit 200
|
||||
event_scheduler ON
|
||||
expand_fast_index_creation OFF
|
||||
explain_format TRADITIONAL
|
||||
explain_json_format_version 1
|
||||
explicit_defaults_for_timestamp ON
|
||||
flush OFF
|
||||
flush_time 0
|
||||
foreign_key_checks ON
|
||||
ft_boolean_syntax + -><()~*:""&|
|
||||
ft_max_word_len 84
|
||||
ft_min_word_len 4
|
||||
ft_query_expansion_limit 20
|
||||
ft_query_extra_word_chars OFF
|
||||
ft_stopword_file (built-in)
|
||||
general_log OFF
|
||||
general_log_file /var/lib/mysql/s76.log
|
||||
generated_random_password_length 20
|
||||
global_connection_memory_limit 18446744073709551615
|
||||
global_connection_memory_tracking OFF
|
||||
group_concat_max_len 1024
|
||||
group_replication_consistency BEFORE_ON_PRIMARY_FAILOVER
|
||||
gtid_executed
|
||||
gtid_executed_compression_period 0
|
||||
gtid_mode OFF
|
||||
gtid_owned
|
||||
gtid_purged
|
||||
have_backup_locks YES
|
||||
have_backup_safe_binlog_info YES
|
||||
have_compress YES
|
||||
have_dynamic_loading YES
|
||||
have_geometry YES
|
||||
have_profiling YES
|
||||
have_query_cache NO
|
||||
have_rtree_keys YES
|
||||
have_snapshot_cloning YES
|
||||
have_statement_timeout YES
|
||||
have_symlink DISABLED
|
||||
histogram_generation_max_mem_size 20000000
|
||||
host_cache_size 279
|
||||
hostname s76
|
||||
information_schema_stats_expiry 86400
|
||||
init_connect
|
||||
init_file
|
||||
init_replica
|
||||
init_slave
|
||||
innodb_adaptive_flushing ON
|
||||
innodb_adaptive_flushing_lwm 10
|
||||
innodb_adaptive_hash_index OFF
|
||||
innodb_adaptive_hash_index_parts 8
|
||||
innodb_adaptive_max_sleep_delay 150000
|
||||
innodb_api_bk_commit_interval 5
|
||||
innodb_api_disable_rowlock OFF
|
||||
innodb_api_enable_binlog OFF
|
||||
innodb_api_enable_mdl OFF
|
||||
innodb_api_trx_level 0
|
||||
innodb_autoextend_increment 64
|
||||
innodb_autoinc_lock_mode 2
|
||||
innodb_buffer_pool_chunk_size 134217728
|
||||
innodb_buffer_pool_dump_at_shutdown ON
|
||||
innodb_buffer_pool_dump_now OFF
|
||||
innodb_buffer_pool_dump_pct 25
|
||||
innodb_buffer_pool_filename ib_buffer_pool
|
||||
innodb_buffer_pool_in_core_file OFF
|
||||
innodb_buffer_pool_instances 1
|
||||
innodb_buffer_pool_load_abort OFF
|
||||
innodb_buffer_pool_load_at_startup ON
|
||||
innodb_buffer_pool_load_now OFF
|
||||
innodb_buffer_pool_size 134217728
|
||||
innodb_change_buffer_max_size 25
|
||||
innodb_change_buffering none
|
||||
innodb_checksum_algorithm crc32
|
||||
innodb_cleaner_lsn_age_factor high_checkpoint
|
||||
innodb_cmp_per_index_enabled OFF
|
||||
innodb_commit_concurrency 0
|
||||
innodb_compressed_columns_threshold 96
|
||||
innodb_compressed_columns_zip_level 6
|
||||
innodb_compression_failure_threshold_pct 5
|
||||
innodb_compression_level 6
|
||||
innodb_compression_pad_pct_max 50
|
||||
innodb_concurrency_tickets 5000
|
||||
innodb_corrupt_table_action assert
|
||||
innodb_data_file_path ibdata1:12M:autoextend
|
||||
innodb_data_home_dir
|
||||
innodb_ddl_buffer_size 1048576
|
||||
innodb_ddl_threads 4
|
||||
innodb_deadlock_detect ON
|
||||
innodb_dedicated_server OFF
|
||||
innodb_default_row_format dynamic
|
||||
innodb_directories
|
||||
innodb_disable_sort_file_cache OFF
|
||||
innodb_doublewrite ON
|
||||
innodb_doublewrite_batch_size 0
|
||||
innodb_doublewrite_dir
|
||||
innodb_doublewrite_files 2
|
||||
innodb_doublewrite_pages 128
|
||||
innodb_empty_free_list_algorithm legacy
|
||||
innodb_encrypt_online_alter_logs OFF
|
||||
innodb_extend_and_initialize ON
|
||||
innodb_fast_shutdown 1
|
||||
innodb_file_per_table ON
|
||||
innodb_fill_factor 100
|
||||
innodb_flush_log_at_timeout 1
|
||||
innodb_flush_log_at_trx_commit 1
|
||||
innodb_flush_method O_DIRECT
|
||||
innodb_flush_neighbors 0
|
||||
innodb_flush_sync ON
|
||||
innodb_flushing_avg_loops 30
|
||||
innodb_force_index_records_in_range 0
|
||||
innodb_force_load_corrupted OFF
|
||||
innodb_force_recovery 0
|
||||
innodb_fsync_threshold 0
|
||||
innodb_ft_aux_table
|
||||
innodb_ft_cache_size 8000000
|
||||
innodb_ft_enable_diag_print OFF
|
||||
innodb_ft_enable_stopword ON
|
||||
innodb_ft_ignore_stopwords OFF
|
||||
innodb_ft_max_token_size 84
|
||||
innodb_ft_min_token_size 3
|
||||
innodb_ft_num_word_optimize 2000
|
||||
innodb_ft_result_cache_limit 2000000000
|
||||
innodb_ft_server_stopword_table
|
||||
innodb_ft_sort_pll_degree 2
|
||||
innodb_ft_total_cache_size 640000000
|
||||
innodb_ft_user_stopword_table
|
||||
innodb_idle_flush_pct 100
|
||||
innodb_io_capacity 10000
|
||||
innodb_io_capacity_max 20000
|
||||
innodb_lock_wait_timeout 50
|
||||
innodb_log_buffer_size 67108864
|
||||
innodb_log_checksums ON
|
||||
innodb_log_compressed_pages ON
|
||||
innodb_log_file_size 50331648
|
||||
innodb_log_files_in_group 2
|
||||
innodb_log_group_home_dir ./
|
||||
innodb_log_spin_cpu_abs_lwm 80
|
||||
innodb_log_spin_cpu_pct_hwm 50
|
||||
innodb_log_wait_for_flush_spin_hwm 400
|
||||
innodb_log_write_ahead_size 8192
|
||||
innodb_log_writer_threads ON
|
||||
innodb_lru_scan_depth 1024
|
||||
innodb_max_dirty_pages_pct 90.000000
|
||||
innodb_max_dirty_pages_pct_lwm 10.000000
|
||||
innodb_max_purge_lag 0
|
||||
innodb_max_purge_lag_delay 0
|
||||
innodb_max_undo_log_size 1073741824
|
||||
innodb_monitor_disable
|
||||
innodb_monitor_enable
|
||||
innodb_monitor_reset
|
||||
innodb_monitor_reset_all
|
||||
innodb_numa_interleave ON
|
||||
innodb_old_blocks_pct 37
|
||||
innodb_old_blocks_time 1000
|
||||
innodb_online_alter_log_max_size 134217728
|
||||
innodb_open_files 4000
|
||||
innodb_optimize_fulltext_only OFF
|
||||
innodb_page_cleaners 1
|
||||
innodb_page_size 16384
|
||||
innodb_parallel_read_threads 4
|
||||
innodb_print_all_deadlocks OFF
|
||||
innodb_print_ddl_logs OFF
|
||||
innodb_print_lock_wait_timeout_info OFF
|
||||
innodb_purge_batch_size 300
|
||||
innodb_purge_rseg_truncate_frequency 128
|
||||
innodb_purge_threads 1
|
||||
innodb_random_read_ahead OFF
|
||||
innodb_read_ahead_threshold 56
|
||||
innodb_read_io_threads 8
|
||||
innodb_read_only OFF
|
||||
innodb_records_in_range 0
|
||||
innodb_redo_log_archive_dirs
|
||||
innodb_redo_log_capacity 104857600
|
||||
innodb_redo_log_encrypt OFF
|
||||
innodb_replication_delay 0
|
||||
innodb_rollback_on_timeout OFF
|
||||
innodb_rollback_segments 128
|
||||
innodb_segment_reserve_factor 12.500000
|
||||
innodb_show_locks_held 10
|
||||
innodb_sort_buffer_size 1048576
|
||||
innodb_spin_wait_delay 6
|
||||
innodb_spin_wait_pause_multiplier 50
|
||||
innodb_stats_auto_recalc ON
|
||||
innodb_stats_include_delete_marked OFF
|
||||
innodb_stats_method nulls_equal
|
||||
innodb_stats_on_metadata OFF
|
||||
innodb_stats_persistent ON
|
||||
innodb_stats_persistent_sample_pages 20
|
||||
innodb_stats_transient_sample_pages 8
|
||||
innodb_status_output OFF
|
||||
innodb_status_output_locks OFF
|
||||
innodb_strict_mode ON
|
||||
innodb_sync_array_size 1
|
||||
innodb_sync_spin_loops 30
|
||||
innodb_sys_tablespace_encrypt OFF
|
||||
innodb_table_locks ON
|
||||
innodb_temp_data_file_path ibtmp1:12M:autoextend
|
||||
innodb_temp_tablespace_encrypt OFF
|
||||
innodb_temp_tablespaces_dir ./#innodb_temp/
|
||||
innodb_thread_concurrency 0
|
||||
innodb_thread_sleep_delay 10000
|
||||
innodb_tmpdir
|
||||
innodb_undo_directory ./
|
||||
innodb_undo_log_encrypt OFF
|
||||
innodb_undo_log_truncate ON
|
||||
innodb_undo_tablespaces 2
|
||||
innodb_use_fdatasync ON
|
||||
innodb_use_native_aio ON
|
||||
innodb_validate_tablespace_paths ON
|
||||
innodb_version 8.4.5-5
|
||||
innodb_write_io_threads 4
|
||||
interactive_timeout 28800
|
||||
internal_tmp_mem_storage_engine TempTable
|
||||
jemalloc_detected OFF
|
||||
jemalloc_profiling OFF
|
||||
join_buffer_size 262144
|
||||
keep_files_on_create OFF
|
||||
key_buffer_size 8388608
|
||||
key_cache_age_threshold 300
|
||||
key_cache_block_size 1024
|
||||
key_cache_division_limit 100
|
||||
keyring_operations ON
|
||||
kill_idle_transaction 0
|
||||
large_files_support ON
|
||||
large_page_size 0
|
||||
large_pages OFF
|
||||
lc_messages en_US
|
||||
lc_messages_dir /usr/share/mysql/
|
||||
lc_time_names en_US
|
||||
license GPL
|
||||
local_infile OFF
|
||||
lock_wait_timeout 31536000
|
||||
locked_in_memory OFF
|
||||
log_bin ON
|
||||
log_bin_basename /var/lib/mysql/binlog
|
||||
log_bin_index /var/lib/mysql/binlog.index
|
||||
log_bin_trust_function_creators OFF
|
||||
log_error /var/log/mysql/error.log
|
||||
log_error_services log_filter_internal; log_sink_internal
|
||||
log_error_suppression_list
|
||||
log_error_verbosity 2
|
||||
log_output FILE
|
||||
log_queries_not_using_indexes OFF
|
||||
log_query_errors
|
||||
log_raw OFF
|
||||
log_replica_updates ON
|
||||
log_slave_updates ON
|
||||
log_slow_admin_statements OFF
|
||||
log_slow_extra OFF
|
||||
log_slow_filter
|
||||
log_slow_rate_limit 1
|
||||
log_slow_rate_type session
|
||||
log_slow_replica_statements OFF
|
||||
log_slow_slave_statements OFF
|
||||
log_slow_sp_statements ON
|
||||
log_slow_verbosity
|
||||
log_statements_unsafe_for_binlog ON
|
||||
log_throttle_queries_not_using_indexes 0
|
||||
log_timestamps UTC
|
||||
long_query_time 10.000000
|
||||
low_priority_updates OFF
|
||||
lower_case_file_system OFF
|
||||
lower_case_table_names 0
|
||||
mandatory_roles
|
||||
master_verify_checksum OFF
|
||||
max_allowed_packet 67108864
|
||||
max_binlog_cache_size 18446744073709547520
|
||||
max_binlog_size 1073741824
|
||||
max_binlog_stmt_cache_size 18446744073709547520
|
||||
max_connect_errors 100
|
||||
max_connections 151
|
||||
max_delayed_threads 20
|
||||
max_digest_length 1024
|
||||
max_error_count 1024
|
||||
max_execution_time 0
|
||||
max_heap_table_size 16777216
|
||||
max_insert_delayed_threads 20
|
||||
max_join_size 18446744073709551615
|
||||
max_length_for_sort_data 4096
|
||||
max_points_in_geometry 65536
|
||||
max_prepared_stmt_count 16382
|
||||
max_relay_log_size 0
|
||||
max_seeks_for_key 18446744073709551615
|
||||
max_slowlog_files 0
|
||||
max_slowlog_size 0
|
||||
max_sort_length 1024
|
||||
max_sp_recursion_depth 0
|
||||
max_user_connections 0
|
||||
max_write_lock_count 18446744073709551615
|
||||
min_examined_row_limit 0
|
||||
myisam_data_pointer_size 6
|
||||
myisam_max_sort_file_size 9223372036853727232
|
||||
myisam_mmap_size 18446744073709551615
|
||||
myisam_recover_options OFF
|
||||
myisam_sort_buffer_size 8388608
|
||||
myisam_stats_method nulls_unequal
|
||||
myisam_use_mmap OFF
|
||||
mysql_native_password_proxy_users OFF
|
||||
mysqlx_bind_address *
|
||||
mysqlx_compression_algorithms DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM
|
||||
mysqlx_connect_timeout 30
|
||||
mysqlx_deflate_default_compression_level 3
|
||||
mysqlx_deflate_max_client_compression_level 5
|
||||
mysqlx_document_id_unique_prefix 0
|
||||
mysqlx_enable_hello_notice ON
|
||||
mysqlx_idle_worker_thread_timeout 60
|
||||
mysqlx_interactive_timeout 28800
|
||||
mysqlx_lz4_default_compression_level 2
|
||||
mysqlx_lz4_max_client_compression_level 8
|
||||
mysqlx_max_allowed_packet 67108864
|
||||
mysqlx_max_connections 100
|
||||
mysqlx_min_worker_threads 2
|
||||
mysqlx_port 33060
|
||||
mysqlx_port_open_timeout 0
|
||||
mysqlx_read_timeout 30
|
||||
mysqlx_socket /var/run/mysqld/mysqlx.sock
|
||||
mysqlx_ssl_ca
|
||||
mysqlx_ssl_capath
|
||||
mysqlx_ssl_cert
|
||||
mysqlx_ssl_cipher
|
||||
mysqlx_ssl_crl
|
||||
mysqlx_ssl_crlpath
|
||||
mysqlx_ssl_key
|
||||
mysqlx_wait_timeout 28800
|
||||
mysqlx_write_timeout 60
|
||||
mysqlx_zstd_default_compression_level 3
|
||||
mysqlx_zstd_max_client_compression_level 11
|
||||
net_buffer_length 16384
|
||||
net_buffer_shrink_interval 0
|
||||
net_read_timeout 30
|
||||
net_retry_count 10
|
||||
net_write_timeout 60
|
||||
ngram_token_size 2
|
||||
offline_mode OFF
|
||||
old_alter_table OFF
|
||||
open_files_limit 10000
|
||||
optimizer_max_subgraph_pairs 100000
|
||||
optimizer_prune_level 1
|
||||
optimizer_search_depth 62
|
||||
optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on,hash_set_operations=on,favor_range_scan=off
|
||||
optimizer_trace enabled=off,one_line=off
|
||||
optimizer_trace_features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
|
||||
optimizer_trace_limit 1
|
||||
optimizer_trace_max_mem_size 1048576
|
||||
optimizer_trace_offset -1
|
||||
parser_max_mem_size 18446744073709551615
|
||||
partial_revokes OFF
|
||||
password_history 0
|
||||
password_require_current OFF
|
||||
password_reuse_interval 0
|
||||
percona_telemetry.grace_interval 86400
|
||||
percona_telemetry.history_keep_interval 604800
|
||||
percona_telemetry.scrape_interval 86400
|
||||
percona_telemetry.telemetry_root_dir /usr/local/percona/telemetry/ps
|
||||
percona_telemetry_disable OFF
|
||||
performance_schema ON
|
||||
performance_schema_accounts_size -1
|
||||
performance_schema_digests_size 10000
|
||||
performance_schema_error_size 5714
|
||||
performance_schema_events_stages_history_long_size 10000
|
||||
performance_schema_events_stages_history_size 10
|
||||
performance_schema_events_statements_history_long_size 10000
|
||||
performance_schema_events_statements_history_size 10
|
||||
performance_schema_events_transactions_history_long_size 10000
|
||||
performance_schema_events_transactions_history_size 10
|
||||
performance_schema_events_waits_history_long_size 10000
|
||||
performance_schema_events_waits_history_size 10
|
||||
performance_schema_hosts_size -1
|
||||
performance_schema_max_cond_classes 150
|
||||
performance_schema_max_cond_instances -1
|
||||
performance_schema_max_digest_length 1024
|
||||
performance_schema_max_digest_sample_age 60
|
||||
performance_schema_max_file_classes 80
|
||||
performance_schema_max_file_handles 32768
|
||||
performance_schema_max_file_instances -1
|
||||
performance_schema_max_index_stat -1
|
||||
performance_schema_max_memory_classes 530
|
||||
performance_schema_max_metadata_locks -1
|
||||
performance_schema_max_meter_classes 30
|
||||
performance_schema_max_metric_classes 600
|
||||
performance_schema_max_mutex_classes 350
|
||||
performance_schema_max_mutex_instances -1
|
||||
performance_schema_max_prepared_statements_instances -1
|
||||
performance_schema_max_program_instances -1
|
||||
performance_schema_max_rwlock_classes 100
|
||||
performance_schema_max_rwlock_instances -1
|
||||
performance_schema_max_socket_classes 10
|
||||
performance_schema_max_socket_instances -1
|
||||
performance_schema_max_sql_text_length 1024
|
||||
performance_schema_max_stage_classes 175
|
||||
performance_schema_max_statement_classes 228
|
||||
performance_schema_max_statement_stack 10
|
||||
performance_schema_max_table_handles -1
|
||||
performance_schema_max_table_instances -1
|
||||
performance_schema_max_table_lock_stat -1
|
||||
performance_schema_max_thread_classes 100
|
||||
performance_schema_max_thread_instances -1
|
||||
performance_schema_session_connect_attrs_size 512
|
||||
performance_schema_setup_actors_size -1
|
||||
performance_schema_setup_objects_size -1
|
||||
performance_schema_show_processlist OFF
|
||||
performance_schema_users_size -1
|
||||
persist_only_admin_x509_subject
|
||||
persist_sensitive_variables_in_plaintext ON
|
||||
persisted_globals_load ON
|
||||
pid_file /var/run/mysqld/mysqld.pid
|
||||
plugin_dir /usr/lib/mysql/plugin/
|
||||
port 3306
|
||||
preload_buffer_size 32768
|
||||
print_identified_with_as_hex OFF
|
||||
profiling OFF
|
||||
profiling_history_size 15
|
||||
protocol_compression_algorithms zlib,zstd,uncompressed
|
||||
protocol_version 10
|
||||
proxy_protocol_networks
|
||||
query_alloc_block_size 8192
|
||||
query_prealloc_size 8192
|
||||
range_alloc_block_size 4096
|
||||
range_optimizer_max_mem_size 8388608
|
||||
rbr_exec_mode STRICT
|
||||
read_buffer_size 131072
|
||||
read_only OFF
|
||||
read_rnd_buffer_size 262144
|
||||
regexp_stack_limit 8000000
|
||||
regexp_time_limit 32
|
||||
relay_log s76-relay-bin
|
||||
relay_log_basename /var/lib/mysql/s76-relay-bin
|
||||
relay_log_index /var/lib/mysql/s76-relay-bin.index
|
||||
relay_log_purge ON
|
||||
relay_log_recovery OFF
|
||||
relay_log_space_limit 0
|
||||
replica_allow_batching ON
|
||||
replica_checkpoint_group 512
|
||||
replica_checkpoint_period 300
|
||||
replica_compressed_protocol OFF
|
||||
replica_enable_event
|
||||
replica_exec_mode STRICT
|
||||
replica_load_tmpdir /tmp
|
||||
replica_max_allowed_packet 1073741824
|
||||
replica_net_timeout 60
|
||||
replica_parallel_type LOGICAL_CLOCK
|
||||
replica_parallel_workers 4
|
||||
replica_pending_jobs_size_max 134217728
|
||||
replica_preserve_commit_order ON
|
||||
replica_skip_errors OFF
|
||||
replica_sql_verify_checksum ON
|
||||
replica_transaction_retries 10
|
||||
replica_type_conversions
|
||||
replication_optimize_for_static_plugin_config OFF
|
||||
replication_sender_observe_commit_only OFF
|
||||
report_host
|
||||
report_password
|
||||
report_port 3306
|
||||
report_user
|
||||
require_secure_transport OFF
|
||||
restrict_fk_on_non_standard_key ON
|
||||
rocksdb_advise_random_on_open ON
|
||||
rocksdb_allow_concurrent_memtable_write OFF
|
||||
rocksdb_allow_mmap_reads OFF
|
||||
rocksdb_allow_mmap_writes OFF
|
||||
rocksdb_allow_to_start_after_corruption OFF
|
||||
rocksdb_allow_unsafe_alter OFF
|
||||
rocksdb_alter_column_default_inplace ON
|
||||
rocksdb_alter_table_comment_inplace OFF
|
||||
rocksdb_blind_delete_primary_key OFF
|
||||
rocksdb_block_cache_numshardbits -1
|
||||
rocksdb_block_cache_size 536870912
|
||||
rocksdb_block_restart_interval 16
|
||||
rocksdb_block_size 16384
|
||||
rocksdb_block_size_deviation 10
|
||||
rocksdb_bulk_load OFF
|
||||
rocksdb_bulk_load_allow_sk OFF
|
||||
rocksdb_bulk_load_allow_unsorted OFF
|
||||
rocksdb_bulk_load_compression_parallel_threads 1
|
||||
rocksdb_bulk_load_enable_unique_key_check OFF
|
||||
rocksdb_bulk_load_fail_if_not_bottommost_level OFF
|
||||
rocksdb_bulk_load_partial_index ON
|
||||
rocksdb_bulk_load_size 1000
|
||||
rocksdb_bulk_load_use_sst_partitioner OFF
|
||||
rocksdb_bytes_per_sync 0
|
||||
rocksdb_cache_dump ON
|
||||
rocksdb_cache_high_pri_pool_ratio 0.000000
|
||||
rocksdb_cache_index_and_filter_blocks ON
|
||||
rocksdb_cache_index_and_filter_with_high_priority ON
|
||||
rocksdb_cancel_manual_compactions OFF
|
||||
rocksdb_charge_memory OFF
|
||||
rocksdb_check_iterate_bounds ON
|
||||
rocksdb_checksums_pct 100
|
||||
rocksdb_collect_sst_properties ON
|
||||
rocksdb_column_default_value_as_expression ON
|
||||
rocksdb_commit_in_the_middle OFF
|
||||
rocksdb_commit_time_batch_for_recovery OFF
|
||||
rocksdb_compact_cf
|
||||
rocksdb_compact_lzero_now OFF
|
||||
rocksdb_compaction_readahead_size 2097152
|
||||
rocksdb_compaction_sequential_deletes 149999
|
||||
rocksdb_compaction_sequential_deletes_count_sd ON
|
||||
rocksdb_compaction_sequential_deletes_file_size 0
|
||||
rocksdb_compaction_sequential_deletes_window 150000
|
||||
rocksdb_concurrent_prepare ON
|
||||
rocksdb_converter_record_cached_length 0
|
||||
rocksdb_corrupt_data_action ERROR
|
||||
rocksdb_create_checkpoint
|
||||
rocksdb_create_if_missing ON
|
||||
rocksdb_create_missing_column_families OFF
|
||||
rocksdb_create_temporary_checkpoint
|
||||
rocksdb_datadir ./.rocksdb
|
||||
rocksdb_db_write_buffer_size 0
|
||||
rocksdb_deadlock_detect OFF
|
||||
rocksdb_deadlock_detect_depth 50
|
||||
rocksdb_debug_cardinality_multiplier 2
|
||||
rocksdb_debug_manual_compaction_delay 0
|
||||
rocksdb_debug_optimizer_no_zero_cardinality ON
|
||||
rocksdb_debug_skip_bloom_filter_check_on_iterator_bounds OFF
|
||||
rocksdb_debug_ttl_ignore_pk OFF
|
||||
rocksdb_debug_ttl_read_filter_ts 0
|
||||
rocksdb_debug_ttl_rec_ts 0
|
||||
rocksdb_debug_ttl_snapshot_ts 0
|
||||
rocksdb_default_cf_options block_based_table_factory={cache_index_and_filter_blocks=1;filter_policy=bloomfilter:10:false;whole_key_filtering=1};level_compaction_dynamic_level_bytes=true;optimize_filters_for_hits=true;compaction_pri=kMinOverlappingRatio;compression=kLZ4Compression;bottommost_compression=kLZ4Compression;
|
||||
rocksdb_delayed_write_rate 0
|
||||
rocksdb_delete_cf
|
||||
rocksdb_delete_obsolete_files_period_micros 21600000000
|
||||
rocksdb_disable_file_deletions OFF
|
||||
rocksdb_disable_instant_ddl OFF
|
||||
rocksdb_enable_bulk_load_api ON
|
||||
rocksdb_enable_delete_range_for_drop_index OFF
|
||||
rocksdb_enable_insert_with_update_caching ON
|
||||
rocksdb_enable_instant_ddl ON
|
||||
rocksdb_enable_instant_ddl_for_append_column OFF
|
||||
rocksdb_enable_instant_ddl_for_column_default_changes OFF
|
||||
rocksdb_enable_instant_ddl_for_drop_index_changes OFF
|
||||
rocksdb_enable_instant_ddl_for_table_comment_changes OFF
|
||||
rocksdb_enable_iterate_bounds ON
|
||||
rocksdb_enable_pipelined_write OFF
|
||||
rocksdb_enable_remove_orphaned_dropped_cfs ON
|
||||
rocksdb_enable_thread_tracking ON
|
||||
rocksdb_enable_tmp_table OFF
|
||||
rocksdb_enable_ttl ON
|
||||
rocksdb_enable_ttl_read_filtering ON
|
||||
rocksdb_enable_udt_in_mem OFF
|
||||
rocksdb_enable_write_thread_adaptive_yield OFF
|
||||
rocksdb_error_if_exists OFF
|
||||
rocksdb_error_on_suboptimal_collation OFF
|
||||
rocksdb_fault_injection_options
|
||||
rocksdb_file_checksums CHECKSUMS_OFF
|
||||
rocksdb_flush_log_at_trx_commit 1
|
||||
rocksdb_force_compute_memtable_stats ON
|
||||
rocksdb_force_compute_memtable_stats_cachetime 60000000
|
||||
rocksdb_force_flush_memtable_and_lzero_now OFF
|
||||
rocksdb_force_flush_memtable_now OFF
|
||||
rocksdb_force_index_records_in_range 0
|
||||
rocksdb_ignore_unknown_options ON
|
||||
rocksdb_index_type kBinarySearch
|
||||
rocksdb_info_log_level error_level
|
||||
rocksdb_invalid_create_option_action LOG
|
||||
rocksdb_io_error_action ABORT_SERVER
|
||||
rocksdb_is_fd_close_on_exec ON
|
||||
rocksdb_keep_log_file_num 1000
|
||||
rocksdb_lock_scanned_rows OFF
|
||||
rocksdb_lock_wait_timeout 1
|
||||
rocksdb_log_file_time_to_roll 0
|
||||
rocksdb_manifest_preallocation_size 4194304
|
||||
rocksdb_manual_compaction_bottommost_level kForceOptimized
|
||||
rocksdb_manual_compaction_threads 0
|
||||
rocksdb_manual_wal_flush ON
|
||||
rocksdb_master_skip_tx_api OFF
|
||||
rocksdb_max_background_compactions -1
|
||||
rocksdb_max_background_flushes -1
|
||||
rocksdb_max_background_jobs 2
|
||||
rocksdb_max_bottom_pri_background_compactions 0
|
||||
rocksdb_max_compaction_history 64
|
||||
rocksdb_max_file_opening_threads 16
|
||||
rocksdb_max_latest_deadlocks 5
|
||||
rocksdb_max_log_file_size 0
|
||||
rocksdb_max_manifest_file_size 1073741824
|
||||
rocksdb_max_manual_compactions 10
|
||||
rocksdb_max_open_files 5000
|
||||
rocksdb_max_row_locks 1048576
|
||||
rocksdb_max_subcompactions 1
|
||||
rocksdb_max_total_wal_size 2147483648
|
||||
rocksdb_merge_buf_size 67108864
|
||||
rocksdb_merge_combine_read_size 1073741824
|
||||
rocksdb_merge_tmp_file_removal_delay_ms 0
|
||||
rocksdb_no_block_cache OFF
|
||||
rocksdb_no_create_column_family OFF
|
||||
rocksdb_override_cf_options
|
||||
rocksdb_paranoid_checks ON
|
||||
rocksdb_partial_index_blind_delete ON
|
||||
rocksdb_partial_index_ignore_killed ON
|
||||
rocksdb_partial_index_sort_max_mem 0
|
||||
rocksdb_pause_background_work OFF
|
||||
rocksdb_perf_context_level 0
|
||||
rocksdb_persistent_cache_path
|
||||
rocksdb_persistent_cache_size_mb 0
|
||||
rocksdb_pin_l0_filter_and_index_blocks_in_cache ON
|
||||
rocksdb_print_snapshot_conflict_queries OFF
|
||||
rocksdb_protection_bytes_per_key 0
|
||||
rocksdb_rate_limiter_bytes_per_sec 0
|
||||
rocksdb_read_free_rpl OFF
|
||||
rocksdb_read_free_rpl_tables .*
|
||||
rocksdb_records_in_range 0
|
||||
rocksdb_reset_stats OFF
|
||||
rocksdb_rollback_on_timeout OFF
|
||||
rocksdb_rpl_skip_tx_api OFF
|
||||
rocksdb_seconds_between_stat_computes 3600
|
||||
rocksdb_signal_drop_index_thread OFF
|
||||
rocksdb_sim_cache_size 0
|
||||
rocksdb_skip_bloom_filter_on_read OFF
|
||||
rocksdb_skip_fill_cache OFF
|
||||
rocksdb_skip_locks_if_skip_unique_check OFF
|
||||
rocksdb_sst_mgr_rate_bytes_per_sec 0
|
||||
rocksdb_stats_dump_period_sec 600
|
||||
rocksdb_stats_level 1
|
||||
rocksdb_stats_recalc_rate 0
|
||||
rocksdb_store_row_debug_checksums OFF
|
||||
rocksdb_table_cache_numshardbits 6
|
||||
rocksdb_table_stats_background_thread_nice_value 19
|
||||
rocksdb_table_stats_max_num_rows_scanned 0
|
||||
rocksdb_table_stats_recalc_threshold_count 100
|
||||
rocksdb_table_stats_recalc_threshold_pct 10
|
||||
rocksdb_table_stats_sampling_pct 10
|
||||
rocksdb_table_stats_skip_system_cf OFF
|
||||
rocksdb_table_stats_use_table_scan OFF
|
||||
rocksdb_tmpdir
|
||||
rocksdb_trace_block_cache_access
|
||||
rocksdb_trace_queries
|
||||
rocksdb_trace_sst_api OFF
|
||||
rocksdb_track_and_verify_wals_in_manifest ON
|
||||
rocksdb_two_write_queues ON
|
||||
rocksdb_unsafe_for_binlog OFF
|
||||
rocksdb_update_cf_options
|
||||
rocksdb_use_adaptive_mutex OFF
|
||||
rocksdb_use_default_sk_cf OFF
|
||||
rocksdb_use_direct_io_for_flush_and_compaction OFF
|
||||
rocksdb_use_direct_reads OFF
|
||||
rocksdb_use_fsync OFF
|
||||
rocksdb_use_hyper_clock_cache OFF
|
||||
rocksdb_use_io_uring OFF
|
||||
rocksdb_use_write_buffer_manager OFF
|
||||
rocksdb_validate_tables 1
|
||||
rocksdb_verify_row_debug_checksums OFF
|
||||
rocksdb_wal_bytes_per_sync 0
|
||||
rocksdb_wal_dir
|
||||
rocksdb_wal_recovery_mode 2
|
||||
rocksdb_wal_size_limit_mb 0
|
||||
rocksdb_wal_ttl_seconds 0
|
||||
rocksdb_whole_key_filtering ON
|
||||
rocksdb_write_batch_flush_threshold 0
|
||||
rocksdb_write_batch_max_bytes 0
|
||||
rocksdb_write_disable_wal OFF
|
||||
rocksdb_write_ignore_missing_column_families OFF
|
||||
rocksdb_write_policy write_committed
|
||||
rocksdb_wsenv_path
|
||||
rpl_read_size 8192
|
||||
rpl_stop_replica_timeout 31536000
|
||||
rpl_stop_slave_timeout 31536000
|
||||
schema_definition_cache 256
|
||||
secondary_engine_cost_threshold 100000.000000
|
||||
secure_file_priv /var/lib/mysql/
|
||||
secure_log_path
|
||||
select_into_buffer_size 131072
|
||||
select_into_disk_sync OFF
|
||||
select_into_disk_sync_delay 0
|
||||
server_id 1
|
||||
server_id_bits 32
|
||||
server_uuid 8d728801-00b7-11ee-8f27-7404f1a10a4a
|
||||
session_track_gtids OFF
|
||||
session_track_schema ON
|
||||
session_track_state_change OFF
|
||||
session_track_system_variables time_zone,autocommit,character_set_client,character_set_results,character_set_connection
|
||||
session_track_transaction_info OFF
|
||||
set_operations_buffer_size 262144
|
||||
sha256_password_auto_generate_rsa_keys ON
|
||||
sha256_password_private_key_path private_key.pem
|
||||
sha256_password_proxy_users OFF
|
||||
sha256_password_public_key_path public_key.pem
|
||||
show_create_table_verbosity OFF
|
||||
show_gipk_in_create_table_and_information_schema ON
|
||||
skip_external_locking ON
|
||||
skip_name_resolve OFF
|
||||
skip_networking OFF
|
||||
skip_replica_start OFF
|
||||
skip_show_database OFF
|
||||
skip_slave_start OFF
|
||||
slave_allow_batching ON
|
||||
slave_checkpoint_group 512
|
||||
slave_checkpoint_period 300
|
||||
slave_compressed_protocol OFF
|
||||
slave_exec_mode STRICT
|
||||
slave_load_tmpdir /tmp
|
||||
slave_max_allowed_packet 1073741824
|
||||
slave_net_timeout 60
|
||||
slave_parallel_type LOGICAL_CLOCK
|
||||
slave_parallel_workers 4
|
||||
slave_pending_jobs_size_max 134217728
|
||||
slave_preserve_commit_order ON
|
||||
slave_skip_errors OFF
|
||||
slave_sql_verify_checksum ON
|
||||
slave_transaction_retries 10
|
||||
slave_type_conversions
|
||||
slow_launch_time 2
|
||||
slow_query_log OFF
|
||||
slow_query_log_always_write_time 10.000000
|
||||
slow_query_log_file /var/lib/mysql/s76-slow.log
|
||||
slow_query_log_use_global_control
|
||||
socket /var/run/mysqld/mysqld.sock
|
||||
sort_buffer_size 262144
|
||||
source_verify_checksum OFF
|
||||
sql_auto_is_null OFF
|
||||
sql_big_selects ON
|
||||
sql_buffer_result OFF
|
||||
sql_generate_invisible_primary_key OFF
|
||||
sql_log_off OFF
|
||||
sql_mode ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
|
||||
sql_notes ON
|
||||
sql_quote_show_create ON
|
||||
sql_replica_skip_counter 0
|
||||
sql_require_primary_key OFF
|
||||
sql_safe_updates OFF
|
||||
sql_select_limit 18446744073709551615
|
||||
sql_slave_skip_counter 0
|
||||
sql_warnings OFF
|
||||
ssl_ca ca.pem
|
||||
ssl_capath
|
||||
ssl_cert server-cert.pem
|
||||
ssl_cipher
|
||||
ssl_crl
|
||||
ssl_crlpath
|
||||
ssl_fips_mode OFF
|
||||
ssl_key server-key.pem
|
||||
ssl_session_cache_mode ON
|
||||
ssl_session_cache_timeout 300
|
||||
stored_program_cache 256
|
||||
stored_program_definition_cache 256
|
||||
super_read_only OFF
|
||||
sync_binlog 1
|
||||
sync_master_info 10000
|
||||
sync_relay_log 10000
|
||||
sync_relay_log_info 10000
|
||||
sync_source_info 10000
|
||||
system_time_zone +03
|
||||
table_definition_cache 2000
|
||||
table_encryption_privilege_check OFF
|
||||
table_open_cache 4000
|
||||
table_open_cache_instances 16
|
||||
table_open_cache_triggers 524288
|
||||
tablespace_definition_cache 256
|
||||
temptable_max_mmap 0
|
||||
temptable_max_ram 2017911273
|
||||
temptable_use_mmap OFF
|
||||
terminology_use_previous NONE
|
||||
tf_sequence_table_max_upper_bound 1048576
|
||||
thread_cache_size 9
|
||||
thread_handling one-thread-per-connection
|
||||
thread_pool_high_prio_mode transactions
|
||||
thread_pool_high_prio_tickets 4294967295
|
||||
thread_pool_idle_timeout 60
|
||||
thread_pool_max_threads 100000
|
||||
thread_pool_oversubscribe 3
|
||||
thread_pool_size 16
|
||||
thread_pool_stall_limit 500
|
||||
thread_stack 1048576
|
||||
thread_statistics OFF
|
||||
time_zone SYSTEM
|
||||
tls_certificates_enforced_validation OFF
|
||||
tls_ciphersuites
|
||||
tls_version TLSv1.2,TLSv1.3
|
||||
tmp_table_size 16777216
|
||||
tmpdir /tmp
|
||||
transaction_alloc_block_size 8192
|
||||
transaction_isolation REPEATABLE-READ
|
||||
transaction_prealloc_size 4096
|
||||
transaction_read_only OFF
|
||||
unique_checks ON
|
||||
updatable_views_with_limit YES
|
||||
userstat OFF
|
||||
version 8.4.5-5
|
||||
version_comment Percona Server (GPL), Release '5', Revision '3d3abca6'
|
||||
version_compile_machine x86_64
|
||||
version_compile_os Linux
|
||||
version_compile_zlib 1.3.1
|
||||
version_suffix
|
||||
wait_timeout 28800
|
||||
windowing_use_high_precision ON
|
||||
xa_detach_on_prepare ON
|
||||
internal::nice_of_357384 0
|
||||
internal::oom_of_357384 0
|
||||
internal::nice_of_81695 0
|
||||
internal::oom_of_81695 1
|
||||
internal::nice_of_80852 0
|
||||
internal::oom_of_80852 1
|
||||
internal::nice_of_80592 0
|
||||
internal::oom_of_80592 1
|
||||
pt-summary-internal-pid_file_exists 1
|
||||
pt-summary-internal-current_time 2025-08-29 14:26
|
||||
pt-summary-internal-Config_File_path /etc/mysql/my.cnf
|
||||
pt-summary-internal-mysql_executable /usr/bin/mysql
|
||||
pt-summary-internal-now 2025-08-29 14:58:22
|
||||
pt-summary-internal-user sveta@%
|
||||
pt-summary-internal-FNV_64 Unknown
|
||||
pt-summary-internal-trigger_count 8
|
||||
pt-summary-internal-mysqld_executable_1 Yes
|
||||
pt-summary-internal-mysqld_executable_2 No
|
||||
pt-summary-internal-jemalloc_enabled_for_pid_357384 0
|
||||
pt-summary-internal-jemalloc_enabled_for_pid_81695 1
|
||||
pt-summary-internal-jemalloc_enabled_for_pid_80852 1
|
||||
pt-summary-internal-jemalloc_enabled_for_pid_80592 1
|
||||
pt-summary-internal-jemalloc_location /usr/lib/x86_64-linux-gnu/libjemalloc.so.2
|
5
t/pt-mysql-summary/samples/mysqld-instances-pt-2322
Normal file
5
t/pt-mysql-summary/samples/mysqld-instances-pt-2322
Normal file
@@ -0,0 +1,5 @@
|
||||
PID TTY STAT TIME COMMAND
|
||||
80592 pts/0 Sl 3:14 /home/sveta/mysqlpackages/Percona-Server-8.0.39-30-Linux.x86_64.glibc2.35/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf -u root --init-file /tmp/12345/mysql-init --plugin-dir=/home/sveta/mysqlpackages/Percona-Server-8.0.39-30-Linux.x86_64.glibc2.35/lib/plugin/ --early-plugin-load=keyring_file.so --loose-keyring_file_data=/tmp/12345/data/keyring
|
||||
80852 pts/0 Sl 3:32 /home/sveta/mysqlpackages/Percona-Server-8.0.39-30-Linux.x86_64.glibc2.35/bin/mysqld --defaults-file=/tmp/12346/my.sandbox.cnf -u root --init-file /tmp/12346/mysql-init --plugin-dir=/home/sveta/mysqlpackages/Percona-Server-8.0.39-30-Linux.x86_64.glibc2.35/lib/plugin/ --early-plugin-load=keyring_file.so --loose-keyring_file_data=/tmp/12346/data/keyring
|
||||
81695 pts/0 Sl 3:22 /home/sveta/mysqlpackages/Percona-Server-8.0.39-30-Linux.x86_64.glibc2.35/bin/mysqld --defaults-file=/tmp/12347/my.sandbox.cnf -u root --init-file /tmp/12347/mysql-init --plugin-dir=/home/sveta/mysqlpackages/Percona-Server-8.0.39-30-Linux.x86_64.glibc2.35/lib/plugin/ --early-plugin-load=keyring_file.so --loose-keyring_file_data=/tmp/12347/data/keyring
|
||||
357384 ? Ssl 0:17 /usr/sbin/mysqld
|
@@ -19,7 +19,7 @@ use Sandbox;
|
||||
use SqlModes;
|
||||
use File::Temp qw/ tempdir /;
|
||||
|
||||
plan tests => 6;
|
||||
plan tests => 10;
|
||||
|
||||
require "$trunk/bin/pt-online-schema-change";
|
||||
|
||||
@@ -44,7 +44,7 @@ $sb->load_file('source', "$sample/pt-153.sql");
|
||||
|
||||
($output, $exit_status) = full_output(
|
||||
sub { pt_online_schema_change::main(@args, "$source_dsn,D=test,t=t1",
|
||||
'--execute',
|
||||
'--execute',
|
||||
'--alter', "ADD UNIQUE INDEX c1 (f2, f3)",
|
||||
),
|
||||
},
|
||||
@@ -64,7 +64,7 @@ like(
|
||||
|
||||
($output, $exit_status) = full_output(
|
||||
sub { pt_online_schema_change::main(@args, "$source_dsn,D=test,t=t1",
|
||||
'--execute',
|
||||
'--execute',
|
||||
'--alter', "ADD UNIQUE INDEX c1 (f2, f3), PRIMARY KEY (f3), UNIQUE KEY k2 (f3)",
|
||||
),
|
||||
},
|
||||
@@ -88,6 +88,47 @@ like(
|
||||
"PT-153 Adding multiple unique indexes -> multime example queries.",
|
||||
);
|
||||
|
||||
# UNIQUE is possible without INDEX or KEY, we need to check this as well.
|
||||
($output, $exit_status) = full_output(
|
||||
sub { pt_online_schema_change::main(@args, "$source_dsn,D=test,t=t1",
|
||||
'--execute',
|
||||
'--alter', "ADD UNIQUE c1 (f2, f3)",
|
||||
),
|
||||
},
|
||||
);
|
||||
|
||||
isnt(
|
||||
$exit_status,
|
||||
0,
|
||||
"PT-153 Adding unique index without index/key keyword exit status != 0.",
|
||||
);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/You are trying to add an unique key. This can result in data loss if the data is not unique/s,
|
||||
"PT-153 Adding unique index without index/key keyword warning message.",
|
||||
);
|
||||
|
||||
($output, $exit_status) = full_output(
|
||||
sub { pt_online_schema_change::main(@args, "$source_dsn,D=test,t=t1",
|
||||
'--execute',
|
||||
'--alter', "ADD UNIQUE(f2, f3)",
|
||||
),
|
||||
},
|
||||
);
|
||||
|
||||
isnt(
|
||||
$exit_status,
|
||||
0,
|
||||
"PT-153 Adding unique index without index/key keyword and index name exit status != 0.",
|
||||
);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/You are trying to add an unique key. This can result in data loss if the data is not unique/s,
|
||||
"PT-153 Adding unique index without index/key keyword and index name warning message.",
|
||||
);
|
||||
|
||||
$source_dbh->do("DROP DATABASE IF EXISTS test");
|
||||
|
||||
# #############################################################################
|
||||
|
156
t/pt-online-schema-change/pt-2305.t
Normal file
156
t/pt-online-schema-change/pt-2305.t
Normal file
@@ -0,0 +1,156 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
BEGIN {
|
||||
die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
|
||||
unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
|
||||
unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
|
||||
};
|
||||
|
||||
use strict;
|
||||
use warnings FATAL => 'all';
|
||||
use English qw(-no_match_vars);
|
||||
use Test::More;
|
||||
|
||||
use Data::Dumper;
|
||||
use PerconaTest;
|
||||
use Sandbox;
|
||||
|
||||
require "$trunk/bin/pt-online-schema-change";
|
||||
|
||||
my $dp = new DSNParser(opts=>$dsn_opts);
|
||||
my $sb = new Sandbox(basedir => '/tmp', DSNParser => $dp);
|
||||
my $source_dbh = $sb->get_dbh_for('source');
|
||||
my $replica_dbh = $sb->get_dbh_for('replica1');
|
||||
|
||||
if ( !$source_dbh ) {
|
||||
plan skip_all => 'Cannot connect to sandbox source';
|
||||
}
|
||||
elsif ( !$replica_dbh ) {
|
||||
plan skip_all => 'Cannot connect to sandbox replica1';
|
||||
}
|
||||
|
||||
my $source_dsn = 'h=127.1,P=12345,u=msandbox,p=msandbox';
|
||||
my $replica_dsn = 'h=127.0.0.1,P=12346,u=msandbox,p=msandbox';
|
||||
my $output;
|
||||
my $exit_code;
|
||||
my $sample = "t/pt-online-schema-change/samples/";
|
||||
|
||||
my ($orig_binlog_format) = $source_dbh->selectrow_array(q{SELECT @@global.binlog_format});
|
||||
|
||||
$source_dbh->do("SET GLOBAL binlog_format = 'STATEMENT'");
|
||||
|
||||
($output, $exit_code) = full_output(
|
||||
sub { pt_online_schema_change::main("$replica_dsn,D=sakila,t=actor",
|
||||
'--alter', 'FORCE', '--execute',
|
||||
'--alter-foreign-keys-method', 'auto') }
|
||||
);
|
||||
|
||||
is(
|
||||
$exit_code,
|
||||
0,
|
||||
"pt-online-schema-change run successfully with binlog_format=STATEMENT"
|
||||
) or diag($output);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/Altering `sakila`.`actor`/,
|
||||
"Expected output of pt-online-schema-change with binlog_format=STATEMENT"
|
||||
) or diag($output);
|
||||
|
||||
$source_dbh->do("SET GLOBAL binlog_format = 'ROW'");
|
||||
|
||||
($output, $exit_code) = full_output(
|
||||
sub { pt_online_schema_change::main("$replica_dsn,D=sakila,t=actor",
|
||||
'--alter', 'FORCE', '--execute',
|
||||
'--alter-foreign-keys-method', 'auto') }
|
||||
);
|
||||
|
||||
is(
|
||||
$exit_code,
|
||||
3,
|
||||
"pt-online-schema-change failed with binlog_format=ROW"
|
||||
) or diag($output);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/running with binary log format ROW.*Exiting./s,
|
||||
"Expected output of pt-online-schema-change with binlog_format=ROW"
|
||||
) or diag($output);
|
||||
|
||||
($output, $exit_code) = full_output(
|
||||
sub { pt_online_schema_change::main("$replica_dsn,D=sakila,t=actor",
|
||||
'--alter', 'FORCE', '--execute',
|
||||
'--alter-foreign-keys-method', 'auto',
|
||||
'--force') }
|
||||
);
|
||||
|
||||
is(
|
||||
$exit_code,
|
||||
0,
|
||||
"pt-online-schema-change run successfully with binlog_format=ROW and --force"
|
||||
) or diag($output);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/Altering `sakila`.`actor`/,
|
||||
"Expected output of pt-online-schema-change with binlog_format=ROW and --force"
|
||||
) or diag($output);
|
||||
|
||||
unlike(
|
||||
$output,
|
||||
qr/running with binary log format ROW.*Exiting./s,
|
||||
"No error for pt-online-schema-change with binlog_format=ROW and --force"
|
||||
) or diag($output);
|
||||
|
||||
$source_dbh->do("SET GLOBAL binlog_format = 'MIXED'");
|
||||
|
||||
($output, $exit_code) = full_output(
|
||||
sub { pt_online_schema_change::main("$replica_dsn,D=sakila,t=actor",
|
||||
'--alter', 'FORCE', '--execute',
|
||||
'--alter-foreign-keys-method', 'auto') }
|
||||
);
|
||||
|
||||
is(
|
||||
$exit_code,
|
||||
3,
|
||||
"pt-online-schema-change failed with binlog_format=MIXED"
|
||||
) or diag($output);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/running with binary log format MIXED.*Exiting./s,
|
||||
"Expected output of pt-online-schema-change with binlog_format=MIXED"
|
||||
) or diag($output);
|
||||
|
||||
($output, $exit_code) = full_output(
|
||||
sub { pt_online_schema_change::main("$replica_dsn,D=sakila,t=actor",
|
||||
'--alter', 'FORCE', '--execute',
|
||||
'--alter-foreign-keys-method', 'auto',
|
||||
'--force') }
|
||||
);
|
||||
|
||||
is(
|
||||
$exit_code,
|
||||
0,
|
||||
"pt-online-schema-change run successfully with binlog_format=MIXED and --force"
|
||||
) or diag($output);
|
||||
|
||||
like(
|
||||
$output,
|
||||
qr/Altering `sakila`.`actor`/,
|
||||
"Expected output of pt-online-schema-change with binlog_format=MIXED and --force"
|
||||
) or diag($output);
|
||||
|
||||
unlike(
|
||||
$output,
|
||||
qr/running with binary log format ROW.*Exiting./s,
|
||||
"No error for pt-online-schema-change with binlog_format=MIXED and --force"
|
||||
) or diag($output);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
$source_dbh->do("SET GLOBAL binlog_format = '${orig_binlog_format}'");
|
||||
$sb->wipe_clean($source_dbh);
|
||||
ok($sb->ok(), "Sandbox servers") or BAIL_OUT(__FILE__ . " broke the sandbox");
|
||||
done_testing;
|
@@ -44,16 +44,16 @@ $output = `$trunk/bin/pt-table-sync --sync-to-source h=127.1,P=12346,u=msandbox,
|
||||
# and EXPLAIN does not guarantee accuracy of results.
|
||||
like(
|
||||
$output,
|
||||
qr/FROM `issue_375`.`t` FORCE INDEX \(`updated_at`\) WHERE \(`updated_at` > 0 AND `updated_at` < '2009-09-05 02:\d\d:\d\d'/,
|
||||
qr/FROM `issue_375`.`t` FORCE INDEX \(`updated_at`\) WHERE \(`updated_at` > 0 AND `updated_at` < '2009-09-05 \d\d:\d\d:\d\d'/,
|
||||
'--chunk-index',
|
||||
);
|
||||
) or diag($output);
|
||||
|
||||
$output = `$trunk/bin/pt-table-sync --sync-to-source h=127.1,P=12346,u=msandbox,p=msandbox -d issue_375 --print -v -v --chunk-size 50 --chunk-column updated_at`;
|
||||
like(
|
||||
$output,
|
||||
qr/FROM `issue_375`.`t` FORCE INDEX \(`updated_at`\) WHERE \(`updated_at` > 0 AND `updated_at` < '2009-09-05 02:\d\d:\d\d'/,
|
||||
qr/FROM `issue_375`.`t` FORCE INDEX \(`updated_at`\) WHERE \(`updated_at` > 0 AND `updated_at` < '2009-09-05 \d\d:\d\d:\d\d'/,
|
||||
'--chunk-column',
|
||||
);
|
||||
) or diag($output);
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
|
Reference in New Issue
Block a user