mirror of
https://github.com/major/MySQLTuner-perl.git
synced 2024-09-21 07:47:08 +00:00
#574 script modified with CR end of line
This commit is contained in:
parent
cb74b1947e
commit
1c68fe1b1a
38
.perltidy
38
.perltidy
@ -1,19 +1,19 @@
|
|||||||
--backup-and-modify-in-place
|
--backup-and-modify-in-place
|
||||||
--backup-file-extension=beforeTidy
|
--backup-file-extension=beforeTidy
|
||||||
--block-brace-tightness=2
|
--block-brace-tightness=2
|
||||||
--brace-tightness=2
|
--brace-tightness=2
|
||||||
--closing-token-indentation=1
|
--closing-token-indentation=1
|
||||||
--continuation-indentation=4
|
--continuation-indentation=4
|
||||||
--indent-columns=4
|
--indent-columns=4
|
||||||
--maximum-line-length=134
|
--maximum-line-length=134
|
||||||
--cuddled-else
|
--cuddled-else
|
||||||
--opening-sub-brace-on-new-line
|
--opening-sub-brace-on-new-line
|
||||||
--noopening-brace-on-new-line
|
--noopening-brace-on-new-line
|
||||||
--nooutdent-labels
|
--nooutdent-labels
|
||||||
--paren-tightness=2
|
--paren-tightness=2
|
||||||
--square-bracket-tightness=2
|
--square-bracket-tightness=2
|
||||||
--vertical-tightness=0
|
--vertical-tightness=0
|
||||||
--vertical-tightness-closing=0
|
--vertical-tightness-closing=0
|
||||||
--break-at-old-comma-breakpoints
|
--break-at-old-comma-breakpoints
|
||||||
--entab-leading-whitespace=4
|
--entab-leading-whitespace=4
|
||||||
--tabs
|
--tabs
|
||||||
|
108
.travis.yml
108
.travis.yml
@ -1,54 +1,54 @@
|
|||||||
language: perl
|
language: perl
|
||||||
perl:
|
perl:
|
||||||
- "5.24"
|
- "5.24"
|
||||||
|
|
||||||
os: linux
|
os: linux
|
||||||
dist: focal
|
dist: focal
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- docker
|
- docker
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- DB=mariadb:5.5
|
- DB=mariadb:5.5
|
||||||
- DB=mariadb:10.2
|
- DB=mariadb:10.2
|
||||||
- DB=mariadb:10.3
|
- DB=mariadb:10.3
|
||||||
- DB=mariadb:10.4
|
- DB=mariadb:10.4
|
||||||
- DB=mariadb:10.5
|
- DB=mariadb:10.5
|
||||||
- DB=mysql:5.5
|
- DB=mysql:5.5
|
||||||
- DB=mysql:5.7
|
- DB=mysql:5.7
|
||||||
- DB=mysql:8.0
|
- DB=mysql:8.0
|
||||||
- DB=percona:5.6
|
- DB=percona:5.6
|
||||||
- DB=percona:5.7
|
- DB=percona:5.7
|
||||||
- DB=percona:8.0
|
- DB=percona:8.0
|
||||||
|
|
||||||
install:
|
install:
|
||||||
- cpanm --quiet --notest Data::Dumper
|
- cpanm --quiet --notest Data::Dumper
|
||||||
- cpanm --quiet --notest JSON
|
- cpanm --quiet --notest JSON
|
||||||
- cpanm --quiet --notest Perl::Critic
|
- cpanm --quiet --notest Perl::Critic
|
||||||
- cpanm --quiet --notest Text::Template
|
- cpanm --quiet --notest Text::Template
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- mysql --version
|
- mysql --version
|
||||||
- mysqladmin --version
|
- mysqladmin --version
|
||||||
- docker run -it --name=mysqltestinstance -d -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 ${DB}
|
- docker run -it --name=mysqltestinstance -d -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 ${DB}
|
||||||
- echo -e "[client]\nuser=root\npassword=\"\"\nhost=127.0.0.1" > ~/.my.cnf
|
- echo -e "[client]\nuser=root\npassword=\"\"\nhost=127.0.0.1" > ~/.my.cnf
|
||||||
- chmod 600 ~/.my.cnf
|
- chmod 600 ~/.my.cnf
|
||||||
- git clone https://github.com/datacharmer/test_db.git
|
- git clone https://github.com/datacharmer/test_db.git
|
||||||
- cd test_db
|
- cd test_db
|
||||||
- count=10
|
- count=10
|
||||||
- while ! mysql -e 'select version()' && [ $count -gt 0 ]; do echo $count seconds to go; sleep 1; count=$(( $count - 1 )); done
|
- while ! mysql -e 'select version()' && [ $count -gt 0 ]; do echo $count seconds to go; sleep 1; count=$(( $count - 1 )); done
|
||||||
- if [[ $DB =~ .*:8.0 ]] ; then
|
- if [[ $DB =~ .*:8.0 ]] ; then
|
||||||
for file in public_key.pem ca.pem server-cert.pem client-key.pem client-cert.pem ; do
|
for file in public_key.pem ca.pem server-cert.pem client-key.pem client-cert.pem ; do
|
||||||
docker cp mysqltestinstance:/var/lib/mysql/$file "${HOME}" ;
|
docker cp mysqltestinstance:/var/lib/mysql/$file "${HOME}" ;
|
||||||
done ;
|
done ;
|
||||||
fi
|
fi
|
||||||
- "cat employees.sql | grep -v 'storage_engine' | mysql"
|
- "cat employees.sql | grep -v 'storage_engine' | mysql"
|
||||||
- cd ..
|
- cd ..
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./mysqltuner.pl --verbose --tbstat 2>stderr.txt | tee -a "stdout.txt"
|
- ./mysqltuner.pl --verbose --tbstat 2>stderr.txt | tee -a "stdout.txt"
|
||||||
|
|
||||||
after_script:
|
after_script:
|
||||||
- docker stop mysqltestinstance
|
- docker stop mysqltestinstance
|
||||||
- echo "Standard Output: $(cat stdout.txt)"
|
- echo "Standard Output: $(cat stdout.txt)"
|
||||||
- echo "Standard Error : $(cat stderr.txt)"
|
- echo "Standard Error : $(cat stderr.txt)"
|
||||||
|
@ -27,7 +27,7 @@ MySQLTuner needs you:
|
|||||||
* Please join us on issue track at [GitHub tracker](https://github.com/major/MySQLTuner-perl/issues).
|
* Please join us on issue track at [GitHub tracker](https://github.com/major/MySQLTuner-perl/issues).
|
||||||
* Contribution guide is available following [MySQLTuner contributing guide](https://github.com/major/MySQLTuner-perl/blob/master/CONTRIBUTING.md)
|
* Contribution guide is available following [MySQLTuner contributing guide](https://github.com/major/MySQLTuner-perl/blob/master/CONTRIBUTING.md)
|
||||||
* Star **MySQLTuner project** at [MySQLTuner Git Hub Project](https://github.com/major/MySQLTuner-perl)
|
* Star **MySQLTuner project** at [MySQLTuner Git Hub Project](https://github.com/major/MySQLTuner-perl)
|
||||||
* Paid support for Releem available here: [Releem App](https://app.releem.com/)
|
* Paid support for Releem available here: [Releem App](https://releem.com/)
|
||||||
|
|
||||||
## Stargazers over time
|
## Stargazers over time
|
||||||
|
|
||||||
|
142
Vagrant/Vagrantfile
vendored
142
Vagrant/Vagrantfile
vendored
@ -1,71 +1,71 @@
|
|||||||
# -*- mode: ruby -*-
|
# -*- mode: ruby -*-
|
||||||
# vi: set ft=ruby :
|
# vi: set ft=ruby :
|
||||||
|
|
||||||
Vagrant.configure("2") do |config|
|
Vagrant.configure("2") do |config|
|
||||||
config.vm.box = "generic/fedora30"
|
config.vm.box = "generic/fedora30"
|
||||||
config.vm.network "private_network", ip: "192.168.50.10", virtualbox__intnet: false
|
config.vm.network "private_network", ip: "192.168.50.10", virtualbox__intnet: false
|
||||||
|
|
||||||
if Vagrant.has_plugin? "vagrant-vbguest"
|
if Vagrant.has_plugin? "vagrant-vbguest"
|
||||||
config.vbguest.no_install = true
|
config.vbguest.no_install = true
|
||||||
config.vbguest.auto_update = false
|
config.vbguest.auto_update = false
|
||||||
config.vbguest.no_remote = true
|
config.vbguest.no_remote = true
|
||||||
end
|
end
|
||||||
config.hostmanager.enabled = true
|
config.hostmanager.enabled = true
|
||||||
config.hostmanager.manage_host = false
|
config.hostmanager.manage_host = false
|
||||||
config.hostmanager.manage_guest = true
|
config.hostmanager.manage_guest = true
|
||||||
config.hostmanager.ignore_private_ip = false
|
config.hostmanager.ignore_private_ip = false
|
||||||
config.hostmanager.include_offline = true
|
config.hostmanager.include_offline = true
|
||||||
|
|
||||||
config.vm.network "public_network"
|
config.vm.network "public_network"
|
||||||
config.vm.hostname = 'fedora-generic'
|
config.vm.hostname = 'fedora-generic'
|
||||||
config.hostmanager.aliases = %w(fedora-generic.localdomain fedora-generic.local fcg.local)
|
config.hostmanager.aliases = %w(fedora-generic.localdomain fedora-generic.local fcg.local)
|
||||||
|
|
||||||
config.vm.synced_folder ".", "/data"
|
config.vm.synced_folder ".", "/data"
|
||||||
|
|
||||||
config.vm.provider "virtualbox" do |vb|
|
config.vm.provider "virtualbox" do |vb|
|
||||||
vb.name="fedora-generic"
|
vb.name="fedora-generic"
|
||||||
vb.gui = false
|
vb.gui = false
|
||||||
vb.memory = "3036"
|
vb.memory = "3036"
|
||||||
vb.cpus = 4
|
vb.cpus = 4
|
||||||
end
|
end
|
||||||
|
|
||||||
config.vm.provision "shell", inline: <<-SHELL
|
config.vm.provision "shell", inline: <<-SHELL
|
||||||
echo "secret" | sudo passwd --stdin root
|
echo "secret" | sudo passwd --stdin root
|
||||||
echo "secret" | sudo passwd --stdin vagrant
|
echo "secret" | sudo passwd --stdin vagrant
|
||||||
sudo cp -pr ~vagrant/.ssh /root
|
sudo cp -pr ~vagrant/.ssh /root
|
||||||
sudo chown -R root.root /root/.ssh
|
sudo chown -R root.root /root/.ssh
|
||||||
|
|
||||||
sudo dnf -y update
|
sudo dnf -y update
|
||||||
sudo dnf -y install telnet vim-enhanced net-tools git python python2-pip python34-PyYAML moreutils net-tools python-psutil perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils vim-enhanced unzip zip jq youtube-dl ffmpeg make mariadb psmisc PyYAML tofrodos python3 chromedriver wget
|
sudo dnf -y install telnet vim-enhanced net-tools git python python2-pip python34-PyYAML moreutils net-tools python-psutil perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils vim-enhanced unzip zip jq youtube-dl ffmpeg make mariadb psmisc PyYAML tofrodos python3 chromedriver wget
|
||||||
sudo dnf -y install python34-pip moreutils net-tools python-psutil perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils vim-enhanced unzip zip jq youtube-dl ffmpeg make mariadb psmisc PyYAML tofrodos python3 wget python-beautifulsoup4 npm rclone golang yum-utils device-mapper-persistent-data lvm2 docker
|
sudo dnf -y install python34-pip moreutils net-tools python-psutil perl-WWW-Mechanize-GZip perl-App-cpanminus perl-List-MoreUtils vim-enhanced unzip zip jq youtube-dl ffmpeg make mariadb psmisc PyYAML tofrodos python3 wget python-beautifulsoup4 npm rclone golang yum-utils device-mapper-persistent-data lvm2 docker
|
||||||
|
|
||||||
echo "alias h='function hdi(){ howdoi \$* -c -n 5; }; hdi'" >> /tmp/util.sh
|
echo "alias h='function hdi(){ howdoi \$* -c -n 5; }; hdi'" >> /tmp/util.sh
|
||||||
echo "alias s=sudo" >> /tmp/util.sh
|
echo "alias s=sudo" >> /tmp/util.sh
|
||||||
echo "alias h=history" >> /tmp/util.sh
|
echo "alias h=history" >> /tmp/util.sh
|
||||||
echo "alias hserver='python -m http.server 8000'" >> /tmp/util.sh
|
echo "alias hserver='python -m http.server 8000'" >> /tmp/util.sh
|
||||||
sudo cp /tmp/util.sh /etc/profile.d
|
sudo cp /tmp/util.sh /etc/profile.d
|
||||||
cat /tmp/util.sh
|
cat /tmp/util.sh
|
||||||
|
|
||||||
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
|
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
|
||||||
sudo dnf -y install dnf-plugins-core
|
sudo dnf -y install dnf-plugins-core
|
||||||
sudo dnf config-manager \
|
sudo dnf config-manager \
|
||||||
--add-repo \
|
--add-repo \
|
||||||
https://download.docker.com/linux/fedora/docker-ce.repo
|
https://download.docker.com/linux/fedora/docker-ce.repo
|
||||||
|
|
||||||
sudo dnf -y install docker-ce docker-ce-cli containerd.io
|
sudo dnf -y install docker-ce docker-ce-cli containerd.io
|
||||||
dnf list docker-ce --showduplicates | sort -r
|
dnf list docker-ce --showduplicates | sort -r
|
||||||
|
|
||||||
sudo systemctl start docker
|
sudo systemctl start docker
|
||||||
sudo systemctl enable docker
|
sudo systemctl enable docker
|
||||||
sudo usermod -aG docker vagrant
|
sudo usermod -aG docker vagrant
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
|
|
||||||
true
|
true
|
||||||
|
|
||||||
##########################################
|
##########################################
|
||||||
# Install container
|
# Install container
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
SHELL
|
SHELL
|
||||||
config.vm.provision :hostmanager
|
config.vm.provision :hostmanager
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
VERSION=${1:-"10.4"}
|
VERSION=${1:-"10.4"}
|
||||||
rm -f Vagrantfile
|
rm -f Vagrantfile
|
||||||
cp Vagrantfile_for_MariaDB${VERSION} Vagrantfile
|
cp Vagrantfile_for_MariaDB${VERSION} Vagrantfile
|
||||||
mkdir data
|
mkdir data
|
||||||
vagrant plugin install vagrant-hostmanager
|
vagrant plugin install vagrant-hostmanager
|
||||||
vagrant plugin install vagrant-vbguest
|
vagrant plugin install vagrant-vbguest
|
||||||
vagrant plugin install vagrant-proxyconf
|
vagrant plugin install vagrant-proxyconf
|
||||||
vagrant --provision up
|
vagrant --provision up
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
BUILD_DIR=`dirname $(readlink -f $0)`
|
BUILD_DIR=`dirname $(readlink -f $0)`
|
||||||
|
|
||||||
VERSION=$(grep -Ei 'my \$tunerversion' $BUILD_DIR/../mysqltuner.pl | grep = | cut -d\" -f2)
|
VERSION=$(grep -Ei 'my \$tunerversion' $BUILD_DIR/../mysqltuner.pl | grep = | cut -d\" -f2)
|
||||||
cd $BUILD_DIR
|
cd $BUILD_DIR
|
||||||
sh ./clean.sh
|
sh ./clean.sh
|
||||||
|
|
||||||
perl -pe "s/%VERSION%/$VERSION/g" mysqltuner.spec.tpl > mysqltuner.spec
|
perl -pe "s/%VERSION%/$VERSION/g" mysqltuner.spec.tpl > mysqltuner.spec
|
||||||
mkdir -p $BUILD_DIR/mysqltuner-$VERSION
|
mkdir -p $BUILD_DIR/mysqltuner-$VERSION
|
||||||
cp $BUILD_DIR/../mysqltuner.pl mysqltuner.spec $BUILD_DIR/../LICENSE $BUILD_DIR/../basic_passwords.txt $BUILD_DIR/../*.csv $BUILD_DIR/mysqltuner-$VERSION
|
cp $BUILD_DIR/../mysqltuner.pl mysqltuner.spec $BUILD_DIR/../LICENSE $BUILD_DIR/../basic_passwords.txt $BUILD_DIR/../*.csv $BUILD_DIR/mysqltuner-$VERSION
|
||||||
pod2man $BUILD_DIR/../mysqltuner.pl | gzip > $BUILD_DIR/mysqltuner-$VERSION/mysqltuner.1.gz
|
pod2man $BUILD_DIR/../mysqltuner.pl | gzip > $BUILD_DIR/mysqltuner-$VERSION/mysqltuner.1.gz
|
||||||
|
|
||||||
tar czf $BUILD_DIR/mysqltuner-${VERSION}.tgz mysqltuner-$VERSION
|
tar czf $BUILD_DIR/mysqltuner-${VERSION}.tgz mysqltuner-$VERSION
|
||||||
rpmbuild -ta mysqltuner-${VERSION}.tgz 2>&1 | tee -a ./build.log
|
rpmbuild -ta mysqltuner-${VERSION}.tgz 2>&1 | tee -a ./build.log
|
||||||
set -x
|
set -x
|
||||||
grep --color=never -E '(Wrote|crit)\S*:' $BUILD_DIR/build.log | cut -d: -f2 | xargs -I{} mv {} .
|
grep --color=never -E '(Wrote|crit)\S*:' $BUILD_DIR/build.log | cut -d: -f2 | xargs -I{} mv {} .
|
||||||
#rm -rf mysqltuner-$VERSION ./build.log
|
#rm -rf mysqltuner-$VERSION ./build.log
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
rm -rf mysqltuner-* mysqltuner.spec *.log
|
rm -rf mysqltuner-* mysqltuner.spec *.log
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
docker ps | awk '{ print $NF}' |grep -v NAMES | xargs -n 1 docker kill
|
docker ps | awk '{ print $NF}' |grep -v NAMES | xargs -n 1 docker kill
|
||||||
docker ps -a | awk '{ print $NF}' |grep -v NAMES | xargs -n 1 docker rm
|
docker ps -a | awk '{ print $NF}' |grep -v NAMES | xargs -n 1 docker rm
|
||||||
docker ps -a
|
docker ps -a
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
3306;mysql80;/var/lib/mysql8;mysql:8.0
|
3306;mysql80;/var/lib/mysql8;mysql:8.0
|
||||||
3307;mysql57;/var/lib/mysql57;mysql:5.7
|
3307;mysql57;/var/lib/mysql57;mysql:5.7
|
||||||
3308;mysql56;/var/lib/mysql56;mysql:5.6
|
3308;mysql56;/var/lib/mysql56;mysql:5.6
|
||||||
3309;mysql55;/var/lib/mysql55;mysql:5.5
|
3309;mysql55;/var/lib/mysql55;mysql:5.5
|
||||||
|
|
||||||
4306;percona80;/var/lib/percona8;percona/percona-server:8.0
|
4306;percona80;/var/lib/percona8;percona/percona-server:8.0
|
||||||
4307;percona57;/var/lib/percona57;percona/percona-server:5.7
|
4307;percona57;/var/lib/percona57;percona/percona-server:5.7
|
||||||
4308;percona56;/var/lib/percona56;percona/percona-server:5.6
|
4308;percona56;/var/lib/percona56;percona/percona-server:5.6
|
||||||
|
|
||||||
5306;mariadb104;/var/lib/mariadb104;mariadb:10.4
|
5306;mariadb104;/var/lib/mariadb104;mariadb:10.4
|
||||||
5307;mariadb103;/var/lib/mariadb103;mariadb:10.3
|
5307;mariadb103;/var/lib/mariadb103;mariadb:10.3
|
||||||
5308;mariadb102;/var/lib/mariadb102;mariadb:10.2
|
5308;mariadb102;/var/lib/mariadb102;mariadb:10.2
|
||||||
5309;mariadb101;/var/lib/mariadb101;mariadb:10.1
|
5309;mariadb101;/var/lib/mariadb101;mariadb:10.1
|
||||||
5310;mariadb100;/var/lib/mariadb100;mariadb:10.0
|
5310;mariadb100;/var/lib/mariadb100;mariadb:10.0
|
||||||
5311;mariadb55;/var/lib/mariadb55;mariadb:5.5
|
5311;mariadb55;/var/lib/mariadb55;mariadb:5.5
|
||||||
|
@ -1,90 +1,90 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
input="./build/configimg.conf"
|
input="./build/configimg.conf"
|
||||||
default_password="secret"
|
default_password="secret"
|
||||||
|
|
||||||
echo "[client]
|
echo "[client]
|
||||||
user=root
|
user=root
|
||||||
password=$default_password" > $HOME/.my.cnf
|
password=$default_password" > $HOME/.my.cnf
|
||||||
|
|
||||||
chmod 600 $HOME/.my.cnf
|
chmod 600 $HOME/.my.cnf
|
||||||
|
|
||||||
[ -f "$input" ] || echo "
|
[ -f "$input" ] || echo "
|
||||||
3306;mysql80;/var/lib/mysql8;mysql:8.0
|
3306;mysql80;/var/lib/mysql8;mysql:8.0
|
||||||
3307;mysql57;/var/lib/mysql57;mysql:5.7
|
3307;mysql57;/var/lib/mysql57;mysql:5.7
|
||||||
3308;mysql56;/var/lib/mysql56;mysql:5.6
|
3308;mysql56;/var/lib/mysql56;mysql:5.6
|
||||||
3309;mysql55;/var/lib/mysql55;mysql:5.5
|
3309;mysql55;/var/lib/mysql55;mysql:5.5
|
||||||
|
|
||||||
4306;percona80;/var/lib/percona8;percona/percona-server:8.0
|
4306;percona80;/var/lib/percona8;percona/percona-server:8.0
|
||||||
4307;percona57;/var/lib/percona57;percona/percona-server:5.7
|
4307;percona57;/var/lib/percona57;percona/percona-server:5.7
|
||||||
4308;percona56;/var/lib/percona56;percona/percona-server:5.6
|
4308;percona56;/var/lib/percona56;percona/percona-server:5.6
|
||||||
|
|
||||||
5306;mariadb104;/var/lib/mariadb104;mariadb:10.4
|
5306;mariadb104;/var/lib/mariadb104;mariadb:10.4
|
||||||
5307;mariadb103;/var/lib/mariadb103;mariadb:10.3
|
5307;mariadb103;/var/lib/mariadb103;mariadb:10.3
|
||||||
5308;mariadb102;/var/lib/mariadb102;mariadb:10.2
|
5308;mariadb102;/var/lib/mariadb102;mariadb:10.2
|
||||||
5309;mariadb101;/var/lib/mariadb101;mariadb:10.1
|
5309;mariadb101;/var/lib/mariadb101;mariadb:10.1
|
||||||
5310;mariadb100;/var/lib/mariadb100;mariadb:10.0
|
5310;mariadb100;/var/lib/mariadb100;mariadb:10.0
|
||||||
5311;mariadb55;/var/lib/mariadb55;mariadb:5.5
|
5311;mariadb55;/var/lib/mariadb55;mariadb:5.5
|
||||||
" > "$input"
|
" > "$input"
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
||||||
#echo '* PRUNING DOCKER SYSTEM DATA'
|
#echo '* PRUNING DOCKER SYSTEM DATA'
|
||||||
|
|
||||||
#[ "$1" = "clean" ] || docker system prune -a -f
|
#[ "$1" = "clean" ] || docker system prune -a -f
|
||||||
# download all images
|
# download all images
|
||||||
while IFS='' read -r line
|
while IFS='' read -r line
|
||||||
do
|
do
|
||||||
[ -z "$line" ] && continue
|
[ -z "$line" ] && continue
|
||||||
container_port=$(echo "$line" | cut -d\; -f1)
|
container_port=$(echo "$line" | cut -d\; -f1)
|
||||||
container_name=$(echo "$line" | cut -d\; -f2)
|
container_name=$(echo "$line" | cut -d\; -f2)
|
||||||
container_datadir=$(echo "$line" | cut -d\; -f3)
|
container_datadir=$(echo "$line" | cut -d\; -f3)
|
||||||
image_name=$(echo "$line" | cut -d\; -f4)
|
image_name=$(echo "$line" | cut -d\; -f4)
|
||||||
|
|
||||||
if [ -n "$1" -a "$1" != "clean" ]; then
|
if [ -n "$1" -a "$1" != "clean" ]; then
|
||||||
echo $line | grep -q "$1"
|
echo $line | grep -q "$1"
|
||||||
[ $? -eq 0 ] || continue
|
[ $? -eq 0 ] || continue
|
||||||
fi
|
fi
|
||||||
echo "* PULLING DOCKER IMAGE: $image_name"
|
echo "* PULLING DOCKER IMAGE: $image_name"
|
||||||
docker images | grep -E " $image_name$"
|
docker images | grep -E " $image_name$"
|
||||||
[ $? -ne 0 ] && docker pull $image_name
|
[ $? -ne 0 ] && docker pull $image_name
|
||||||
|
|
||||||
echo "* REMOVING CONTAINER : $image_name"
|
echo "* REMOVING CONTAINER : $image_name"
|
||||||
docker ps -a | grep -qE "$container_name^"
|
docker ps -a | grep -qE "$container_name^"
|
||||||
docker rm -f $container_name
|
docker rm -f $container_name
|
||||||
|
|
||||||
if [ 1 -eq 0 ]; then
|
if [ 1 -eq 0 ]; then
|
||||||
echo "* DELETING DATADIR: $container_datadir"
|
echo "* DELETING DATADIR: $container_datadir"
|
||||||
sudo rm -rf $container_datadir
|
sudo rm -rf $container_datadir
|
||||||
[ "$1" = "clean" ] && continue
|
[ "$1" = "clean" ] && continue
|
||||||
|
|
||||||
echo "* CREATING DATADIR: $container_datadir"
|
echo "* CREATING DATADIR: $container_datadir"
|
||||||
sudo mkdir -p $container_datadir
|
sudo mkdir -p $container_datadir
|
||||||
fi
|
fi
|
||||||
#sudo chown -R mysql.mysql $container_datadir
|
#sudo chown -R mysql.mysql $container_datadir
|
||||||
sudo chmod 777 $container_datadir
|
sudo chmod 777 $container_datadir
|
||||||
echo "* STARTING CONTAINER: $container_name($container_port/TCP) BASED ON $image_name -> $container_datadir"
|
echo "* STARTING CONTAINER: $container_name($container_port/TCP) BASED ON $image_name -> $container_datadir"
|
||||||
set -x
|
set -x
|
||||||
docker run -d -e MYSQL_ROOT_PASSWORD=$default_password -p $container_port:3306 --name $container_name -v $container_datadir:/var/lib/mysql $image_name
|
docker run -d -e MYSQL_ROOT_PASSWORD=$default_password -p $container_port:3306 --name $container_name -v $container_datadir:/var/lib/mysql $image_name
|
||||||
set +x
|
set +x
|
||||||
sleep 6s
|
sleep 6s
|
||||||
echo "* LOGS: $container_name"
|
echo "* LOGS: $container_name"
|
||||||
docker logs $container_name
|
docker logs $container_name
|
||||||
echo "* LISTING PORTS: $container_name BASED ON $image_name"
|
echo "* LISTING PORTS: $container_name BASED ON $image_name"
|
||||||
docker port $container_name
|
docker port $container_name
|
||||||
|
|
||||||
echo "* LISTING VOLUMES: $container_name BASED ON $image_name"
|
echo "* LISTING VOLUMES: $container_name BASED ON $image_name"
|
||||||
docker inspect -f "{{ .Mounts }}" $container_name
|
docker inspect -f "{{ .Mounts }}" $container_name
|
||||||
|
|
||||||
echo "* LISTING $container_datadir"
|
echo "* LISTING $container_datadir"
|
||||||
ls -ls $container_datadir
|
ls -ls $container_datadir
|
||||||
#break
|
#break
|
||||||
docker logs $container_name | grep -q "ready for connections"
|
docker logs $container_name | grep -q "ready for connections"
|
||||||
done < "$input"
|
done < "$input"
|
||||||
|
|
||||||
echo "* LISTING DOCKER IMAGES"
|
echo "* LISTING DOCKER IMAGES"
|
||||||
docker images
|
docker images
|
||||||
|
|
||||||
echo "* LISTING DOCKER CONTAINER"
|
echo "* LISTING DOCKER CONTAINER"
|
||||||
docker ps
|
docker ps
|
||||||
|
|
||||||
|
@ -1,28 +1,28 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
source build/bashrc
|
source build/bashrc
|
||||||
|
|
||||||
systemctl status docker &>/dev/null
|
systemctl status docker &>/dev/null
|
||||||
if [ $? -ne 0 ];then
|
if [ $? -ne 0 ];then
|
||||||
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
|
sudo dnf install -y yum-utils device-mapper-persistent-data lvm2
|
||||||
sudo dnf -y install dnf-plugins-core
|
sudo dnf -y install dnf-plugins-core
|
||||||
sudo dnf config-manager \
|
sudo dnf config-manager \
|
||||||
--add-repo \
|
--add-repo \
|
||||||
https://download.docker.com/linux/fedora/docker-ce.repo
|
https://download.docker.com/linux/fedora/docker-ce.repo
|
||||||
|
|
||||||
sudo dnf -y install docker-ce docker-ce-cli containerd.io
|
sudo dnf -y install docker-ce docker-ce-cli containerd.io
|
||||||
dnf list docker-ce --showduplicates | sort -r
|
dnf list docker-ce --showduplicates | sort -r
|
||||||
|
|
||||||
sudo systemctl start docker
|
sudo systemctl start docker
|
||||||
sudo systemctl enable docker
|
sudo systemctl enable docker
|
||||||
sudo usermod -aG docker vagrant
|
sudo usermod -aG docker vagrant
|
||||||
sudo systemctl daemon-reload
|
sudo systemctl daemon-reload
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sh build/createMassDockerImages.sh
|
sh build/createMassDockerImages.sh
|
||||||
|
|
||||||
sh build/fetchSampleDatabases.sh clean
|
sh build/fetchSampleDatabases.sh clean
|
||||||
sh build/fetchSampleDatabases.sh fetchall
|
sh build/fetchSampleDatabases.sh fetchall
|
||||||
|
|
||||||
exec_mysqls build/configimg.conf mysql contents/sakila-db/sakila-schema.sql
|
exec_mysqls build/configimg.conf mysql contents/sakila-db/sakila-schema.sql
|
||||||
exec_mysqls build/configimg.conf mysql contents/sakila-db/sakila-data.sql
|
exec_mysqls build/configimg.conf mysql contents/sakila-db/sakila-data.sql
|
@ -1,12 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -xv
|
set -xv
|
||||||
|
|
||||||
_DIR=$(dirname `readlink -f $0`)
|
_DIR=$(dirname `readlink -f $0`)
|
||||||
|
|
||||||
|
|
||||||
ssh $1 mkdir /images/mysqltuner
|
ssh $1 mkdir /images/mysqltuner
|
||||||
rsync -avz ${_DIR}/.. $1:/images/mysqltuner
|
rsync -avz ${_DIR}/.. $1:/images/mysqltuner
|
||||||
|
|
||||||
if [ "$2" = "run" ];then
|
if [ "$2" = "run" ];then
|
||||||
ssh $1 "su - mysql -c 'cd /images/mysqltuner; source /opt/mysql/myqenv myserver1;perl mysqltuner.pl --verbose --color'"
|
ssh $1 "su - mysql -c 'cd /images/mysqltuner; source /opt/mysql/myqenv myserver1;perl mysqltuner.pl --verbose --color'"
|
||||||
fi
|
fi
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
DB_WORLD_URL="https://downloads.mysql.com/docs/world.sql.zip"
|
DB_WORLD_URL="https://downloads.mysql.com/docs/world.sql.zip"
|
||||||
DB_WORLDX_URL="https://downloads.mysql.com/docs/world_x-db.zip"
|
DB_WORLDX_URL="https://downloads.mysql.com/docs/world_x-db.zip"
|
||||||
DB_SAKILA_URL="https://downloads.mysql.com/docs/sakila-db.zip"
|
DB_SAKILA_URL="https://downloads.mysql.com/docs/sakila-db.zip"
|
||||||
DB_MESSAGERIE_URL="https://downloads.mysql.com/docs/menagerie-db.zip"
|
DB_MESSAGERIE_URL="https://downloads.mysql.com/docs/menagerie-db.zip"
|
||||||
DB_TESTDB_URL="https://github.com/datacharmer/test_db/archive/master.zip"
|
DB_TESTDB_URL="https://github.com/datacharmer/test_db/archive/master.zip"
|
||||||
|
|
||||||
getVal()
|
getVal()
|
||||||
{
|
{
|
||||||
local vari=$1
|
local vari=$1
|
||||||
eval "echo \$$vari"
|
eval "echo \$$vari"
|
||||||
}
|
}
|
||||||
case "$1" in
|
case "$1" in
|
||||||
"fetchall")
|
"fetchall")
|
||||||
for sample in WORLD WORLDX SAKILA MESSAGERIE TESTDB; do
|
for sample in WORLD WORLDX SAKILA MESSAGERIE TESTDB; do
|
||||||
sh $0 fetch $sample
|
sh $0 fetch $sample
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
"fetch")
|
"fetch")
|
||||||
[ -z "$2" ] && exit 1
|
[ -z "$2" ] && exit 1
|
||||||
mkdir -p ./contents
|
mkdir -p ./contents
|
||||||
[ -f "contents/$(basename $(getVal "DB_$2_URL"))" ] || wget -O contents/$(basename $(getVal "DB_$2_URL")) $(getVal "DB_$2_URL")
|
[ -f "contents/$(basename $(getVal "DB_$2_URL"))" ] || wget -O contents/$(basename $(getVal "DB_$2_URL")) $(getVal "DB_$2_URL")
|
||||||
if [ $? -eq 0 ];then
|
if [ $? -eq 0 ];then
|
||||||
(cd contents; unzip $( basename $(getVal "DB_$2_URL")) )
|
(cd contents; unzip $( basename $(getVal "DB_$2_URL")) )
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"clean")
|
"clean")
|
||||||
rm -rf contents
|
rm -rf contents
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown operation: $1"
|
echo "Unknown operation: $1"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
@ -1,51 +1,51 @@
|
|||||||
Summary: High Performance MySQL Tuning Script
|
Summary: High Performance MySQL Tuning Script
|
||||||
Name: mysqltuner
|
Name: mysqltuner
|
||||||
Version: %VERSION%
|
Version: %VERSION%
|
||||||
Release: 1
|
Release: 1
|
||||||
License: GPL v3+
|
License: GPL v3+
|
||||||
Group: Applications
|
Group: Applications
|
||||||
Source0: https://github.com/build/MySQLTuner-perl/build/%{name}-%{version}.tgz
|
Source0: https://github.com/build/MySQLTuner-perl/build/%{name}-%{version}.tgz
|
||||||
URL: https://github.com/major/MySQLTuner-perl
|
URL: https://github.com/major/MySQLTuner-perl
|
||||||
Requires: mysql
|
Requires: mysql
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
|
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
MySQLTuner is a high-performance MySQL tuning script written in Perl
|
MySQLTuner is a high-performance MySQL tuning script written in Perl
|
||||||
that will provide you with a snapshot of a MySQL server's health.
|
that will provide you with a snapshot of a MySQL server's health.
|
||||||
Based on the statistics gathered, specific recommendations will be
|
Based on the statistics gathered, specific recommendations will be
|
||||||
provided that will increase a MySQL server's efficiency and
|
provided that will increase a MySQL server's efficiency and
|
||||||
performance. The script gives you automated MySQL tuning that is on
|
performance. The script gives you automated MySQL tuning that is on
|
||||||
the level of what you would receive from a MySQL DBA.
|
the level of what you would receive from a MySQL DBA.
|
||||||
|
|
||||||
This script has been derived from many of the ideas in Matthew
|
This script has been derived from many of the ideas in Matthew
|
||||||
Montgomery's MySQL tuning primer script.
|
Montgomery's MySQL tuning primer script.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
install -d $RPM_BUILD_ROOT%{_bindir}
|
install -d $RPM_BUILD_ROOT%{_bindir}
|
||||||
install -d $RPM_BUILD_ROOT%{_datarootdir}
|
install -d $RPM_BUILD_ROOT%{_datarootdir}
|
||||||
install -d $RPM_BUILD_ROOT/%{_mandir}/man1
|
install -d $RPM_BUILD_ROOT/%{_mandir}/man1
|
||||||
install -p %{name}.pl $RPM_BUILD_ROOT%{_bindir}/%{name}
|
install -p %{name}.pl $RPM_BUILD_ROOT%{_bindir}/%{name}
|
||||||
install -d $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
install -d $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||||
install -p LICENSE $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
install -p LICENSE $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||||
install -p basic_passwords.txt $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
install -p basic_passwords.txt $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||||
install -p vulnerabilities.csv $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
install -p vulnerabilities.csv $RPM_BUILD_ROOT%{_datarootdir}/%{name}
|
||||||
install -p %{name}.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1
|
install -p %{name}.1.gz $RPM_BUILD_ROOT/%{_mandir}/man1
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(644,root,root,755)
|
%defattr(644,root,root,755)
|
||||||
%doc %{_datarootdir}/%{name}
|
%doc %{_datarootdir}/%{name}
|
||||||
%attr(755,root,root) %{_bindir}/%{name}
|
%attr(755,root,root) %{_bindir}/%{name}
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Apr 14 2016 Jean-Marie RENOUARD <jmrenouard@gmail.com> %VERSION%-1
|
* Thu Apr 14 2016 Jean-Marie RENOUARD <jmrenouard@gmail.com> %VERSION%-1
|
||||||
- Initial RPM release
|
- Initial RPM release
|
||||||
|
|
||||||
|
@ -1,116 +1,116 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
server=$1
|
server=$1
|
||||||
_DIR=$(dirname `readlink -f $0`)
|
_DIR=$(dirname `readlink -f $0`)
|
||||||
|
|
||||||
#SSH_OPTIONS="-i utilities/id_rsa"
|
#SSH_OPTIONS="-i utilities/id_rsa"
|
||||||
|
|
||||||
SSH_OPTIONS="${SSH_OPTIONS:-""}
|
SSH_OPTIONS="${SSH_OPTIONS:-""}
|
||||||
|
|
||||||
export SSH_CLIENT="ssh -q $SSH_OPTIONS -o TCPKeepAlive=yes -o ServerAliveInterval=50 -o strictHostKeyChecking=no"
|
export SSH_CLIENT="ssh -q $SSH_OPTIONS -o TCPKeepAlive=yes -o ServerAliveInterval=50 -o strictHostKeyChecking=no"
|
||||||
export SCP_CLIENT="scp -q $SSH_OPTIONS -o TCPKeepAlive=yes -o ServerAliveInterval=50 -o strictHostKeyChecking=no"
|
export SCP_CLIENT="scp -q $SSH_OPTIONS -o TCPKeepAlive=yes -o ServerAliveInterval=50 -o strictHostKeyChecking=no"
|
||||||
_DIR="$(dirname "`readlink -f $0`")"
|
_DIR="$(dirname "`readlink -f $0`")"
|
||||||
|
|
||||||
echo "* CLEANUP OLD RESULT FILES"
|
echo "* CLEANUP OLD RESULT FILES"
|
||||||
rm -f mysqltuner_${server}.txt pt-*_${server}.txt innotop_${server}.txt
|
rm -f mysqltuner_${server}.txt pt-*_${server}.txt innotop_${server}.txt
|
||||||
|
|
||||||
echo "* RUNNNING MYSQLTUNER"
|
echo "* RUNNNING MYSQLTUNER"
|
||||||
$SSH_CLIENT root@${server} "mysqltuner --verbose --outputfile /tmp/mysqltuner_${server}.txt"
|
$SSH_CLIENT root@${server} "mysqltuner --verbose --outputfile /tmp/mysqltuner_${server}.txt"
|
||||||
[ $? -ne 0 ] && exit 1
|
[ $? -ne 0 ] && exit 1
|
||||||
|
|
||||||
echo "* RUNNNING PERCONA SUMMARY"
|
echo "* RUNNNING PERCONA SUMMARY"
|
||||||
$SSH_CLIENT root@${server} "pt-summary> /tmp/pt-summary_${server}.txt"
|
$SSH_CLIENT root@${server} "pt-summary> /tmp/pt-summary_${server}.txt"
|
||||||
[ $? -ne 0 ] && exit 1
|
[ $? -ne 0 ] && exit 1
|
||||||
|
|
||||||
echo "* RUNNNING PERCONA MYSQL SUMMARY"
|
echo "* RUNNNING PERCONA MYSQL SUMMARY"
|
||||||
$SSH_CLIENT root@${server} "pt-mysql-summary> /tmp/pt-mysql-summary_${server}.txt"
|
$SSH_CLIENT root@${server} "pt-mysql-summary> /tmp/pt-mysql-summary_${server}.txt"
|
||||||
[ $? -ne 0 ] && exit 1
|
[ $? -ne 0 ] && exit 1
|
||||||
|
|
||||||
echo "* RUNNNING INNOTOP"
|
echo "* RUNNNING INNOTOP"
|
||||||
$SSH_CLIENT root@${server} "innotop -C -d1 --count 5 -n>> /tmp/innotop_${server}.txt"
|
$SSH_CLIENT root@${server} "innotop -C -d1 --count 5 -n>> /tmp/innotop_${server}.txt"
|
||||||
[ $? -ne 0 ] && exit 1
|
[ $? -ne 0 ] && exit 1
|
||||||
|
|
||||||
echo "* IMPORTING RESULT TXT"
|
echo "* IMPORTING RESULT TXT"
|
||||||
$SCP_CLIENT root@${server}:/tmp/mysqltuner_${server}.txt .
|
$SCP_CLIENT root@${server}:/tmp/mysqltuner_${server}.txt .
|
||||||
$SCP_CLIENT root@${server}:/tmp/pt-*_${server}.txt .
|
$SCP_CLIENT root@${server}:/tmp/pt-*_${server}.txt .
|
||||||
$SCP_CLIENT root@${server}:/tmp/innotop_${server}.txt .
|
$SCP_CLIENT root@${server}:/tmp/innotop_${server}.txt .
|
||||||
[ $? -ne 0 ] && exit 1
|
[ $? -ne 0 ] && exit 1
|
||||||
|
|
||||||
REPORT_NAME=audit.html
|
REPORT_NAME=audit.html
|
||||||
echo "* GENERATING HTML RESULT"
|
echo "* GENERATING HTML RESULT"
|
||||||
(
|
(
|
||||||
DATE="$(date)"
|
DATE="$(date)"
|
||||||
cat<<EOF
|
cat<<EOF
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>MySQL/MariaDB Audit report - $DATE</title>
|
<title>MySQL/MariaDB Audit report - $DATE</title>
|
||||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||||
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
|
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css">
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.bundle.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.bundle.js"></script>
|
||||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<h1>MySQL/MariaDB Audit report - $DATE</h1>
|
<h1>MySQL/MariaDB Audit report - $DATE</h1>
|
||||||
<div id="tabs">
|
<div id="tabs">
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#mysqltuner">Tuner</a></li>
|
<li><a href="#mysqltuner">Tuner</a></li>
|
||||||
<li><a href="#pt-summary">Linux</a></li>
|
<li><a href="#pt-summary">Linux</a></li>
|
||||||
<li><a href="#pt-mysql-summary">Percona</a></li>
|
<li><a href="#pt-mysql-summary">Percona</a></li>
|
||||||
<li><a href="#innotop">InnoTop</a></li>
|
<li><a href="#innotop">InnoTop</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<div id="mysqltuner">
|
<div id="mysqltuner">
|
||||||
<pre>
|
<pre>
|
||||||
EOF
|
EOF
|
||||||
) > ${REPORT_NAME}
|
) > ${REPORT_NAME}
|
||||||
|
|
||||||
perl ${_DIR}/txt2Html.pl - mysqltuner_${server}.txt >> ${REPORT_NAME}
|
perl ${_DIR}/txt2Html.pl - mysqltuner_${server}.txt >> ${REPORT_NAME}
|
||||||
|
|
||||||
(
|
(
|
||||||
cat << 'EOF'
|
cat << 'EOF'
|
||||||
</pre></div>
|
</pre></div>
|
||||||
<div id='pt-summary'>
|
<div id='pt-summary'>
|
||||||
<pre>
|
<pre>
|
||||||
EOF
|
EOF
|
||||||
) >> ${REPORT_NAME}
|
) >> ${REPORT_NAME}
|
||||||
|
|
||||||
perl ${_DIR}/txt2Html.pl \# pt-summary_${server}.txt >> ${REPORT_NAME}
|
perl ${_DIR}/txt2Html.pl \# pt-summary_${server}.txt >> ${REPORT_NAME}
|
||||||
(
|
(
|
||||||
cat << 'EOF'
|
cat << 'EOF'
|
||||||
</pre></div>
|
</pre></div>
|
||||||
<div id='pt-mysql-summary'>
|
<div id='pt-mysql-summary'>
|
||||||
<pre>
|
<pre>
|
||||||
EOF
|
EOF
|
||||||
) >> ${REPORT_NAME}
|
) >> ${REPORT_NAME}
|
||||||
perl ${_DIR}/txt2Html.pl \# pt-mysql-summary_${server}.txt >> ${REPORT_NAME}
|
perl ${_DIR}/txt2Html.pl \# pt-mysql-summary_${server}.txt >> ${REPORT_NAME}
|
||||||
|
|
||||||
(
|
(
|
||||||
cat << 'EOF'
|
cat << 'EOF'
|
||||||
</pre></div>
|
</pre></div>
|
||||||
<div id='innotop'>
|
<div id='innotop'>
|
||||||
<pre>
|
<pre>
|
||||||
EOF
|
EOF
|
||||||
) >> ${REPORT_NAME}
|
) >> ${REPORT_NAME}
|
||||||
|
|
||||||
cat innotop_${server}.txt >> ${REPORT_NAME}
|
cat innotop_${server}.txt >> ${REPORT_NAME}
|
||||||
(
|
(
|
||||||
cat << 'EOF'
|
cat << 'EOF'
|
||||||
</pre></div>
|
</pre></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$(function(){
|
$(function(){
|
||||||
$('#tabs').tabs({ active: 0 });
|
$('#tabs').tabs({ active: 0 });
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
EOF
|
EOF
|
||||||
) >> ${REPORT_NAME}
|
) >> ${REPORT_NAME}
|
||||||
echo "* ALL IS OK"
|
echo "* ALL IS OK"
|
||||||
exit 0
|
exit 0
|
@ -1,26 +1,26 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
input="./build/configimg.conf"
|
input="./build/configimg.conf"
|
||||||
|
|
||||||
while IFS='' read -r line
|
while IFS='' read -r line
|
||||||
do
|
do
|
||||||
[ -z "$line" ] && continue
|
[ -z "$line" ] && continue
|
||||||
container_port=$(echo "$line" | cut -d\; -f1)
|
container_port=$(echo "$line" | cut -d\; -f1)
|
||||||
container_name=$(echo "$line" | cut -d\; -f2)
|
container_name=$(echo "$line" | cut -d\; -f2)
|
||||||
container_datadir=$(echo "$line" | cut -d\; -f3)
|
container_datadir=$(echo "$line" | cut -d\; -f3)
|
||||||
image_name=$(echo "$line" | cut -d\; -f4)
|
image_name=$(echo "$line" | cut -d\; -f4)
|
||||||
|
|
||||||
if [ -n "$1" -a "$1" != "$container_name" ]; then
|
if [ -n "$1" -a "$1" != "$container_name" ]; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
shift
|
shift
|
||||||
sudo rm -f /var/lib/mysql
|
sudo rm -f /var/lib/mysql
|
||||||
sudo ln -sf $container_datadir /var/lib/mysql
|
sudo ln -sf $container_datadir /var/lib/mysql
|
||||||
sudo chmod 777 /var/lib/mysql
|
sudo chmod 777 /var/lib/mysql
|
||||||
|
|
||||||
#sudo docker logs $container_name > /tmp/mysqld.log
|
#sudo docker logs $container_name > /tmp/mysqld.log
|
||||||
ls -ls /var/lib | grep -E 'mysql$'
|
ls -ls /var/lib | grep -E 'mysql$'
|
||||||
#set +x
|
#set +x
|
||||||
perl mysqltuner.pl $* --host 127.0.0.1 --port $container_port
|
perl mysqltuner.pl $* --host 127.0.0.1 --port $container_port
|
||||||
exit $?
|
exit $?
|
||||||
done < "$input"
|
done < "$input"
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Used to sync the original project with local project.
|
# Used to sync the original project with local project.
|
||||||
|
|
||||||
#Save existing working
|
#Save existing working
|
||||||
git stash
|
git stash
|
||||||
|
|
||||||
#add project url to current repository as upstream-live
|
#add project url to current repository as upstream-live
|
||||||
git remote add upstream-live https://github.com/major/MySQLTuner-perl
|
git remote add upstream-live https://github.com/major/MySQLTuner-perl
|
||||||
|
|
||||||
#Fetch updated code
|
#Fetch updated code
|
||||||
git fetch upstream-live
|
git fetch upstream-live
|
||||||
|
|
||||||
#Going back to the master branch for mearging latest code
|
#Going back to the master branch for mearging latest code
|
||||||
git checkout master
|
git checkout master
|
||||||
|
|
||||||
#Merge latest code with master branch.
|
#Merge latest code with master branch.
|
||||||
git merge upstream-live/master
|
git merge upstream-live/master
|
||||||
|
Loading…
Reference in New Issue
Block a user