mysql - nervnervinformatica.com.br/downloads/materiais/mya-2018.pdf · comandos no treinamento ......

146
MySQL - Administração - Backup & Recovery - Tuning - Alta Disponibilidade Inclui Percona e MariaDB Ricardo Portllo Proni ricardo@nervinformatcaacomabr Esta obra está licenciada sob a licença Creatve Commons Atribuição-)emDerivados oa0 Br asila Para ver uma cópia desta licença, visite ltp://creatvecommonsaorg/licenses/by-nd/oa0/br/a

Upload: dinhthuan

Post on 09-Nov-2018

301 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

MySQL- Administração- Backup & Recovery- Tuning- Alta Disponibilidade

Inclui Percona e MariaDB

Ricardo Portllo Proniricardo@nervinformatcaacomabr

Esta obra está licenciada sob a licençaCreatve Commons Atribuição-)emDerivados oa0 BrasilaPara ver uma cópia desta licença, visite ltp://creatvecommonsaorg/licenses/by-nd/oa0/br/a

Page 2: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

22

Produtos utiizados no Treinamento● Oracle Enterprise Linux 6● Oracle VirtualBox 5a2● My)QL 5a7● Percona )erver 5a7● MariaDB 10a2

Page 3: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

33

Comandos no Treinamento

Comando com o usuário root:# mysql -u root -pNerv2017

Comando no MySQL:mysql> show databases;

Adicionar texto a um arquivo:# vi /etc/my.cnf...log-bin=mysql-bin...

Todas as senhas são Nerv2017.

Page 4: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4

Mercado de Trabaiho MySQL

4

Page 5: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

55

Por que MySQL?

Page 6: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

66

DBA MySQLDBA MySQL e ...● Desenvolvedor● Administrador de Dados● Administrador de )istema Operacional● Analista de )istema● DBA de outro banco

Page 7: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

77

CertfcaçõesOracie Certfed Professionai, MySQL 5.6 Database AdministratorExame: My)QL 5a6 Database Administrator (1Z0-88o)● My)QL Arclitecture● My)QL )erver Installaton, Confguraton and Maintenance● My)QL )ecurity● Diagnostc Data and Metadata )ources in My)QL● Optmizing My)QL Performance● Backups and Recovery in My)QL● Higl Availability Teclniques for My)QL

Oracie Certfed Professionai, MySQL 5.6 DeveioperExame: My)QL 5a6 Developer (1Z0-882)● My)QL Arclitecture● General My)QL )yntax● Creaton and Design of My)QL )clema Objects● Creaton, Design and Use of My)QL )tored Programs● Querying for Data● Modifying Data● Joins, subqueries and UNION● My)QL Applicaton Development● Basic Optmizatons

Page 8: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

88

Livros

My)QL 5a0 Certfcaton )tudy GuideHigl Performance My)QL (O'Reilly)

Page 9: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

99

Documentação

ltps://devamysqlacom/doc/refman/5a5/en/indexaltmlltps://devamysqlacom/doc/refman/5a6/en/indexaltmlltps://devamysqlacom/doc/refman/5a7/en/indexaltmlltps://devamysqlacom/doc/refman/8a0/en/

Page 10: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

10

Produtos MySQL

10

Page 11: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

11

História do MySQL

Page 12: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

12

História do MySQL

Page 13: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

1313

Produtos Community

Page 14: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

1414

Produtos Enterprise

Page 15: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

1515

Produtos Enterprise

Page 16: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

16

Instaiação

16

Page 17: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

1717

Instaiação – Repositório Padrão

[root@Melquior ~]# yum -y install mysql-server...[root@Melquior ~]# rpm -qa | grep mysqlmysql-5.1.73-7.el6_6.i686mysql-server-5.1.73-7.el6_6.i686mysql-libs-5.1.73-7.el6_6.i686[root@Melquior ~]#

Page 18: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

1818

Instaiação – Versão Específca

Page 19: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

1919

Instaiação – Repositórios MySQL

Page 20: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2020

Lab 1.1: Instaiação MySQLInstaie o MySQL.# yum -y install wget# yum -y install https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm# yum -y install mysql-server# chkconfig mysqld on# ls -lh /var/lib/mysql# service mysqld start# ls -lh /var/lib/mysql

Verifque o Log do MySQL, e aitere a senha do usuário root.# cat /var/log/mysqld.log# grep password /var/log/mysqld.log# /usr/bin/mysqladmin -u root -p password 'Nerv2017...'

Acesse o MySQL, e verifque o acesso.# mysql -u root -pmysql> exit;

Libere a porta do MySQL no Firewaii.# iptables -I INPUT -p tcp -m tcp --dport 3306 -j ACCEPT# service iptables save

Page 21: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2121

Lab 1.2: Status MySQL

Verifque as formas de conexão com o MySQL.# mysql -u root -pmysql> status;

# mysqladmin -u root -pNerv2017... status

# tail /var/log/mysqld.log

Page 22: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2222

Lab 1.3: Ciient MySQL

Verifque as formas de conexão com o MySQL.# mysql -u root -pmysql> SHOW STATUS;mysql> EXIT;

# mysql -u root -pNerv2017...mysql> SHOW STATUS;mysql> EXIT;

mysql> prompt \U-\d-\R:\m:\s>

# vi .my.cnf[client]password=Nerv2017...prompt='\U-\d-\R:\m:\\s>'...

# mysql

Page 23: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2323

Lab 1.4: Ciient MySQL

Verifque as formas de execução de comandos no MySQL.# mysqlmysql> show databases;

# mysql -e 'show databases’# mysql -B -e 'show databases’# mysql -t -e 'show databases’# mysql -E -e 'show databases’# mysql -X -e 'show databases’

# mysql -e 'show databases’ > status.txt# cat status.txt

# mysql -t -e 'show databases’ > status.txt# cat status.txt

# echo 'show databases' > script.sql# mysql -t < script.sql# mysql -t < script.sql > status.txt# cat status.txt

mysql> source script.sql

Page 24: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2424

Lab 1.5: Ciient MySQL

Verifque as formas de execução de comandos no MySQL.mysql> show status;mysql> pager less -n -i -S -F -Xmysql> show status;

mysql> \Wmysql> \w

# export EDITOR=vi# mysqlmysql> show databases;mysql> edit

mysql> tee audit.logmysql> show databases;mysql> notee# cat audit.log

mysql> system ls -lh

Page 25: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2525

Lab 1.6: Banco de Exempio WORLD

# cd# wget http://downloads.mysql.com/docs/world.sql.zip# ls -lh world.sql.zip# yum -y install unzip# unzip world.sql.zip# ls -lh world.sql# mysql < world.sql

mysql> show databases;mysql> use world;mysql> show tables;mysql> select count(*) from city;mysql> select count(*) from country;mysql> select count(*) from countrylanguage;

Page 26: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2626

Lab 1.7: Banco de Exempio SAKILA

# cd# wget http://downloads.mysql.com/docs/sakila-db.zip# ls -lh sakila-db.zip# unzip sakila-db.zip# ls -lh sakila-db/

# cd sakila-db/# mysql < sakila-schema.sql# mysql < sakila-data.sql

mysql> show databases;mysql> use sakila;mysql> show tables;mysql> select count(*) from actor;mysql> select count(*) from film;mysql> select count(*) from film_actor;

Page 27: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2727

Lab 1.8: Banco de Exempio MENAGERIE

# cd# wget http://downloads.mysql.com/docs/menagerie-db.zip# ls -lh menagerie-db.zip# unzip menagerie-db.zip# ls -lh menagerie-db/

# cd menagerie-db/# cat pet.txt# cat event.txt# mysql -tmysql> CREATE DATABASE menagerie;mysql> use menagerie;mysql> SOURCE cr_pet_tbl.sqlmysql> LOAD DATA LOCAL INFILE 'pet.txt' INTO TABLE pet;mysql> SOURCE ins_puff_rec.sqlmysql> SOURCE cr_event_tbl.sqlmysql> LOAD DATA LOCAL INFILE 'event.txt' INTO TABLE event;

mysql> show tables;mysql> select count(*) from pet;mysql> select count(*) from event;

Page 28: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2828

Lab 1.9: Banco de Exempio EMPLOYEES

# cd# wget https://launchpad.net/test-db/employees-db-1/1.0.6/+download/employees_db-full-1.0.6.tar.bz2# ls -lh employees_db-full-1.0.6.tar.bz2# bunzip2 employees_db-full-1.0.6.tar.bz2# tar xfv employees_db-full-1.0.6.tar# ls -lh employees_db/

# cd employees_db/

# vi employees.sql...-- set storage_engine = InnoDB;...-- select CONCAT('storage engine: ', @@storage_engine) as INFO;...

# mysql -t < employees.sqlmysql> show databases;mysql> use employees;mysql> show tables;mysql> select count(*) from departments;mysql> select count(*) from employees;mysql> select count(*) from salaries;

Page 29: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

2929

Lab 1.10: Banco de Exempio

# mysqlmysql> use employees;mysql> show tables;

# mysql employeesmysql> show tables;

# mysqlmysql> select count(*) from employees.salaries;mysql> select count(*) from menagerie.pet;

mysql> select count(*) from employees.salaries;mysql> select count(*) from EMPLOYEES.SALARIES;mysql> select count(*) from EMPLOYEES.salaries;mysql> select count(*) from employees.SALARIES;mysql> select count(*) from Employees.salaries;mysql> select count(*) from employees.Salaries;

Page 30: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3030

Engines● MyI)AM● InnoDB● Memory● Arclive● C)V● Merge● Federated● NDB● Blacklole● Example● Aria● Percona XtraDB● Percona XtraDB Cluster● Percona TokuDB

Page 31: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3131

Engines

Page 32: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3232

Engines

Page 33: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3333

Engines MySQL 5.7

Page 34: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3434

Engines MariaDB 10.2

Page 35: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3535

Engines Percona Server 5.7

Page 36: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3636

MySQL x Percona Server x MariaDB

Page 37: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3737

Percona Server

Page 38: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3838

Percona Server

Page 39: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

3939

Percona Server

Page 40: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4040

Percona Server

Page 41: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4141

Lab 2.1: Percona Server

Instaie o Oracie VM VirtuaiBox.# yum -y install SDL kernel-uek-devel kernel-uek-headers# yum -y install http://download.virtualbox.org/virtualbox/5.2.0/VirtualBox-5.2-5.2.0_118431_el6-1.x86_64.rpm

Page 42: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4242

Lab 2.2: Percona Server

No Oracie VM VirtuaiBox, ciique em “Fiie”, e em “Import Appiiance”.

Page 43: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4343

Lab 2.3: Percona Server

Aitere o Nome para “Percona”, e seiecione “Reiniciaiize o endereço MAC de todas as piacas de rede”.

Page 44: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4444

Lab 2.4: Percona ServerInicie a VM.

Verifque o endereço IP da VM.# service network restart# ifconfig eth0

Page 45: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4545

Lab 2.5: Percona Server

Instaie o Percona Server.# yum -y install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm# yum -y install Percona-Server-server-57# chkconfig mysql on# service mysql startgrep password /var/log/mysqld.log# mysqladmin -u root -p password 'Nerv2017...'# mysql -u root -pNerv2017...mysql> show databases;mysql> show engines;

Execute um Backup Lógico do MySQL.# mysqldump --all-databases > backup.sql

Copie e importe o Backup Lógico no Percona.# mysql -u root -pNerv2017... < backup.sql# mysql -u root -pNerv2017...mysql> show databases;mysql> select count(*) from employees.salaries;

Page 46: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4646

MariaDB

Page 47: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4747

MariaDB

Page 48: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4848

MariaDB - Produtos Enterprise

Page 49: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

4949

Lab 3.1: MariaDB

No Oracie VM VirtuaiBox, ciique em “Fiie”, e em “Import Appiiance”.

Page 50: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5050

Lab 3.2: MariaDB

Aitere o Nome para “MariaDB”, e seiecione “Reiniciaiize o endereço MAC de todas as piacas de rede”.

Page 51: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5151

Lab 3.3: MariaDBInicie a VM.

Verifque o endereço IP da VM.# service network restart# ifconfig eth0

Page 52: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5252

Lab 3.4: MariaDB

Instaie o MariaDB.# ifconfig# vi /etc/yum.repos.d/MariaDB.repo...# MariaDB 10.2 CentOS repository list - created 2017-11-03 13:48 UTC# http://downloads.mariadb.org/mariadb/repositories/[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.2/centos6-x86gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1...

# yum -y install MariaDB-server# chkconfig mysql on# service mysql start# mysqladmin -u root password 'Nerv2017'mysql> show engines;

Copie e importe o Backup Lógico no MariaDB.# mysql -u root -pNerv2017 < backup.sql# mysql -u root -pNerv2017mysql> show databases;mysql> select count(*) from employees.salaries;

Page 53: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

53

Administração

53

Page 54: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5454

Lab 4.1: Estruturas Físicas e Lógicas

Crie um novo banco de dados.# mysqlmysql> show databases;mysql> create database nerv;mysql> show databases;mysql> use nerv;mysql> show tables;

Page 55: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5555

Lab 4.2: Estruturas Físicas e LógicasVerifque as estruturas fsicas dos MySQL.# ls -lh /var/lib/mysql/...drwxr-x---. 2 mysql mysql 4.0K Oct 22 10:38 employees-rw-r-----. 1 mysql mysql 16K Oct 22 11:17 ib_buffer_pool-rw-r-----. 1 mysql mysql 76M Oct 22 11:18 ibdata1-rw-r-----. 1 mysql mysql 48M Oct 22 11:18 ib_logfile0-rw-r-----. 1 mysql mysql 48M Oct 22 11:18 ib_logfile1-rw-r-----. 1 mysql mysql 12M Oct 22 11:27 ibtmp1drwxr-x---. 2 mysql mysql 4.0K Oct 22 10:33 menageriedrwxr-x---. 2 mysql mysql 4.0K Oct 21 17:16 mysqldrwxr-x---. 2 mysql mysql 4.0K Oct 22 12:35 nervdrwxr-x---. 2 mysql mysql 4.0K Oct 21 17:16 performance_schemadrwxr-x---. 2 mysql mysql 4.0K Oct 22 10:31 sakiladrwxr-x---. 2 mysql mysql 12K Oct 21 17:16 sysdrwxr-x---. 2 mysql mysql 4.0K Oct 22 10:26 world...

# ls -lh /var/lib/mysql/nerv/-rw-rw----. 1 mysql mysql 65 Out 26 15:57 db.opt

# cat /var/lib/mysql/nerv/db.optdefault-character-set=latin1default-collation=latin1_swedish_ci

Page 56: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5656

Lab 4.3: Dicionário de Dados

Verifque o conteúdo das tabeias do banco mysqi.# mysqlmysql> use mysql;mysql> show tables;mysql> select * from db;mysql> select * from user;

Page 57: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5757

Lab 4.4: Dicionário de Dados

Verifque o conteúdo das tabeias do banco informaton_schema.# mysqlmysql> use information_schema;mysql> show tables;mysql> select * from TABLES;mysql> select * from USER_PRIVILEGES;

ltp://devamysqlacom/doc/refman/5a7/en/informaton-sclemaaltml

Page 58: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5858

Lab 4.5: Dicionário de Dados

Verifque o conteúdo das tabeias do banco performance_schema.# mysqlmysql> use performance_schema;mysql> show tables;mysql> select * from threads;mysql> select * from users;

ltp://devamysqlacom/doc/refman/5a7/en/performance-sclemaaltmlltp://devamysqlacom/doc/refman/5a7/en/performance-sclema-table-indexaltmlltps://devamysqlacom/doc/refman/5a7/en/sys-sclemaaltml

Page 59: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

5959

Lab 4.6: Variabies, Status, Thread States

Verifque as Variabies, Status, e Thread States.# mysqlmysql> SHOW VARIABLES;mysql> SHOW VARIABLES LIKE '%wait%';mysql> SHOW STATUS;mysql> SHOW STATUS LIKE '%Thread%';mysql> SHOW PROCESSLIST;mysql> SHOW FULL PROCESSLIST;

Variabiesltp://devamysqlacom/doc/refman/5a7/en/server-system-variablesaltmlltps://devamysqlacom/doc/refman/5a7/en/innodb-parametersaltml

Status Variabiesltp://devamysqlacom/doc/refman/5a7/en/server-status-variablesaltml

Thread Statesltp://devamysqlacom/doc/refman/5a7/en/general-tlread-statesaltml

Page 60: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6060

Lab 4.7: VariabiesAitere uma Variabie, com SET e com SET GLOBAL.# mysqlmysql> SHOW VARIABLES LIKE '%sort%';mysql> SET sort_buffer_size=524288;mysql> SHOW VARIABLES LIKE '%sort%';mysql> SET @@local.sort_buffer_size=524288;mysql> select @@local.sort_buffer_size;mysql> exit;# mysqlmysql> SHOW VARIABLES LIKE '%sort%';

# mysqlmysql> SHOW VARIABLES LIKE '%sort%';mysql> SET GLOBAL sort_buffer_size=524288;mysql> SHOW VARIABLES LIKE '%sort%';mysql> SET @@global.sort_buffer_size=524288;mysql> select @@local.sort_buffer_size;mysql> select @@global.sort_buffer_size;mysql> exit;# mysqlmysql> SHOW VARIABLES LIKE '%sort%';

mysql> set global tmpdir='/var/lib/mysql/';

Page 61: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6161

Lab 4.8: Variabies

Page 62: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6262

Lab 4.9: Variabies

Aitere uma Variabie peio arquivo de parâmetros.# mysqlmysql> SHOW VARIABLES LIKE '%sort%';mysql> exit;

# vi /etc/my.cnf...[mysqld]sort_buffer_size = 2M...

# service mysqld stop# service mysqld start

# mysqlmysql> SHOW VARIABLES LIKE '%sort%';

Page 63: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6363

Lab 4.10: Usuários e PermissõesCrie um usuário para conexão remota.mysql> CREATE USER 'portilho'@'localhost' IDENTIFIED BY 'Nerv2017...';mysql> CREATE USER 'portilho'@'192.168.0.102' IDENTIFIED BY 'Nerv2017...';mysql> CREATE USER 'portilho'@'%.localdomain' IDENTIFIED BY 'Nerv2017...';mysql> CREATE USER 'portilho'@'%' IDENTIFIED BY 'Nerv2017...';mysql> DROP USER 'portilho'@'%';mysql> GRANT SELECT ON world.city TO 'portilho'@'192.168.0.102';mysql> GRANT SELECT ON nerv.* TO 'portilho'@'192.168.0.102';mysql> GRANT ALL PRIVILEGES ON *.* TO 'portilho'@'localhost';mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'portilho'@'localhost';mysql> SET PASSWORD FOR 'portilho'@'192.168.0.102' = PASSWORD('Nerv2016');mysql> show warnings;mysql> FLUSH PRIVILEGES;

mysql> select * from information_schema.USER_PRIVILEGES;mysql> select * from information_schema.SCHEMA_PRIVILEGES;mysql> select * from information_schema.TABLE_PRIVILEGES;mysql> select * from mysql.user;

Execute uma conexão remota.# mysql -u portilho -pNerv2017 -h 192.168.0.108

Priviiégiosltps://devamysqlacom/doc/refman/5a7/en/privileges-providedaltml

Page 64: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6464

Lab 4.11: Importação e Exportação

Exporte as tabeias do banco empioyees para texto.mysql> use employees;mysql> SELECT * FROM departments INTO OUTFILE '/tmp/departments.txt';O que aconteceu?

mysql> SELECT * FROM dept_emp INTO OUTFILE '/tmp/dept_emp.txt';mysql> SELECT * FROM dept_manager INTO OUTFILE '/tmp/dept_manager.txt';mysql> SELECT * FROM employees INTO OUTFILE '/tmp/employees.txt';mysql> SELECT * FROM salaries INTO OUTFILE '/tmp/salaries.txt';mysql> SELECT * FROM titles INTO OUTFILE '/tmp/titles.txt';

Page 65: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6565

Lab 4.12: Importação e Exportação

Importe os arquivos texto para as tabeias do banco empioyees.mysql> SET foreign_key_checks = 0;mysql> truncate table departments;mysql> truncate table dept_emp;mysql> truncate table dept_manager;mysql> truncate table employees;mysql> truncate table salaries;mysql> truncate table titles;mysql> LOAD DATA INFILE '/tmp/departments.txt' INTO TABLE departments;mysql> LOAD DATA INFILE '/tmp/dept_emp.txt' INTO TABLE dept_emp;mysql> LOAD DATA INFILE '/tmp/dept_manager.txt' INTO TABLE dept_manager;mysql> LOAD DATA INFILE '/tmp/employees.txt' INTO TABLE employees;mysql> LOAD DATA INFILE '/tmp/salaries.txt' INTO TABLE salaries;mysql> LOAD DATA INFILE '/tmp/titles.txt' INTO TABLE titles;mysql> SET foreign_key_checks = 1;

Outras opções:FIELDS TERMINATED BY ','ENCLOSED BY '"'LINES TERMINATED BY '\n';

Page 66: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6666

Lab 4.13: MySQL Workbench

Instaie o MySQL Workbench.# yum -y install mysql-workbench-community

Page 67: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6767

Lab 4.14: MySQL Workbench

Page 68: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6868

Lab 4.15: MySQL Workbench

Page 69: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

6969

Lab 4.16: MySQL Workbench

Page 70: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7070

Lab 4.17: MySQL Workbench

Page 71: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7171

Lab 4.18: MySQL Workbench

Page 72: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7272

Lab 4.19: MySQL Workbench

Page 73: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7373

Lab 4.20: MySQL Workbench

Page 74: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7474

Lab 4.21: MySQL Workbench

Page 75: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7575

Lab 4.22: MySQL Workbench

Page 76: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7676

Lab 4.23: MySQL Workbench

Page 77: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7777

Lab 4.24: MySQL Workbench

Page 78: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7878

Lab 4.25: MySQL Workbench

Page 79: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

7979

Lab 4.26: MySQL Workbench

Page 80: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8080

Lab 4.27: MySQL Workbench

Page 81: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8181

MySQL Variabies: Conexões

Aitere estas Variabies peio arquivo de parâmetros.max_connections = 1000max_user_connections = 0thread_cache_size = 200 # default = 8 + (max_connections / 100)back_log = 100 # default = max_connections / 5slow_launch_time = 2 # Slow_launch_threadsconnect_timeout = 10max_connect_errors = 10 # FLUSH HOSTShost_cache_size = -1 # default = 128 + ((max_connections – 500) / 20)skip_name_resolve = OFF

net_read_timeout = 30net_write_timeout = 60net_retry_count = 10 # FLUSH HOSTS

net_buffer_length = 16384max_allowed_packet = 4194304

wait_timeout = 28800interactive_timeout = 28800lock_wait_timeout = 31536000

Page 82: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8282

MySQL Logs

Page 83: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8383

MySQL Variabies: Logs

Aitere estas Variabies peio arquivo de parâmetros.log_output = FILElog_error_verbosity = 3log_error = /var/lib/mysql/mysql-error.log

general_log = OFFgeneral_log_file = /var/lib/mysql/mysql-general.log

slow_query_log = ONslow_query_log_file = /var/lib/mysql/mysql-slow.loglong_query_time = 60log_slow_admin_statements = ONlog_queries_not_using_indexes = ONlog_throttle_queries_not_using_indexes = 0min_examined_row_limit = 100

Page 84: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

84

Backup & Recovery

84

Page 85: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8585

Engines● MyI)AM● InnoDB● Memory (MyI)AM-like)● Arclive (MyI)AM-like)● C)V● Merge (MyI)AM-like)● Federated● NDB (MyI)AM-like)● Blacklole● Example● Aria● Percona XtraDB (InnoDB-like)● Percona XtraDB Cluster● Percona TokuDB

Page 86: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8686

Lab 5.1: Backup & Recovery

No Oracie VM VirtuaiBox, ciique em “Fiie”, e em “Import Appiiance”.

Page 87: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8787

Lab 5.2: Backup & Recovery

Aitere o Nome para “Recovery”, e seiecione “Reiniciaiize o endereço MAC de todas as piacas de rede”.

Page 88: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8888

Lab 5.3: Backup & RecoveryInicie a VM.

Verifque o endereço IP da VM.# service network restart# ifconfig eth0

Instaie na VM Recovery o mesmo MySQL da máquina reai.

Page 89: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

8989

Lab 5.4: Coid Backup

Execute um Coid Backup.# service mysqld stop# mkdir /root/ColdBackup# cp -rfvp /var/lib/mysql/ /root/ColdBackup/# service mysqld start

Na máquina de Restore, pare o MySQL.# service mysqld stop

Na máquina originai, copie o Backup.# scp -Cr /root/ColdBackup/mysql/* 192.168.56.102:/var/lib/mysql/

Na máquina de Restore, inicie o MySQL.# chown -R mysql:mysql /var/lib/mysql# setenforce 0# service mysqld start

Page 90: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9090

Lab 5.5: Warm Backup MyISAM

Dupiique as tabeias do banco empioyees no banco nerv.mysql> use nerv;mysql> create table departments as select * from employees.departments;mysql> create table dept_emp as select * from employees.dept_emp;mysql> create table dept_manager as select * from employees.dept_manager;mysql> create table employees as select * from employees.employees;mysql> create table salaries as select * from employees.salaries;mysql> create table titles as select * from employees.titles;

Aitere as tabeias para o Engine MyISAM, e as coioque em LOCK.mysql> ALTER TABLE departments ENGINE=MyISAM;mysql> ALTER TABLE dept_emp ENGINE=MyISAM;mysql> ALTER TABLE dept_manager ENGINE=MyISAM;mysql> ALTER TABLE employees ENGINE=MyISAM;mysql> ALTER TABLE salaries ENGINE=MyISAM;mysql> ALTER TABLE titles ENGINE=MyISAM;

Page 91: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9191

Lab 5.6: Warm Backup MyISAM

Coioque as tabeias MyISAM em LOCK.mysql> FLUSH TABLE departments, dept_emp, dept_manager, employees, salaries,titles WITH READ LOCK;mysql> show open tables from nerv;

Em outra sessão, execute a cópia peio sistema operacionai.# mkdir /root/WarmBackup# cp -rfp /var/lib/mysql/nerv /root/WarmBackup

Na sessão originai, desbioquei as tabeias.mysql> UNLOCK TABLEs;

Na máquina originai, copie o Backup para a máquina de Restore.# scp -Cr /root/WarmBackup/nerv/* 192.168.56.102:/var/lib/mysql/nerv/

Na máquina de Restore, corrija as permissões.# chown -R mysql:mysql /var/lib/mysql/nerv

Page 92: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9292

Lab 5.7: mysqidump

Execute um backup via mysqidump.# mkdir /root/Dump# mysqldump nerv > /root/Dump/nerv.sql# mysqldump --all_databases > /root/Dump/nerv01.sql

Edite o arquivo gerado.O que eie contém?Como utiizar este backup?Quais suas desvantagens?

O que faz a opção –-singie-transacton?O que faz a opção –-master-data?

Page 93: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9393

Lab 5.8: Bin Logs

Adicione no /etc/my.cnf as iinhas abaixo, e reinicie o mysqi.sync_binlog=1log-bin=mysql-binexpire_logs_days=28

O que aconteceu no diretório de dados?

Execute uma carga de dados, e verifque o conteúdo dos Bin Logs.# mysqlbinlog /var/lib/mysql/mysql-bin.000001 > Recover.sql# mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000003# mysqlbinlog --start-position=128530757 binlog.000003 > Recover03.sql

Page 94: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9494

Lab 5.9: Instaiação Servidor Restore

Recupere o Backup Lógico no Servidor Restore, e apiique os Bin Logs.Produção:# mysqldump nerv > /root/Dump/nerv.sqlmysql> PURGE BINARY LOGS BEFORE '2017-10-31 08:40:00';mysql> use nerv;mysql> select count(*) from salaries;mysql> insert into salaries select * from salaries;mysql> select count(*) from salaries;

Servidor de Restore:# mysql nerv < /root/Dump/nerv.sql

Produção:# mysqlbinlog /var/lib/mysql/mysql-bin.000002 > mysql-bin.000002.sql

Servidor de Restore:# mysql nerv < mysql-bin.000002.sql

Page 95: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9595

mysqibackup

Page 96: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9696

Lab 5.10: mysqibackup

Instaie o MySQL Enterprise Backup, e execute um backup.# yum install /root/meb-4.1.0-rhel5.i386.rpm# mkdir /root/MEB/# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root –-password=Nerv2017... --backup-dir=/root/MEB/ --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ backup-and-apply-log# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir /root/MEB/ --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ validate

Execute um Restore.# service mysqld stop# rm -rf /var/lib/mysql/*# /opt/mysql/meb-4.1/bin/mysqlbackup --backup-dir=/root/MEB/ --datadir=/var/lib/mysql/ copy-back# chown -R mysql:mysql /var/lib/mysql/# service mysqld start

Page 97: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9797

Lab 5.11: mysqibackup

Execute um backup IMAGE, e vaiide-o.# mkdir /root/MEB-Image/# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir=/root/MEB-Image/ --backup-image=/root/MEB-Image/backup.mbi --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ backup-to-image

# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017 --backup-image=/root/MEB-Image/backup.mbi --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ validate

Page 98: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9898

Lab 5.12: mysqibackup

Execute um backup comprimido.# mkdir /root/MEB-Compress/# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir=/root/MEB-Compress/ --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ --compress --compress-level=9 backup

Execute um backup IMAGE comprimido.# mkdir /root/MEB-Compress-Image/# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir /root/MEB-Compress-Image/ --backup-image=/root/MEB-Compress-Image/backup.mbi --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ --compress --compress-level=9 backup-to-image

Page 99: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

9999

Lab 5.13: mysqibackup

Execute um backup parciai.# mkdir /root/MEB-Image-Partial/# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir /root/MEB-Image-Partial/ --backup-image=/root/MEB-Image-Partial/backup.mbi --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/ --include-tables='^(employess|nerv)\.' backup-to-image

Page 100: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

100100

Lab 5.14: mysqibackup

Execute backups incrementais.# mkdir /root/MEB-Incremental-Segunda# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir /root/MEB-Incremental-Segunda/ --backup-image=/root/MEB-Incremental-Segunda/backup.mbi --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ --incremental --incremental-base=history:last_backup backup-to-image

# mkdir /root/MEB-Incremental-Terca# /opt/mysql/meb-4.1/bin/mysqlbackup --port=3306 --socket=/var/lib/mysql/mysql.sock --user=root --password=Nerv2017... --backup-dir /root/MEB-Incremental-Terca/ --backup-image=/root/MEB-Incremental-Terca/backup.mbi --datadir=/var/lib/mysql/ --innodb_data_file_path=/var/lib/mysql/ --incremental --incremental-base=history:last_backup backup-to-image

Page 101: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

101

Tuning

101

Page 102: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

102102

Lab 6.1: Diretório de Dados

Aitere a iocaiização do diretório de dados do MySQL.# vi /etc/selinux/config...SELINUX=disabled...

# reboot

# service mysqld stop# mkdir /mysql# chown -R mysql:mysql /mysql

# vi /etc/my.cnf...datadir=/mysql...

# cp -R -p -v /var/lib/mysql/* /mysql/# service mysqld start

Page 103: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

103103

Lab 6.2: System Tabiespace InnoDB

Aitere a iocaiização do diretório de dados do MySQL.# service mysqld stop# mkdir /InnoDB01# mv /mysql/ibdata1 /InnoDB01/# chown -R mysql:mysql /InnoDB01/

# vi /etc/my.cnf...innodb_file_per_table=OFFinnodb_data_home_dir=innodb_data_file_path=/InnoDB01/ibdata1:10M:autoextend:max:10G...

# service mysqld start

Page 104: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

104104

Engines● MyI)AM● InnoDB● Memory● Arclive● C)V● Merge● Federated● NDB● Blacklole● Example● MariaDB● Percona XtraDB● Percona XtraDB Cluster● Percona TokuDB

Page 105: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

105105

InnoDB

Page 106: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

106106

MyISAM

Page 107: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

107107

Memory

Page 108: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

108108

Archive

Page 109: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

109109

Merge

Page 110: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

110110

Federated

Page 111: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

111111

Federated - Connecton

Page 112: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

112112

Federated - Server

Page 113: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

113113

Instância x Banco de Dados

Page 114: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

114114

Lab 6.3: Benchmark - mysqisiap

Execute um teste de carga no MySQL.# yum -y install mysql-community-test# mysqlslap --user=root –-password=Nerv2017... --auto-generate-sql --concurrency=10 --iterations=10 --number-char-cols=10 --number-int-cols=5 --engine=innodb

Durante a execução do teste, acompanhe no Linux, via top.

Durante a execução do teste, acompanhe no MySQL, via mysqiadmin.# mysqladmin status

Durante a execução do teste, acompanhe no MySQL, via PROCESSLIST.mysql> SHOW PROCESSLIST;mysql> SHOW FULL PROCESSLIST;

Execute novamente o teste, com os Engines MyISAM e Memory.

Page 115: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

115115

Lab 6.5: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### Huge Pageslarge_pages = OFF

### Asyncronous Writeflush = OFFflush_time = 0

### Temporary Tablesmax_heap_table_size = 16777216default_tmp_storage_engine = MyISAMtmp_table_size = 8M # (Created_tmp_tables – Created_tmp_disk_tables) > 0tmpdir = /tmp/

### Query Cachequery_cache_type = ON # (BI / OLAP / DSS)query_cache_size = 16M # (Qcache_hits)query_cache_limit = 1M # (Qcache_inserts)query_cache_min_res_unit = 4096 # (Qcache_inserts)

ltps://devamysqlacom/doc/refman/5a6/en/server-system-variablesaltmlltps://devamysqlacom/doc/refman/5a6/en/innodb-parametersaltml

Page 116: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

116116

Lab 6.6: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### Metadataopen_files_limit = 10000table_open_cache_instances = 1table_open_cache = 400 # (Opened_tables)table_definition_cache = 600 # (400 + (table_open_cache / 2))metadata_locks_cache_size = 1024 # (Waiting for table metadata lock)metadata_locks_hash_instances = 8 # (Waiting for table metadata lock)max_prepared_stmt_count = 16382 # (Com_prepare_sql Prepared_stmt_count)query_prealloc_size = 8192query_alloc_block_size = 8192stored_program_cache = 256transaction_alloc_block_size = 8192transaction_prealloc_size = 4096

### Individual Buffersread_buffer_size = 2Mread_rnd_buffer_size = 2Msort_buffer_size = 2M # (Sort_merge_passes)max_length_for_sort_data = 8388608 join_buffer_size = 2M # (index scans, range index scans, joins FTS)max_join_size = 4Grange_alloc_block_size = 4096

Page 117: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

117117

Lab 6.7: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### MyISAMkey_cache_block_size = 4096key_buffer_size = 128Mkey_cache_age_threshold = 300key_cache_division_limit = 100 # (Hot)bulk_insert_buffer_size = 8388608concurrent_insert = ALWAYSdelay_key_write = ALLlow_priority_updates = OFF # (INSERT, UPDATE, DELETE, LOCK TABLE WRITE)myisam_sort_buffer_size = 8388608 # (REPAIR TABLE, CREATE INDEX, ALTER TABLE)myisam_max_sort_file_size = 2147483648 # (REPAIR TABLE,ALTER TABLE, LOAD DATA INFILE)

Exempio:prod.key_buffer_size = 128Mdev.key_buffer_size = 16Mmysql> CACHE INDEX t1, t2, t3 IN prod;

Page 118: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

118118

Lab 6.8: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### InnoDB Filesinnodb_checksums = ON # innodb_checksum_algorithm = crc32innodb_doublewrite = OFFinnodb_autoextend_increment = 64innodb_file_per_table = 1innodb_file_format = Barracudainnodb_compression_level = 6innodb_compression_failure_threshold_pct = 0innodb_compression_pad_pct_max = 50

### InnoDB Threadsinnodb_numa_interleave = OFFinnodb_read_io_threads = 4 # (Pending reads) show engine innodb status;innodb_write_io_threads = 4 # (Pending writes)innodb_thread_concurrency = 0 # (cs)innodb_concurrency_tickets = 5000innodb_thread_sleep_delay = 10000innodb_adaptive_max_sleep_delay = 150000

### Lockinnodb_lock_wait_timeout = 50innodb_rollback_on_timeout = OFF

Page 119: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

119119

Lab 6.9: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### InnoDB Bufferinnodb_page_size = 16384innodb_buffer_pool_size = 128Minnodb_buffer_pool_instances = 1innodb_change_buffering = ALLinnodb_change_buffer_max_size = 25

innodb_buffer_pool_dump_at_shutdown = ONinnodb_buffer_pool_load_at_startup = ONinnodb_buffer_pool_dump_now = OFFinnodb_buffer_pool_load_now = OFFinnodb_buffer_pool_load_abort = OFFinnodb_buffer_pool_filename = InnoDB.dumpinnodb_buffer_pool_dump_pct = 100

innodb_random_read_ahead = ON (OFF em SSD)innodb_read_ahead_threshold = 32

### InnoDB Undoinnodb_purge_threads = 1 ### show engine innodb status; (History list length)innodb_purge_batch_size = 300innodb_max_purge_lag = 0 # (History list length)innodb_max_purge_lag_delay = 0 # (History list length)

Page 120: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

120120

Lab 6.10: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### InnoDB Flushinnodb_use_native_aio = ON # Linuxinnodb_flush_method = O_DIRECT_NO_FSYNC # (ext4 / xfs)innodb_flush_neighbors = 1 # (0 em SSD)innodb_adaptive_flushing = ONinnodb_flushing_avg_loops = 30innodb_adaptive_flushing_lwm = 10innodb_lru_scan_depth = 1024innodb_max_dirty_pages_pct_lwm = 10innodb_max_dirty_pages_pct = 75innodb_old_blocks_pct = 37innodb_old_blocks_time = 1000innodb_io_capacity = 200innodb_io_capacity_max = 2000

### InnoDB Loginnodb_log_file_size = 32Minnodb_log_files_in_group = 7innodb_log_buffer_size = 64Minnodb_log_compressed_pages = ONinnodb_flush_log_at_trx_commit = 1innodb_flush_log_at_timeout = 1 # (1 a 2700)innodb_fast_shutdown = 1

Page 121: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

121121

Lab 6.11: Parâmetros de TuningAitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### InnoDB Statisticsinnodb_stats_auto_recalc = ONinnodb_stats_transient_sample_pages = 8 # (STATS_SAMPLE_PAGES)innodb_stats_persistent = ONinnodb_stats_persistent_sample_pages = 20 # (STATS_SAMPLE_PAGES)

### InnoDB Optimizerinnodb_adaptive_hash_index = ONinnodb_sort_buffer_size = 67108864 # (CREATE INDEX)innodb_disable_sort_file_cache = OFF

Page 122: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

122122

Lab 6.12: Parâmetros de Tuning

Page 123: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

123123

Lab 6.13: Parâmetros de Tuning

Aitere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.### Optimizeroptimizer_prune_level = 1optimizer_search_depth = 62eq_range_index_dive_limit = 10max_seeks_for_key = 1000

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,subquery_materialization_cost_based=on,use_index_extensions=on

Page 124: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

124124

Lab 6.14: Transações e Isolamento

Altere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.mysql> use nerv;mysql> CREATE TABLE teste1 (c1 int, c2 char(50), c3 varchar(255)) Engine=InnoDB;mysql> CREATE TABLE teste2 (c1 int, c2 char(50), c3 varchar(255)) Engine=MyISAM;

mysql> insert into teste1 values (1, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (2, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (3, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (4, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (5, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (6, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (7, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (8, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (9, 'AAA', 'AAAAAAAAAA');mysql> insert into teste1 values (10, 'AAA', 'AAAAAAAAAA');mysql> insert into teste2 select * from teste1;

Page 125: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

125125

Lab 6.15: Transações e Isoiamento1a Sessão:mysql> update teste1 set c2 = 'BBB';

mysql> select * from teste1;

mysql> start transaction;

mysql> update teste1 set c2 = 'CCC';

mysql> select * from teste1;

mysql> commit;

mysql> select * from teste1;

mysql> start transaction;

mysql> update teste1 set c2 = 'DDD';

mysql> commit;

mysql> select * from teste1;

2a Sessão:

mysql> select * from teste1;

mysql> select * from teste1;

mysql> select * from teste1;

mysql> update teste1 set c2 = 'EEE';

mysql> select * from teste1;

Page 126: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

126126

Lab 6.16: Transações e Isoiamento1a Sessão:mysql> update teste2 set c2 = 'BBB';

mysql> select * from teste2;

mysql> start transaction;

mysql> update teste2 set c2 = 'CCC';

mysql> select * from teste2;

mysql> commit;

mysql> select * from teste2;

mysql> start transaction;

mysql> update teste2 set c2 = 'DDD';

mysql> commit;

mysql> select * from teste2;

2a Sessão:

mysql> select * from teste2;

mysql> select * from teste2;

mysql> select * from teste2;

mysql> update teste2 set c2 = 'EEE';

mysql> select * from teste2;

Page 127: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

127127

Lab 6.17: Comandos AdministratvosExecute estas operações no banco empioyees e nerv:mysql> ANALYZE TABLE salaries;

mysql> OPTIMIZE TABLE salaries;

mysql> REPAIR TABLE salaries;

# mysqlcheck -u root -pNerv2017... nerv# mysqlcheck -repair -u root -pNerv2017... nerv# mysqlcheck -o -u root -pNerv2017... nerv# mysqlcheck -a -u root -pNerv2017... nerv

# mysqlcheck -u root -pNerv2017... employees# mysqlcheck -repair -u root -pNerv2017... employees# mysqlcheck -o -u root -pNerv2017... employees# mysqlcheck -a -u root -pNerv2017... employees

Page 128: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

128

Repiicação

128

Page 129: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

129129

Aita Disponibiiidade

DRBD / Pacemaker / Corosync

Page 130: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

130130

Aita Disponibiiidade

Windows Server Faiiover Ciustering

Page 131: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

131131

Aita Disponibiiidade

MySQL Repiicaton

Page 132: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

132132

Lab 7.1: MySQL RepiicatonCrie outro Cione da VM “Linux”, com o nome de “MySQL Siave 01”.

Adicione a iinha abaixo no arquivo de confguração, e reinicie o MySQL.server-id=1

Execute a confguração da Repiicação no Master.mysql> CREATE USER 'rep'@'192.168.56.102' IDENTIFIED BY 'Nerv2017...';mysql> GRANT REPLICATION SLAVE ON *.* TO 'rep'@'192.168.56.102';mysql> FLUSH TABLES WITH READ LOCK;mysql> SHOW MASTER STATUS;Backup no Mastermysql> UNLOCK TABLES;Restore no Slave

Execute a confguração da Repiicação no Siave.mysql> CHANGE MASTER TO

MASTER_HOST='192.168.56.101',MASTER_USER='rep',MASTER_PASSWORD='Nerv2017...',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=435;

mysql> START SLAVE;mysql> SHOW SLAVE STATUS;

Page 133: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

133133

MySQL Proxy

Page 134: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

134134

Aita Disponibiiidade

MySQL Ciuster

Page 135: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

135135

Aita Disponibiiidade

Router / Fabric

Page 136: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

136136

Aita Disponibiiidade

Gaiera Ciuster

Page 137: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

137137

Aita Disponibiiidade

ProxySQL

Page 138: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

138138

Aita Disponibiiidade

Percona XtraDB Ciuster

Page 139: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

139139

Lab 8.1: Instaiação MySQL ProxyCrie outro Cione da VM “Linux”, com o nome de “MySQL Proxy”.

Instaie e inicie o MySQL Proxy# yum -y install wget# wget https://dev.mysql.com/get/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-el6-x86-32bit.tar.gz# tar xfzv mysql-proxy-0.8.5-linux-el6-x86-32bit.tar.gz

# vi /etc/mysql_proxy.cnf...[mysql-proxy]port=4040proxy-lua-script=/root/mysql-proxy-0.8.5-linux-el6-x86-32bit/share/doc/mysql-proxy/rw-splitting.luaproxy-backend-addresses = 192.168.0.101:3306proxy-read-only-backend-addresses = 192.168.0.102:3306...

# chmod 0660 /etc/mysql_proxy.cnf# cd /root/mysql-proxy-0.8.5-linux-el6-x86-32bit/bin# ./mysql-proxy --defaults-file=/etc/mysql_proxy.cnf

# mysql -u usuario -pNerv2017 -h IPdoProxy -P 4040

Page 140: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

140

Upgrade para 8.0

140

Page 141: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

141141

Upgrade

Supported Upgrade MethodsIn-place Upgrade (mysql_upgrade)Logical Upgrade (mysqldump)

Supported Upgrade Paths● Para Release )eries Version superioraPor exemplo, de 5a6a20 para 5a6a27a

● Para um (apenas um) Release )eries superioraPor exemplo, de 5a6a27 para 5a7a9 (antes faça upgrade da Release )eries Version)a

Exemplos:5.6: Release Series5.6.20: Release Series Version

Page 142: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

142142

Upgrade

Changes Afectng Upgrades to MySQL ltp://devamysqlacom/doc/refman/5a7/en/upgrading-from-previous-seriesaltmlltps://devamysqlacom/doc/refman/8a0/en/upgrading-from-previous-seriesaltml

Server and Status Variabies and Optons Added, Deprecated, or Removedltp://devamysqlacom/doc/refman/5a7/en/added-removed-variables-optonsaltmlltps://devamysqlacom/doc/refman/8a0/en/added-removed-variables-optonsaltml

Upgrading a Repiicaton Setupltp://devamysqlacom/doc/refman/5a7/en/replicaton-upgradealtmlltps://devamysqlacom/doc/refman/8a0/en/replicaton-upgradealtml

Índice de aiterações:ltps://devamysqlacom/doc/relnotes/mysql/5a6/en/ix01altmlltps://devamysqlacom/doc/relnotes/mysql/5a7/en/ix01altmlltps://devamysqlacom/doc/relnotes/mysql/8a0/en/ix01altml

Page 143: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

143143

Upgrade

Page 144: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

144144

Upgrade

Page 145: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

145145

Lab 9.1: Upgrade para 8.0

Execute o Upgrade para MySQL 8.0.# vi /etc/yum.repos.d/mysql-community.repo...[mysql57-community]name=MySQL 5.7 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/enabled=0gpgcheck=1...[mysql80-community]name=MySQL 8.0 Community Serverbaseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/enabled=1gpgcheck=1...

# mysql --version# mysqldump --all-databases > backup.sql# ls -lh backup.sql # service mysqld stop# yum -y update# service mysqld start# mysql_upgrade# mysql --version

Page 146: MySQL - Nervnervinformatica.com.br/Downloads/Materiais/MYA-2018.pdf · Comandos no Treinamento ... # echo 'show databases' > script.sql # mysql -t < script.sql ... Banco de

146

Perguntas?

Ricardo Portllo Proniricardo@informatcaacomabrNerv Informátca