MySQL/MariaDB für. nicht-mysql DBAs

Ähnliche Dokumente
MySQL für Oracle DBA's

MySQL für Oracle DBA's

MySQL für Oracle DBA's

MySQL für Oracle DBAs

MySQL Architekturen für Oracle DBA's

MySQL für Oracle DBAs

MySQL Beispiele aus der Praxis. Wie setzen Kunden MySQL ein?

MySQL Backup und Restore

MySQL-Server im Teamwork - Replikation und Galera Cluster

MySQL Architektur die Admin-Sicht

MySQL Security. DOAG 2013 Datenbank. 14. Mai 2013, Düsseldorf. Oli Sennhauser

MySQL, Wohin gehst Du?

MySQL Konfiguration - die wichtigsten Parameter

MySQL für Oracle DBAs

Performance Tuning & Scale-Out mit MySQL

MySQL für Oracle DBAs

MySQL Cluster mit Galera

MySQL-Server im Teamwork - Replikation und Cluster

Synchrone multi-master Replikation für MySQL

Backup und PiTR mit MySQL

MySQL Performance Tuning

MySQL Beispiele aus der Praxis. Wie setzen Kunden MySQL ein?

MySQL Replikation Neue Features in 5.5 und 5.6

FromDual bietet neutral und unabhängig:

MySQL Replikation für Einsteiger

MySQL-Auswahl auch gegen die Distribution

MySQL Replikation. Erkan Yanar linsenraum.de linsenraum.de

HA Architekturen mit MySQL

MySQL Backup/Recovery

MySQL Replikation, Scale-Out, Master- Master Replikation, Backup

Weltweite Produktionsdatenverwaltung mit MySQL-Replikation

MySQL High Availability. DOAG 2013 Datenbank. 14. Mai 2013, Düsseldorf. Oli Sennhauser

Galera Cluster - Lessons learned Linux höchstpersönlich.

MySQL Administration. Seminarunterlage. Version 3.02 vom

MySQL HA & Security SLAC Juni 2013, Berlin. Oli Sennhauser

Sicherheitsrelevante Änderungen (und einige andere) in MySQL 5.7

MySQL Replikation - Die Eier legende Wollmilchsau?

MySQL Replikation und GTID

MySQL Performance Tuning für Entwickler

MariaDB und Galera. Chemnitzer Linux-Tage März Ralf Lang Linux Consultant & Developer B1 Systems GmbH

MySQL Replikation für Einsteiger

Making Innodb a HA SE: Galera

MySQL Replikation für Einsteiger

MySQL Performance Tuning

MySQL Architekturen für Oracle DBA's

MySQL New Features 5.6

RPM-Konventionen - ein moderner Turm von Babel

Konsolidieren von MySQL Landschaften

Grundlagen der PostgreSQL Administration

Online-Schema-Updates - Qualität & Quantität

Newsletter 3/2014 August

Partitionieren über Rechnergrenzen hinweg

Ablösung von Oracle-Datenbanken mit PostgreSQL oder MariaDB. Präsentation 23. Juni 2016

MySQL 5.7. Neue Funktionen

Übersicht Streams nach Liste Produkte/Themen

MySQL Cluster und MySQL Proxy

Minimal Downtime Oracle 11g Upgrade. DOAG Konferenz 2010 Martin Decker

5000 User+, Erfahrungen im Produktivbetrieb einer Saas-DB. DOAG 2011 Konferenz + Ausstellung Bernhard Vogel & Frank Szilinski, esentri

<Insert Picture Here> Überblick Oracle Recovery Manager

Lutz Fröhlich. Oracle ng. mitp

Installation MySQL Replikationsserver

Backup. Christian Inauen. Theorie. Praxis. Backup. Werkzeuge. Point-in-time Restore. ..bei MySQL

Foglight Performance Analysis for Oracle

Erstes 11gR2 Patchset: Änderungen und Neuigkeiten. Dierk Lenz 27. Oktober 2010 DOAG Regio NRW

MySQL Backup- und Recovery-Strategien

Erstes 11gR2 Patchset: Änderungen und Neuigkeiten. Dierk Lenz 9. Juni 2011 DOAG Regio Rhein-Neckar

Archive / Backup System für OpenVMS

Oracle ACFS / CloudFS zuverlässig nutzbar?

Kostenoptimierte Cloud-Administration mit Solaris Container Technologie

MySQL sicher aufsetzen und betreiben

MySQL Security für Oracle DBAs

RAC mit Oracle 10g Standard Edition und ASM

Oracle Flashback. in der Praxis Dr. Frank Haney 1

HandlerSocket und ähnliche Technologien - NoSQL für MySQL

MySQL New Features 5.6

APEX (Hoch) Verfügbar? Ernst Leber

Erfahrungen aus dem Betatest Oracle Database 11g

Rapid Deployment mit JomaSoft VDCF

Installationsanleitung für die netzbasierte Variante Ab Version 3.6. KnoWau, Allgemeine Bedienhinweise Seite 1

MySQL Cluster. Kai Voigt MySQL AB Kiel, 17. Februar 2006

Das Lern-Management System (LMS) StudIP an der Universität Osnabrück

Oracle Database 12c: RAC Administration

Freiberuflicher IT-Berater Schwerpunkte: Unix, Oracle, Netzwerk. IT-Berater. Dipl.-Inform.

Weblogic 12.2 und DB 12.2 das perfekte Duo

Datenbankadministration - Handreichung zur Präsentation

Quest Central for Oracle

Cloud Control und die Datenbank

The Unbreakable Database System

HERZLICH WILLKOMMEN. Oracle Fail Safe ein Review Martin Schmitter 17. Oktober 2012

In Nullkommanix zur Datenbank in der eigenen Cloud

WebLogic Server für Dummies

Datenbankspiegelung mit (Active) Data Guard. und Abgrenzung

Im Vergleich: Hochverfügbarkeitslösungen für die MySQL -Datenbank

Die InnoDB Storage Engine. Handy aus?

Ist die Standard Edition noch einsetzbar? Dierk Lenz DOAG 2015 Konferenz

ODA Erfahrungen und Neuigkeiten

Transkript:

MySQL/MariaDB für nicht-mysql DBAs IT-Tage 2016, Frankfurt am Main Oli Sennhauser Senior MySQL Consultant, FromDual GmbH oli.sennhauser@fromdual.com 1 / 28

Über FromDual GmbH Support Beratung remote-dba Schulung 2 / 28

Inhalt MySQL/MariaDB für nicht-mysql DBAs Geschichte von MySQL/MariaDB Installation MySQL Architektur Konfiguration User, Schema und Privilegien Tablespaces Backup, Restore und Recovery (PiTR) Patchen und Upgraden Logging Monitoring Performance Tuning Hochverfügbarkeit (HA) 3 / 28

Wie wichtig ist MySQL? Welche DB Systeme habt Ihr im Einsatz? MySQL + MariaDB = 1416.24 #1!!! http://db-engines.com/en/ranking 4 / 28

Geschichte von MySQL 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 kauft Sun für USD 6 Mia, 2009 MySQL und InnoDB jetzt vereint! Bis hier hin ist die Welt noch in Ordnung... 5 / 28

Branches und Forks MySQL ist Open Source (GPL) d. h. jede/r darf selber fummeln... Branches und Forks 5.0 Dec 2008 XtraDB = InnoDB Branch Percona Build Percona Server 5.1 5.5 5.6 5.7 8.0? MySQL May 2009 MariaDB: MySQL Branch 10.0 10.1 10.2 2012 MariaDB 10.x Fork? Replikation, Optimizer, Parser, Storage Engines... Babylonische Sprachverwirrung steht uns bevor :-( Sybase ASE vs. MS SQL Server Ingres vs. PostgreSQL 6 / 28

GPL, Subskriptionen MySQL und MariaDB stehen unter GPL NICHT Lizenzgebühren sonder Support Abos (= Subskription) Ausnahmen: MySQL Commercial Edition (OEM, ISV, VAR) bei GPL Verletzungen MariaDB MaxScale 2.0 BSL Support Oracle, MariaDB Dritt-Anbieter: z.b. FromDual :-) Open Source bedeutet auch: Freiheit Support Partner zu wählen Jeder Partner hat seine Produkt-Präferenzen... :-) 7 / 28

MySQL Plattform 85.7% Linux 10.5% Windows 2.2% BSD (+Mac) 0.9% Solaris 0.7% Andere Exotische Plattformen führen wahrscheinlich eher zu Problemen! 8 / 28

Linux Distributionen Fedora RHEL/CentOS 6.x MySQL 5.1 7.x MariaDB 5.5 OpenSuSE SLES 11 MySQL 5.1 12 MariaDB 10.0 Ubuntu 14.04 MySQL 5.5 (auch MariaDB, aber nicht default) 16.04 MySQL 5.7 (auch MariaDB, aber nicht default) Debian 7 MySQL 5.5 (auch MariaDB, aber nicht default) 8 MySQL 5.5 (auch MariaDB, aber nicht default) Pakete und Repositories von MySQL oder MariaDB 9 / 28

Installation Windows: MySQL Installer MySQL Linux: Repository wählen Pakete (Hersteller oder Distribution): apt get install mysql server yum install mariadb server Binary Tar-Ball: tar xf mysql 5.7.17 linux x86_64.tar.gz Dann weiter von Hand (PATH, etc.) 10 / 28

Starten und Stoppen Zur Zeit ein grosses Problem: Init-System! SysV Upstart SystemD Noch nicht alles perfekt... :-( MySQL/MariaDB automatisch: in Boot-Prozess eingebunden Von Hand: service mysql [start stop] systemctl [start stop] mysql Prüfen: ps ef grep mysqld Alles andere (service mysql status) lügt potentiell! Killen von Hand (nett, dann hart): kill TERM <pid>; kill KILL <pid> Obacht bei NICHT crash-safen Storage Engines (MyISAM)! Achtung: Distro-Start/Stop-Skripte (Debian) potentiell schlecht (10s timeout)! 11 / 28

MySQL Architektur Application / Client Port: 3306 SQL Layer Connection Manager Command Dispatcher Query Cache Module mysqld Optimizer Access Control Table Manager Parser Plug-in API Galera User Authentication Thread- Pool Handler Interface Audit MyISAM InnoDB Memory Archive RocksDB Aria XtraDB Federated-X 12 / 28

Konfiguration MySQL Konfigurationsdatei: my.cnf oder my.ini (Win) Liegt unter: /etc/ oder /etc/mysql Änderung in my.cnf Restart oder SET GLOBAL variable = wert; von Hand in my.cnf schreiben! Gutes my.cnf Template: http://fromdual.com/mysql-configuration-file-sample 13 / 28

Wichtigste Variablen Neue MySQL 5.7 defaults sind OK! SQL Layer table_open_cache (2000, r/w) table_definition_cache (1400, r/w) query_cache_type/query_cache_size OFF :-( (ro) InnoDB innodb_buffer_pool_size (80% vom RAM, r/w Performance) innodb_log_file_size (256-512M, w-performance) innodb_flush_log_at_trx_commit 1 vs 2 (w-performance) MyISAM / Aria key_buffer_size (25% RAM, r/w) aria_pagecache_buffer_size (25% RAM, r/w) 14 / 28

MySQL User Account = User @ {Host Domain} Beispiele: 'root'@'localhost' 'root'@'127.0.0.1' 'root'@'192.168.1.1' 'root'@'%' Host: 127.0.0.1!= localhost 127.0.0.1 lokales TCP/IP Interface localhost lokaler UNIX File-Socket Host: Quell von der ich kommen darf 15 / 28

Schema und Privilegien Schema (= Database) Objekte unabhängig vom User ( gehört System) User hat nur Rechte (Privilegien) auf Objekte Privilegien SELECT, UPDATE, INSERT, DELETE, ALTER, etc. Global: *.* Schema: test.* Tabelle: test.test Spalte: (col) ON test.test Rollen: MariaDB 10.0, MySQL 5.7 (Proxy User), MySQL 8.0 16 / 28

Tablespaces (TS) Bis MySQL 5.6: Alles oder Nichts innodb_file_per_table = { 0 1 } 0 alle Tabellen im System Tablespace (ibdata1) Problematisch bei grossen Instanzen 1 jede Tabelle in eigenem Tablespace (*.ibd) Problematisch bei Instanzen mit vielen (> 10k) Tabellen Ab MySQL 5.7 General Tablespaces: multi-mandanten SaaS Installationen CREATE TABLESPACE customer0001 ADD DATAFILE 'customer0001.ibd' ENGINE = InnoDB; ALTER TABLE customer0001.invoices TABLESPACE = customer0001; 17 / 28

Backup / Restore Logisch vs. physisch Logisches Backup mit mysqldump (exp/imp) Physisches Backup mit Percona Xtrabackup oder MySQL Enterprise Backup (MEB) (rman) Backup: logisch: mysqldump > full_dump.sql physisch: mysqlbackup backup and apply log Restore: logisch: mysql < full_dump.sql physisch: mysqlbackup copy back 18 / 28

Point-in-Time-Recovery (PITR) Application mysqld bin-log.1 bin-log.2... bin-log.n file/pos full backup 02:00 14:00 t 19 / 28

Point-in-Time-Recovery Binary-Log für Point-in-Time-Recovery Binary-Log einschalten log_bin = binary log erfordert DB Neustart ~ Oracle Archive Log / MS SQL Transaction Log (aber nur ähnlich!) Bei Backup: Binary-Log und Position merken PiTR: mysqlbinlog start position=45678 stopdatetime=... binary log.000042... 20 / 28

Patchen und Upgrade 2 Varianten: Dump/Restore (logical upgrade) (5 TB DWH?) Binary-Upgrade (in-place upgrade) (seit 5.5 supportet) Vorgehen (ca. 15 min): SET GLOBAL innodb_fast_shutdown = 0; DB stoppen alte Pakete deinstallieren neue Pakete installieren DB starten mysql_upgrade Major Releases NICHT überspringen (5.5 -X-> 5.7) 21 / 28

Upgrade Info Oracle CPU (4 x pro Jahr: Jan, Apr, Jul, Okt) MySQL Change History http://dev.mysql.com/doc/relnotes/mysql/5.7/en/ What is new in MySQL 5.7 http://dev.mysql.com/doc/refman/5.7/en/mysql-nutshell.html Übersicht FromDual: http://fromdual.com/security 22 / 28

Logging Error Log Start/stop-Meldungen, Fehler, Warnungen An per default, ins Logfile oder nach Syslog Slow Query Log Langsame Abfragen für Performance Tuning Dynamisch ein- und ausschalten General Query Log Alle Abfragen für allg. Systemuntersuchungen Dynamisch ein- und ausschalten 23 / 28

Monitoring Gängige Monitoring Lösungen: MySQL Enterprise Monitor Oracle Cloud Control Plug-in für MySQL FromDual Performance Monitor für MySQL/MariaDB (Zabbix) Nagios Plug-ins (FromDual) etc. Egal welches Tool, Hauptsache wir sehen was (= das Richtige)!!! Monitoring is a full-time job! 24 / 28

Performance Tuning SHOW GLOBAL VARIABLES; SHOW GLOBAL STATUS; SHOW ENGINE INNODB STATUS\G SHOW [FULL] PROCESSLIST; PERFORMANCE_SCHEMA (seit MySQL 5.6) Slow Query Log Query Execution Plan: EXPLAIN SELECT * FROM test; 25 / 28

MySQL Replikation (HA) MS SQL Server: Alwyas On Oracle: Data-Guard Async oder semi-sync! 26 / 28

Galera Cluster (HA) Oracle Real Application Cluster (RAC) Hardware-Ausfall Wartungsarbeiten HW/OS/DB Upgrade SW Upgrade!?! 5x9 HA: 99.999% App App App Load balancing (LB) Node 1 Node 2 Node 3 wsrep wsrep wsrep Galera replication 27 / 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 und MariaDB Schulung /presentations 28 / 28