Professional Documents
Culture Documents
com
oli.sennhauser@fromdual.com
1 / 31
www.fromdual.com
Beratung fr MySQL Support fr MySQL und Galera Cluster Remote-DBA Dienstleistungen fr MySQL MySQL Schulungen
www.fromdual.com
2 / 31
Inhalt
HA Solutions MySQL fr Oracle DBAs
www.fromdual.com
Einsatz Read scale-out von MySQL Replication set-up Installation, Konfiguration, for HA Starten/Stoppen Active/passive Architektur, Storage fail-over Engines MySQL Cluster InnoDB Replication Cluster Monitoring, Logging Storage-Engine-Replication Backup, Restore, Point-in-Time-Recovery Replikation Hochverfgbarkeit RAC fr MySQL
3 / 31
www.fromdual.com
Facebook 1 Mia User, 72 M QPS Google Adwords, Mia Umsatz/Jahr (MOMF1) Wikipedia z. Zt. #6 weltweit BrseGo Online Brsenhandel Playboy Drupal CMS EMKA ERP, 1000 MA V-Zug Hybris Webshop Buch.de #2 online Buchhndler in D Kikxxl Callcenter, 1000 MA Integrics VoIP Lsungen, 1000e Anschlssen RePower zig 1000 Windmhlen
4 / 31
Installation
Oracle: OUI (Oracle Universal Installer)
www.fromdual.com
MySQL Linux:
Pakete: *.rpm, *.deb /usr/ /var/lib/mysql Binary Tar-Ball: mysql5.7.1linuxx86_64.tar.gz Quellen Kompilieren: cmake;make;makeinstall
5 / 31
MySQL Plattform
www.fromdual.com
85.7% Linux 10.5% Windows 1.7% Solaris 1.4% BSD 0.7% Others
Konfiguration
Oracle: $ORACLE_HOME/dbs/init<SID>.ora
www.fromdual.com
MySQL:
!includedir/etc/mysql/conf.d/ defaultsfile,defaultsextrafile
7 / 31
Konfigurations-Parameter
www.fromdual.com
my.cnf/my.ini mysql>SHOWGLOBALVARIABLES;
8 / 31
Starten / stoppen
Oracle: sqlplus/assysdbaSTARTUP
www.fromdual.com
MySQL Linux:
MySQL Windows
9 / 31
Tools
www.fromdual.com
Tools:
MySQL Workbench
10 / 31
Prozess-Architektur
www.fromdual.com
11 / 31
www.fromdual.com
12 / 31
Connections / Connectors
www.fromdual.com
Verbindung
In MySQL billig: oft KEIN Connection-Pooling 1 Verbindung = 1 Thread 1 Query 1 Core Thread Pool (1000e von Verbindungen) JDBC/ODBC PHP, Perl, Python, Ruby, .NET
Connectors:
13 / 31
www.fromdual.com
User
'oli'@'localhost' Unix Socket 'oli'@'127.0.0.1' TCP Port 'oli'@'%' TCP von berall her Global: *.*, pro Schema , pro Tabelle, pro Spalte Unabhngig vom User ( gehrt System)
Privilegien
Schema (= Database)
14 / 31
Storage Engines
Application / Client Thread Cache Connection Manager User Authentication Logging Query Cache Command Dispatcher Query Cache Module mysqld Optimizer Access Control Table Manager
www.fromdual.com
Parser
Table Open Cache (.frm, fh) Table Definition Cache (tbl def.)
MyISAM
InnoDB
Memory
NDB
Tokutek
Aria
Federated-X
...
15 / 31
www.fromdual.com
InnoDB: PK geclusterte Tabellen IOT InnoDB Buffer Pool (16k Block Buffer) REDO Logs: ib_logfile? (5M default)
16 / 31
Logging
www.fromdual.com
/var/log/mysql* general_log=1
17 / 31
Logisches Backup
Oracle: exp/imp (vor Datapump)
www.fromdual.com
18 / 31
Physisches Backup
www.fromdual.com
Links:
http://www.lenzg.net/mylvmbackup/
http://www.percona.com/doc/percona-xtrabackup
19 / 31
Binary Log
~ Oracle Archive Logs
www.fromdual.com
MySQL Binary-Log:
DDL + DML aller SE (nicht nur InnoDB)! Replikation Point-in-Time-Recovery (PiTR) Statement Based Replication (SBR) <= 5.0 Row Based Replication (RBR) ab 5.1 Transaction Based Replication (TBR) ab 5.6
fr:
3 Varianten:
20 / 31
Point-in-Time-Recovery (PITR)
Application Application Application binary log writer thread
www.fromdual.com
log_bin=on
mysqld
bin-log.1
bin-log.2
...
bin-log.n
21 / 31
MySQL Replikation
www.fromdual.com
MySQL Basis-Fuktionalitt Sehr einfach aufzusetzen (5 min) Streaming-Replication (kein Log Shipping) Basiert auf MySQL Binary Logs Braucht:
Unique server_id (Master und Slave) (restart) Binary Loggin auf Master einschalten (restart) Replikations-User Konsistentes Backup + Binary Log Position
22 / 31
www.fromdual.com
IO_ thread
Master
Slave
SQL_ thread
Wir brauchen:
...
bin-log.m
bin-log.n
...
relay-log.m
relay-log.n
Binary Log Server Id User fr die Replikation (auf dem Master) Konsistentes Backup MIT Binary Log Position
23 / 31
www.fromdual.com
Load balancer
24 / 31
www.fromdual.com
Node 1
wsrep
Node 2
wsrep
Node 3
wsrep
Galera replication
Shared-Nothing Architektur
25 / 31
www.fromdual.com
Hardware-Ausfall Wartungsarbeiten
App
App
App
HW/OS/DB Upgrade
Node 1
wsrep
Node 2
wsrep
Node 3
wsrep
Galera replication
26 / 31
Monitoring
www.fromdual.com
OEM/DBC/Grid-Control/Cloud-Control MySQL Enterprise Monitor (MEM) MySQL Performance Monitor (mpm) mysql>SHOWGLOBALSTATUS; Nagios / Icinga Links:
http://www.mysql.com/products/enterprise/monitor.html http://www.fromdual.com/mysql-performance-monitor http://www.fromdual.com/download#nagios
27 / 31
Performance Tuning
www.fromdual.com
28 / 31
Stored Programs
Oracle: PL/SQL, Java
www.fromdual.com
MySQL:
Stored Procedures Stored Functions User Defined Functions (UDF): C/C++ Plugin: C/C++
29 / 31
Volltext-Suche
Oracle: Kostenpflichtiges Modul?
www.fromdual.com
ALTER TABLE test ADD FULLTEXT INDEX (data); SELECT * FROM test WHERE MATCH data AGAINST('DBA'); +----+----------------------------------------+ | id | data | +----+----------------------------------------+ | 1 | Wir suchen zur Zeit einen Support DBA! | +----+----------------------------------------+
30 / 31
Q&A
Fragen ? Diskussion?
www.fromdual.com
Beratung Remote-DBA Support fr MySQL, Galera, Percona Server und MariaDB Schulung
www.fromdual.com/presentations
31 / 31