SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
www.fromdual.com
1 / 28
MySQL für Oracle DBA's
DOAG Regionaltreffen Freiburg/Südbaden
26. Januar 2016, Freiburg
Oli Sennhauser
Senior MySQL Consultant, FromDual GmbH
oli.sennhauser@fromdual.com
www.fromdual.com
2 / 28
Über FromDual GmbH
Support
remote-DBA
Schulung
Beratung
www.fromdual.com
3 / 28
Inhalt
MySQL für Oracle DBA's
➢
Geschichte
➢
Branches und Forks
➢
Installation
➢
Zugriff auf MySQL
➢
User und Schema
➢
Storage Engines
➢
InnoDB Storage Engine
➢
Performance Tuning
➢
Monitoring
➢
Logging
➢
Hochverfügbarkeit
➢
MySQL in der Cloud
www.fromdual.com
4 / 28
Geschichte
● Anfang in den 1990ern
● Als SQL Layer für C-ISAM Dateien
● Ersatz von mSQL im LAMP Stack, um 2000
● Verschiedene Storage Engines in MySQL
● Innobase OY: InnoDB, ca. 2003
● InnoDB Black Friday
● Oracle kauft Innobase OY, Nov 2005
● Sun Microsystems kauft MySQL für USD 1 Mia, Apr 2008
● Oracle kauf Sun für USD 7.4 Mia, 2009
● MySQL und InnoDB jetzt wieder vereint!
● Kontinuität: 2010 – 2016 MySQL 5.5, 5.6 und 5.7
● Verbesserung der Skalierbarkeit
● Robustere Replikation
● Ausmerzen von Kinderkrankheiten
www.fromdual.com
5 / 28
Wo steht MySQL heute?
http://db-engines.com/en/ranking
www.fromdual.com
6 / 28
Branches und Forks
● MySQL ist Open Source (GPL)
● d. h. jede/r darf selber
● → Branches und Forks
● Wer setzt MySQL Branch/Fork ein?
● NICHT primäre kostenfrei sonder Wahlfreiheit!
● Echte Konkurrenz auf MySQL-Markt!
● Wer setzt MySQL wegen „free of cost“ ein?
● Nicht Lizenz sondern eine Subskription (Abo) für
Support + Tools
● Ausnahme: OEM, VAR, ISV
www.fromdual.com
7 / 28
MySQL Subskriptionen
● MySQL Community Edition (CE)
● Open Source MySQL Server
● + hilf dir selber
● MySQL Standard Edition (SE)
● Open Source oder Commercial MySQL Server
● + MySQL Support
● MySQL Enterprise Edition (EE)
● Standard Edition (SE)
● + Enterprise Tools (Monitor, Backup, Audit, ...)
● MySQL Commerical – OEM, ISV, VAR (Lizenz)
www.fromdual.com
8 / 28
MySQL Plattform
● „Exotische“ Plattformen führen
wahrscheinlich eher zu Problemen!
● 85.7% Linux
● 10.5% Windows
● 1.7% Solaris
● 1.4% BSD
● 0.7% Others
www.fromdual.com
9 / 28
Installation
● Wichtiger Grundsatz bei MySQL: KISS!
● Warum einfach machen, wenn es auch kompliziert geht?
● Oracle: OUI (MySQL zum Glück nicht!)
● MySQL:
● Pakete der Hersteller (RPM, DEB)
● Pakete der Distribution (RPM, DEB)
● Binary-Tar-Ball (.tar.gz)
● Source zum selber kompilieren
● Repository direkt vom Hersteller
● http://www.mysql.com/downloads
● http://dev.mysql.com/downloads/repo/yum
www.fromdual.com
10 / 28
Erstellen der Datenbank
● Distribution legt eine Datenbank an:
● /var/lib/mysql
● Von Hand:
● mysql_install_db ­­user=mysql ­­datadir=...
● Neu in 5.7:
● mysqld ­­initialize ­­user=mysql ­­datadir=...
● Multi-Instanzen Setups vs. Lamp-Silos
● myEnv
www.fromdual.com
11 / 28
Konfiguration
● MySQL Konfigurationsdatei:
● my.cnf oder my.ini (Win)
● Liegt unter: /etc/ oder /etc/mysql
● MySQL: kein SPFILE
● Änderung in my.cnf → Restart oder
● SET GLOBAL variable = wert;
● → von Hand in my.cnf schreiben!
● Gutes Template:
● http://fromdual.com/mysql-configuration-file-sample
www.fromdual.com
12 / 28
Starten/stoppen von MySQL
● Automatisch: in Boot-Prozess eingebunden
●
Von Hand:
service mysql [start | stop]
● oder
● mysqld_safe → Angel-Prozess
● Neu: bei Systemd oder Upstart obsolet.
● Prüfen:
ps ­ef | grep mysqld
● Killen von Hand (nett, dann hart):
kill ­TERM <pid>; kill ­KILL <pid>
● Obacht bei NICHT crash-safen Storage Engines (MyISAM)!
● Achtung bei Distrio-Start/Stop-Skripten (Debian)!
www.fromdual.com
13 / 28
Prozess vs. Thread
● MySQL: Threads
● Oracle: Prozess (+ neu auch Threads)
● RECO, PMON, SMON, DBW0, LGWR, ARC0, ...
● Welche?
SELECT * FROM performance_schema.threads;
shell> ps -eLf | grep mysqld
UID PID PPID LWP CMD
mysql 6411 1 6411 mysqld_safe
mysql 7081 6411 7081 mysqld
mysql 7081 6411 7083 mysqld
mysql 7081 6411 7084 mysqld
mysql 7081 6411 7085 mysqld
www.fromdual.com
14 / 28
Zugriff auf MySQL
● CLI vs. GUI
● CLI: mysql (Oracle: SQL*Plus)
● Nicht so mächtig wie SQL*Plus
● shell> mysql ­­user=... ­­password=... 
­­host=... ­­port=... database
● mysql> help
● GUI: MySQL Enterprise Workbench (WB)
● Administration (Backup, Monitoring, ...)
● Entwicklung (SQL, Migration)
● Designer (ER-Diagramme)
www.fromdual.com
15 / 28
Connections / Connectors
● Verbindung
● In MySQL billig: oft KEIN Connection-Pooling
● 1 Verbindung = 1 Thread → 1 Query → 1 Core
● Thread Pool (1000e von Verbindungen)
● Connectors:
● JDBC/ODBC
● PHP, Perl, Python, Ruby, .NET
www.fromdual.com
16 / 28
User und Schema
● User
● 'oli'@'localhost' → Unix Socket
● 'oli'@'127.0.0.1' → TCP von IP
● 'oli'@'%' → TCP von überall her
● MySQL Port: 3306
● Privilegien
● Global: *.*, pro Schema , pro Tabelle, pro Spalte
● Schema (= Database)
● Objekte unabhängig vom User (→ gehört System)
www.fromdual.com
17 / 28
Wichtigste Befehle
● SHOW DATABASES;
● use mysql;
● SHOW TABLES;
● SHOW [FULL] PROCESSLIST;
● SELECT user, host FROM mysql.user;
● SHOW GRANTS FOR user@host;
● SHOW GLOBAL VARIABLES;
● SHOW GLOBAL STATUS;
● SHOW ENGINES;
www.fromdual.com
18 / 28
Storage Engines
● MySQL Architektur ist speziell:
● Verschiedene Storage Engines (DB Engine):
InnoDB, MyISAM, MEMORY
SELECT * FROM information_schema.tables;
● Früher MyISAM (<= 5.1)
● heute: InnoDB (>= 5.5)
SQL Layer
Handler Interface
InnoDB MyISAM Memory
Traditional
(R)DBMS
= Monolith
SHOW CREATE TABLE testG
CREATE TABLE `test` (
...
) ENGINE=InnoDB;
www.fromdual.com
19 / 28
InnoDB Storage Engine
● Transaktionen (ACID)
● Isolation Level (default repeatable-read)
● InnoDB Buffer Pool → Database Buffer Cache
● innodb_buffer_pool_size
● 16k Pages
● InnoDB Log File (ib_logfile?) → Redo Logs
● innodb_log_file_size
● InnoDB System Tablespace (ibdata1)
● InnoDB TS Konzept (innodb_file_per_table):
● alles im System TS (default bis 5.5)
●
1 Tablespace pro Tabelle (default ab 5.6)
● mehrere TS (ab 5.7)
● InnoDB: PK geclusterte Tabellen → IOT
www.fromdual.com
20 / 28
Performance Tuning
● mysql> SHOW GLOBAL STATUS;
● PERFORMANCE_SCHEMA
● Slow Query Log
● slow_query_log = 1
● long_query_time = 0.5
● shell> mysqldumpslow ­s t slow.log > profile
● Query Execution Plan:
mysql> EXPLAIN SELECT * FROM test;
www.fromdual.com
21 / 28
Wichtigste Tuning-Parameter
● innodb_buffer_pool_size (default zu klein)
● innodb_log_file_size (defaults in 5.6 besser)
● innodb_flush_log_at_trx_commit (default langsam
aber sicher)
● sync_binlog (default schnell aber unsicher)
● key_buffer_size (default zu klein für MyISAM DB)
● table_open_cache (default besser – gut mit 5.6)
● table_definition_cache (default besser – gut mit
5.6)
● query_cache_size (default off seit 5.6!) :-(
www.fromdual.com
22 / 28
Monitoring von MySQL
● MySQL Enterprise Monitor (MEM)
● Oracle Cloud Contol (OEM/OMS) mit MySQL
Plug-in
● 3rd Party Tools
www.fromdual.com
23 / 28
Logging
● Error Log
● Fehler und Warnungen (log_warnings = 2)
● Slow Query Log
● „langsame“ Abfragen
● slow_query_log = ON
● long_query_time = 1.25
● General Query Log
● „alle“ Abfragen
● general_query_log = ON
www.fromdual.com
24 / 28
Hochverfügbarkeit
● Master/Slave Replikation
● Data-Guard
● aktiv/passiv Failover-Cluster
● dito
● Galera Cluster für MySQL
● Oracle RAC
www.fromdual.com
25 / 28
MySQL Replikation
● MySQL Master/Slave Replikation
●
Entspricht Oracle Data Guard
● Einsatz-Szenarien
●
Hochverfügbarkeits-Anforde-
rungen mittel bis hoch
●
Failover typischerweise < 1 min
→ Failover-Slave
●
Reporting-Slave
●
Backup-Slave
●
Massives Read-Scaleout
● Set-up ziemlich einfach
●
Know-How ist weit verbreitet
●
Man muss trotzdem wissen, was man tut!
●
One-shot failover
●
Google weiss Rat!
async!
www.fromdual.com
26 / 28
RAC: Galera Cluster
App App App
Load balancing (LB)
Node 2 Node 3Node 1
wsrep
Galera replication
wsrep wsrep
rwrw
Oracle Real Application Cluster (RAC)
● MySQL: Galera Cluster
● Shared-Nothing Architektur
www.fromdual.com
27 / 28
MySQL in der Cloud
● Ja geht!
●
Sowohl in:
● Private Cloud
● Public Cloud
● Rechenzentrums-Übergreifend
● Kontinent-Übergreifend
●
Aber auf Kosten von:
● Performance (Latenz, Noisy Neigbours)
● Preis (dafür Flexibilität)
● Vertraulichkeit
www.fromdual.com
28 / 28
Q & A
Fragen ?
Diskussion?
Wir haben Zeit für ein persönliches Gespräch...
● FromDual bietet neutral und unabhängig:
● Beratung
● Remote-DBA
● Support für MySQL, Galera, Percona Server und MariaDB
● Schulung
www.fromdual.com/presentations

Weitere ähnliche Inhalte

Was ist angesagt?

MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6FromDual GmbH
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationFromDual GmbH
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningFromDual GmbH
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for BeginnersFromDual GmbH
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerFromDual GmbH
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sFromDual GmbH
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFromDual GmbH
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFromDual GmbH
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLFromDual GmbH
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLFromDual GmbH
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupFromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and SecurityFromDual GmbH
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLFromDual GmbH
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSRalf Ernst
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsFromDual GmbH
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenLenz Grimmer
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungLenz Grimmer
 

Was ist angesagt? (20)

MySQL - New Features 5.6
MySQL - New Features 5.6MySQL - New Features 5.6
MySQL - New Features 5.6
 
MySQL Backup
MySQL BackupMySQL Backup
MySQL Backup
 
DOAG 2011: MySQL Replication
DOAG 2011: MySQL ReplicationDOAG 2011: MySQL Replication
DOAG 2011: MySQL Replication
 
DOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance TuningDOAG 2011: MySQL Performance Tuning
DOAG 2011: MySQL Performance Tuning
 
MySQL Replication for Beginners
MySQL Replication for BeginnersMySQL Replication for Beginners
MySQL Replication for Beginners
 
MySQL Performance Tuning für Entwickler
MySQL Performance Tuning für EntwicklerMySQL Performance Tuning für Entwickler
MySQL Performance Tuning für Entwickler
 
DOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA'sDOAG 2010: MySQL Architekturen für Oracle DBA's
DOAG 2010: MySQL Architekturen für Oracle DBA's
 
FROSCON 2011: MySQL Replication
FROSCON 2011: MySQL ReplicationFROSCON 2011: MySQL Replication
FROSCON 2011: MySQL Replication
 
FROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance TuningFROSCON 2011: MySQL Performance Tuning
FROSCON 2011: MySQL Performance Tuning
 
DAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQLDAOG SIG: HA Architekturen mit MySQL
DAOG SIG: HA Architekturen mit MySQL
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, BackupDOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
DOAG SIG: MySQL Replikation, Scale-Out, Master- Master Replikation, Backup
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL HA and Security
MySQL HA and SecurityMySQL HA and Security
MySQL HA and Security
 
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQLInternet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
Internet Briefing 2010: Performance Tuning & Scale-Out mit MySQL
 
Microservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OSMicroservices and Container Management with Mesosphere DC/OS
Microservices and Container Management with Mesosphere DC/OS
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
MySQL Absicherung und Datensicherung
MySQL Absicherung und DatensicherungMySQL Absicherung und Datensicherung
MySQL Absicherung und Datensicherung
 

Ähnlich wie MySQL für Oracle DBA's

DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLFromDual GmbH
 
Data Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLData Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLFromDual GmbH
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015FromDual GmbH
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?FromDual GmbH
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresqlinovex GmbH
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als CodeJan Gehring
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenCommunardo GmbH
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSharepointUGDD
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Ulrike Schwinn
 
Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12Stefan Frömken
 
200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollen200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollenUwe Küchler
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Werner Fischer
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungMongoDB
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2panagenda
 
Zentrales Logging mit Elasticsearch
Zentrales Logging mit ElasticsearchZentrales Logging mit Elasticsearch
Zentrales Logging mit ElasticsearchSimonSchneider24
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OMartin Klier
 

Ähnlich wie MySQL für Oracle DBA's (18)

DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
Froscon 2012 DWH
Froscon 2012 DWHFroscon 2012 DWH
Froscon 2012 DWH
 
Data Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLData Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQL
 
MySQL Security SLAC 2015
MySQL Security SLAC 2015MySQL Security SLAC 2015
MySQL Security SLAC 2015
 
MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?MySQL Replikation - Die Eier legende Wollmilchsau?
MySQL Replikation - Die Eier legende Wollmilchsau?
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Sql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint AdministratorenSql Server Grundlagen für Sharepoint Administratoren
Sql Server Grundlagen für Sharepoint Administratoren
 
Sql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point AdminsSql Server GrundlagenfüR Share Point Admins
Sql Server GrundlagenfüR Share Point Admins
 
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
Überblick: 18c und Autonomous Data Warehouse Cloud (ADWC)
 
Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12Präsentation MySQL auf dem T3CM12
Präsentation MySQL auf dem T3CM12
 
200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollen200 verteilte Oracle- Server mit Ansible ausrollen
200 verteilte Oracle- Server mit Ansible ausrollen
 
MySQL Security
MySQL SecurityMySQL Security
MySQL Security
 
Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?Zukunftstrends: was bringt 2013 für die IT?
Zukunftstrends: was bringt 2013 für die IT?
 
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer AnwendungBack to Basics - Webinar 6: Produktivsetzung einer Anwendung
Back to Basics - Webinar 6: Produktivsetzung einer Anwendung
 
Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2Zurück in die Zukunft - DNUG 2014 - Track 5.2
Zurück in die Zukunft - DNUG 2014 - Track 5.2
 
Zentrales Logging mit Elasticsearch
Zentrales Logging mit ElasticsearchZentrales Logging mit Elasticsearch
Zentrales Logging mit Elasticsearch
 
Oracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/OOracle Core für Einsteiger: Datenbank I/O
Oracle Core für Einsteiger: Datenbank I/O
 

Mehr von FromDual GmbH

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...FromDual GmbH
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?FromDual GmbH
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopFromDual GmbH
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New FeaturesFromDual GmbH
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New FeaturesFromDual GmbH
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaFromDual GmbH
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprintsFromDual GmbH
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLFromDual GmbH
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterFromDual GmbH
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014FromDual GmbH
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexingFromDual GmbH
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAsFromDual GmbH
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning VariablesFromDual GmbH
 

Mehr von FromDual GmbH (15)

MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...MariaDB/MySQL pitfalls - And how to come out again...
MariaDB/MySQL pitfalls - And how to come out again...
 
MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?MariaDB / MySQL tripping hazard and how to get out again?
MariaDB / MySQL tripping hazard and how to get out again?
 
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration WorkshopPXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
PXC 5.5 to MariaDB 10.4 Galera Cluster Migration Workshop
 
IT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New FeaturesIT Tage 2019 MariaDB 10.4 New Features
IT Tage 2019 MariaDB 10.4 New Features
 
MariaDB 10.4 New Features
MariaDB 10.4 New FeaturesMariaDB 10.4 New Features
MariaDB 10.4 New Features
 
MariaDB 10.2 New Features
MariaDB 10.2 New FeaturesMariaDB 10.2 New Features
MariaDB 10.2 New Features
 
PERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schemaPERFORMANCE_SCHEMA and sys schema
PERFORMANCE_SCHEMA and sys schema
 
Reading MySQL fingerprints
Reading MySQL fingerprintsReading MySQL fingerprints
Reading MySQL fingerprints
 
High-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQLHigh-availability with Galera Cluster for MySQL
High-availability with Galera Cluster for MySQL
 
MySQL always-up with Galera Cluster
MySQL always-up with Galera ClusterMySQL always-up with Galera Cluster
MySQL always-up with Galera Cluster
 
HA with Galera
HA with GaleraHA with Galera
HA with Galera
 
MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014MySQL Indexierung CeBIT 2014
MySQL Indexierung CeBIT 2014
 
Need for Speed: Mysql indexing
Need for Speed: Mysql indexingNeed for Speed: Mysql indexing
Need for Speed: Mysql indexing
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
 
MySQL Performance Tuning Variables
MySQL Performance Tuning VariablesMySQL Performance Tuning Variables
MySQL Performance Tuning Variables
 

MySQL für Oracle DBA's

  • 1. www.fromdual.com 1 / 28 MySQL für Oracle DBA's DOAG Regionaltreffen Freiburg/Südbaden 26. Januar 2016, Freiburg Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com
  • 2. www.fromdual.com 2 / 28 Über FromDual GmbH Support remote-DBA Schulung Beratung
  • 3. www.fromdual.com 3 / 28 Inhalt MySQL für Oracle DBA's ➢ Geschichte ➢ Branches und Forks ➢ Installation ➢ Zugriff auf MySQL ➢ User und Schema ➢ Storage Engines ➢ InnoDB Storage Engine ➢ Performance Tuning ➢ Monitoring ➢ Logging ➢ Hochverfügbarkeit ➢ MySQL in der Cloud
  • 4. www.fromdual.com 4 / 28 Geschichte ● Anfang in den 1990ern ● Als SQL Layer für C-ISAM Dateien ● Ersatz von mSQL im LAMP Stack, um 2000 ● Verschiedene Storage Engines in MySQL ● Innobase OY: InnoDB, ca. 2003 ● InnoDB Black Friday ● Oracle kauft Innobase OY, Nov 2005 ● Sun Microsystems kauft MySQL für USD 1 Mia, Apr 2008 ● Oracle kauf Sun für USD 7.4 Mia, 2009 ● MySQL und InnoDB jetzt wieder vereint! ● Kontinuität: 2010 – 2016 MySQL 5.5, 5.6 und 5.7 ● Verbesserung der Skalierbarkeit ● Robustere Replikation ● Ausmerzen von Kinderkrankheiten
  • 5. www.fromdual.com 5 / 28 Wo steht MySQL heute? http://db-engines.com/en/ranking
  • 6. www.fromdual.com 6 / 28 Branches und Forks ● MySQL ist Open Source (GPL) ● d. h. jede/r darf selber ● → Branches und Forks ● Wer setzt MySQL Branch/Fork ein? ● NICHT primäre kostenfrei sonder Wahlfreiheit! ● Echte Konkurrenz auf MySQL-Markt! ● Wer setzt MySQL wegen „free of cost“ ein? ● Nicht Lizenz sondern eine Subskription (Abo) für Support + Tools ● Ausnahme: OEM, VAR, ISV
  • 7. www.fromdual.com 7 / 28 MySQL Subskriptionen ● MySQL Community Edition (CE) ● Open Source MySQL Server ● + hilf dir selber ● MySQL Standard Edition (SE) ● Open Source oder Commercial MySQL Server ● + MySQL Support ● MySQL Enterprise Edition (EE) ● Standard Edition (SE) ● + Enterprise Tools (Monitor, Backup, Audit, ...) ● MySQL Commerical – OEM, ISV, VAR (Lizenz)
  • 8. www.fromdual.com 8 / 28 MySQL Plattform ● „Exotische“ Plattformen führen wahrscheinlich eher zu Problemen! ● 85.7% Linux ● 10.5% Windows ● 1.7% Solaris ● 1.4% BSD ● 0.7% Others
  • 9. www.fromdual.com 9 / 28 Installation ● Wichtiger Grundsatz bei MySQL: KISS! ● Warum einfach machen, wenn es auch kompliziert geht? ● Oracle: OUI (MySQL zum Glück nicht!) ● MySQL: ● Pakete der Hersteller (RPM, DEB) ● Pakete der Distribution (RPM, DEB) ● Binary-Tar-Ball (.tar.gz) ● Source zum selber kompilieren ● Repository direkt vom Hersteller ● http://www.mysql.com/downloads ● http://dev.mysql.com/downloads/repo/yum
  • 10. www.fromdual.com 10 / 28 Erstellen der Datenbank ● Distribution legt eine Datenbank an: ● /var/lib/mysql ● Von Hand: ● mysql_install_db ­­user=mysql ­­datadir=... ● Neu in 5.7: ● mysqld ­­initialize ­­user=mysql ­­datadir=... ● Multi-Instanzen Setups vs. Lamp-Silos ● myEnv
  • 11. www.fromdual.com 11 / 28 Konfiguration ● MySQL Konfigurationsdatei: ● my.cnf oder my.ini (Win) ● Liegt unter: /etc/ oder /etc/mysql ● MySQL: kein SPFILE ● Änderung in my.cnf → Restart oder ● SET GLOBAL variable = wert; ● → von Hand in my.cnf schreiben! ● Gutes Template: ● http://fromdual.com/mysql-configuration-file-sample
  • 12. www.fromdual.com 12 / 28 Starten/stoppen von MySQL ● Automatisch: in Boot-Prozess eingebunden ● Von Hand: service mysql [start | stop] ● oder ● mysqld_safe → Angel-Prozess ● Neu: bei Systemd oder Upstart obsolet. ● Prüfen: ps ­ef | grep mysqld ● Killen von Hand (nett, dann hart): kill ­TERM <pid>; kill ­KILL <pid> ● Obacht bei NICHT crash-safen Storage Engines (MyISAM)! ● Achtung bei Distrio-Start/Stop-Skripten (Debian)!
  • 13. www.fromdual.com 13 / 28 Prozess vs. Thread ● MySQL: Threads ● Oracle: Prozess (+ neu auch Threads) ● RECO, PMON, SMON, DBW0, LGWR, ARC0, ... ● Welche? SELECT * FROM performance_schema.threads; shell> ps -eLf | grep mysqld UID PID PPID LWP CMD mysql 6411 1 6411 mysqld_safe mysql 7081 6411 7081 mysqld mysql 7081 6411 7083 mysqld mysql 7081 6411 7084 mysqld mysql 7081 6411 7085 mysqld
  • 14. www.fromdual.com 14 / 28 Zugriff auf MySQL ● CLI vs. GUI ● CLI: mysql (Oracle: SQL*Plus) ● Nicht so mächtig wie SQL*Plus ● shell> mysql ­­user=... ­­password=...  ­­host=... ­­port=... database ● mysql> help ● GUI: MySQL Enterprise Workbench (WB) ● Administration (Backup, Monitoring, ...) ● Entwicklung (SQL, Migration) ● Designer (ER-Diagramme)
  • 15. www.fromdual.com 15 / 28 Connections / Connectors ● Verbindung ● In MySQL billig: oft KEIN Connection-Pooling ● 1 Verbindung = 1 Thread → 1 Query → 1 Core ● Thread Pool (1000e von Verbindungen) ● Connectors: ● JDBC/ODBC ● PHP, Perl, Python, Ruby, .NET
  • 16. www.fromdual.com 16 / 28 User und Schema ● User ● 'oli'@'localhost' → Unix Socket ● 'oli'@'127.0.0.1' → TCP von IP ● 'oli'@'%' → TCP von überall her ● MySQL Port: 3306 ● Privilegien ● Global: *.*, pro Schema , pro Tabelle, pro Spalte ● Schema (= Database) ● Objekte unabhängig vom User (→ gehört System)
  • 17. www.fromdual.com 17 / 28 Wichtigste Befehle ● SHOW DATABASES; ● use mysql; ● SHOW TABLES; ● SHOW [FULL] PROCESSLIST; ● SELECT user, host FROM mysql.user; ● SHOW GRANTS FOR user@host; ● SHOW GLOBAL VARIABLES; ● SHOW GLOBAL STATUS; ● SHOW ENGINES;
  • 18. www.fromdual.com 18 / 28 Storage Engines ● MySQL Architektur ist speziell: ● Verschiedene Storage Engines (DB Engine): InnoDB, MyISAM, MEMORY SELECT * FROM information_schema.tables; ● Früher MyISAM (<= 5.1) ● heute: InnoDB (>= 5.5) SQL Layer Handler Interface InnoDB MyISAM Memory Traditional (R)DBMS = Monolith SHOW CREATE TABLE testG CREATE TABLE `test` ( ... ) ENGINE=InnoDB;
  • 19. www.fromdual.com 19 / 28 InnoDB Storage Engine ● Transaktionen (ACID) ● Isolation Level (default repeatable-read) ● InnoDB Buffer Pool → Database Buffer Cache ● innodb_buffer_pool_size ● 16k Pages ● InnoDB Log File (ib_logfile?) → Redo Logs ● innodb_log_file_size ● InnoDB System Tablespace (ibdata1) ● InnoDB TS Konzept (innodb_file_per_table): ● alles im System TS (default bis 5.5) ● 1 Tablespace pro Tabelle (default ab 5.6) ● mehrere TS (ab 5.7) ● InnoDB: PK geclusterte Tabellen → IOT
  • 20. www.fromdual.com 20 / 28 Performance Tuning ● mysql> SHOW GLOBAL STATUS; ● PERFORMANCE_SCHEMA ● Slow Query Log ● slow_query_log = 1 ● long_query_time = 0.5 ● shell> mysqldumpslow ­s t slow.log > profile ● Query Execution Plan: mysql> EXPLAIN SELECT * FROM test;
  • 21. www.fromdual.com 21 / 28 Wichtigste Tuning-Parameter ● innodb_buffer_pool_size (default zu klein) ● innodb_log_file_size (defaults in 5.6 besser) ● innodb_flush_log_at_trx_commit (default langsam aber sicher) ● sync_binlog (default schnell aber unsicher) ● key_buffer_size (default zu klein für MyISAM DB) ● table_open_cache (default besser – gut mit 5.6) ● table_definition_cache (default besser – gut mit 5.6) ● query_cache_size (default off seit 5.6!) :-(
  • 22. www.fromdual.com 22 / 28 Monitoring von MySQL ● MySQL Enterprise Monitor (MEM) ● Oracle Cloud Contol (OEM/OMS) mit MySQL Plug-in ● 3rd Party Tools
  • 23. www.fromdual.com 23 / 28 Logging ● Error Log ● Fehler und Warnungen (log_warnings = 2) ● Slow Query Log ● „langsame“ Abfragen ● slow_query_log = ON ● long_query_time = 1.25 ● General Query Log ● „alle“ Abfragen ● general_query_log = ON
  • 24. www.fromdual.com 24 / 28 Hochverfügbarkeit ● Master/Slave Replikation ● Data-Guard ● aktiv/passiv Failover-Cluster ● dito ● Galera Cluster für MySQL ● Oracle RAC
  • 25. www.fromdual.com 25 / 28 MySQL Replikation ● MySQL Master/Slave Replikation ● Entspricht Oracle Data Guard ● Einsatz-Szenarien ● Hochverfügbarkeits-Anforde- rungen mittel bis hoch ● Failover typischerweise < 1 min → Failover-Slave ● Reporting-Slave ● Backup-Slave ● Massives Read-Scaleout ● Set-up ziemlich einfach ● Know-How ist weit verbreitet ● Man muss trotzdem wissen, was man tut! ● One-shot failover ● Google weiss Rat! async!
  • 26. www.fromdual.com 26 / 28 RAC: Galera Cluster App App App Load balancing (LB) Node 2 Node 3Node 1 wsrep Galera replication wsrep wsrep rwrw Oracle Real Application Cluster (RAC) ● MySQL: Galera Cluster ● Shared-Nothing Architektur
  • 27. www.fromdual.com 27 / 28 MySQL in der Cloud ● Ja geht! ● Sowohl in: ● Private Cloud ● Public Cloud ● Rechenzentrums-Übergreifend ● Kontinent-Übergreifend ● Aber auf Kosten von: ● Performance (Latenz, Noisy Neigbours) ● Preis (dafür Flexibilität) ● Vertraulichkeit
  • 28. www.fromdual.com 28 / 28 Q & A Fragen ? Diskussion? Wir haben Zeit für ein persönliches Gespräch... ● FromDual bietet neutral und unabhängig: ● Beratung ● Remote-DBA ● Support für MySQL, Galera, Percona Server und MariaDB ● Schulung www.fromdual.com/presentations