MySQL - testmiljöer på minuter. Thomas Johansson IT-avdelningen

Relevanta dokument
Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Databasens består av: Tabell Kolumner fält Rader poster (varje post är unik)

Labb LIVE. Exempelkod från föreläsningen. Plushögskolan Frågeutveckling inom MSSQL - SU14

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Filbeskrivningar Eller på särskild CD skiva

DDL Kommandon CREATE/DROP Database CREATE /ALTER/DROP Table ALTER/ADD/DROP Column CREATE /ALTER/DROP Index

Övningar i SQL. SQLAccess.doc Ove Lundgren

LEX INSTRUKTION - REPLIKERING

Dokumentation för VLDIT AB. Online classroom

SQLs delar. Idag. Att utplåna en databas. Skapa en databas

FactoryCast HMI. Premium & Quantum PLC. MySQL Server och FactoryCast HMI databastjänst

LEX INSTRUKTION REPLIKERING UPPGRADERING

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

INSTALLATION...3 ATT KOMMA IGÅNG...3 PROGRAMMETS DESIGN...4 LÄGGA TILL TABELL...4 EDITERA TABELL...4 EDITERA RELATION...5 SPARA OCH AVSLUTA...

1.Lär känna MS SQL Observera. Tips. Förberedelse

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

WCMS-15, Webbutvecklare CMS

Skapa exempeldatabasen

Labb LABB 1. Databassagan och en rundtur i databasers märkliga värld. Plushögskolan Frågeutveckling inom MSSQL - SU14

Idag. Hur skapar vi och underhåller en databas? DD1370 (Föreläsning 4) Databasteknik och informationssystem 7,5 hp Hösten / 20

Installation av Virtualiseringsplattform

TER3. Försättsblad till skriftlig tentamen vid Linköpings universitet G28 TEN1 Webprogrammering och databaser Tentamen IDA 1 (7)

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter

Lär känna MS SQL 2008 / Övning. Observera. Tips. Förberedelse

TENTAMEN DATABASKUNSKAP ITEK12

Nya webbservern Dvwebb.mah.se

W i n T i. Uppgradering till version HRM

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Administrationsmanual ImageBank 2

MySQL. Maths Göthe. 25 februari Inledning Några konventioner Licens... 2

För att kunna byta till online licens (man kan alltid byta tillbaka) så behöver man ha några saker redo innan man börjar denna guide.

Databaser - Design och programmering. Kursöversikt. Exempel: telefonbok. Varför databaser?

För att XCOPY i SQL Server Express ska fungera måste data och logg ligga i samma mapp, vilket naturligtvis inte är så bra.

Starta MySQL Query Browser

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

! Teori och praktik. ! Ändringar från förra året. ! Examination (tenta, projekt) LiU. ! Varför ni? ! Varför överhuvudtaget? LiU

Administrationsmanual ImageBank 2

1. SQL DDL (Data Definition Language) 2. Skapa tabell

Sample exam questions. Database exam TIG058

Trafla databasen vi hämtar data från (remote export) ligger på en godtycklig maskin i nätverket. Den här databasen är en MIMER databas.

Spara papper! Skriv inte ut sammanfattning utan ladda ner PDF!

Installation av F13 Bråvalla

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

D1. Create Domain TEXT30 char(30) Default INGET VÄRDE! ;

Installera din WordPress med 9 enkla steg

emopluppen Installationsmanual

Uppstart Inloggning SSMS Skapa Databas Skapa Tabell Skapa Diagram, Fk, RI Hantering av Index, Pk, Fk, Ix Constraints Beräknande fält Några funktioner

Använd ArcGIS Pro med enanvändar eller fleranvändarlicenser

WooCommerce at scale

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Handbok SSCd. Peter H. Grasch

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Funktionsbeskrivning

Taking Flight! Migrating to SAS 9.2!

Support Manual HoistLocatel Electronic Locks

Skapa din egen MediaWiki

Introduktion till Jasmine 1.2 ODQL

ÖVERVAKNING AV SQL SERVER

1. Log on to the system using the user ide and password ide. 2. Copy the file /etc/ca-certificates.conf to the home directory of the user.

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Structured query language (SQL)

Quick Start Guide Snabbguide

Databaser - Design och programmering

2.45GHz CF Card Reader User Manual. Version /09/15

ADFS som IdP i SWAMID

Du skall naturligtvis visa körexempel med output där det behövs i din rapport!

Informa5onsmodellering

Switch- och WAN- teknik. F2: Kapitel 3 och 4

732G16: Databaser - Design och programmering

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Referenshanteringsprogrammet

1. SQL DML (Data Manipulation Language) 2. Lägga till data. 4. Uppdatera data 5. Aktivera default value 6. Hantera datum 7.

Från Excel laddningar till web arbetsflöden

Release notes for Permobil R-net PC-programmer ver Dealer access level

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Rev C SE, GB. Manual Gewa Control Tool

Databaser och Datamodellering Foreläsning IV

Databasutveckling Introduktion till SQL och TSQL

Innan du startar installationen kontrollera att din dator uppfyller systemkraven, se System requirements:

Installationsanvisning Boss delad databas

TIDOMAT Portal Nyheter för TIDOMAT Portal version 1.3.1

Anvisning Tjänsteplattformen Driftsättning av Virtualiseringsplattformen

Installationsmanual ImageBank 2

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Uppgradera till ArcGIS for Desktop 10.3

Design och underhåll av databaser

Ny installation...2. Översikt...2. Filer som behövs...2. Installera SQL Server Express (om det behövs)...3. Skapa en databas i SQL Server...

Innehåll. MySQL Grundkurs

Innehåll MySQL Intro. Historik / Utveckling Produkter Primära delsystem Installation Tabell och datatyper Namnsättning

DIG IN TO. Nätverksadministration

Ladda upp filer fra n PLC till PC

Labb LABB 14. Live demo exempeldata. Plushögskolan Frågeutveckling inom MSSQL - SU14

Disposition. 1. Kopplingen mellan Processanalys (DFDdiagram) 2. Treskikts Client-Server arkitektur (Fig 1.8) 3. Data layer

Windows 8 och det nya arbetslivet. Magnus Holmér IT strategisk rådgivare

I denna laboration skriver jag inte ut resultatet på de flesta frågorna utan du kör dem själv i din miljö.

Prova på-laboration i SQL

Transkript:

MySQL - testmiljöer på minuter Thomas Johansson IT-avdelningen 1

Kort presentation! MySQL-DBA Unix-gubbe sedan 90-talet 2

Testmiljöer för MySQL För att testa innan uppgradering För att testa uppgradering För att leta buggar 3

Testmiljöer för MySQL För att testa innan uppgradering För att testa uppgradering För att leta buggar men tyvärr Tröttsamt med massor av maskiner med RPM-installationer Tröttsamt att hålla koll på alla miljöer 4

Testmiljöer för MySQL För att testa innan uppgradering För att testa uppgradering För att leta buggar men tyvärr Tröttsamt med massor av maskiner med RPM-installationer Tröttsamt att hålla koll på alla miljöer Lyckligtvis har någon gjort det enkelt för oss! 5

dbdeployer! Tack Giuseppe Maxia! 6

dbdeployer! Tack Giuseppe Maxia! MySQL-sandbox har funnits i många år Skrivits om ifrån perl till Go och blev dbdeployer https://github.com/datacharmer/dbdeployer 7

Tok-enkelt Slanga hem dbdeployer https://github.com/datacharmer/dbdeployer/releases/download/1.14.0/dbdeployer-1.14.0.linux.tar.gz 8

Tok-enkelt Slanga hem dbdeployer https://github.com/datacharmer/dbdeployer/releases/download/1.14.0/dbdeployer-1.14.0.linux.tar.gz Slanga hem MySQL https://dev.mysql.com/get/downloads/mysql-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz 9

Tok-enkelt Slanga hem dbdeployer https://github.com/datacharmer/dbdeployer/releases/download/1.14.0/dbdeployer-1.14.0.linux.tar.gz Slanga hem MySQL https://dev.mysql.com/get/downloads/mysql-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz Installera tar xzf dbdeployer-1.14.0.linux.tar.gz && mv dbdeployer-1.14.0.linux ~/bin/dbdeployer 10

Tok-enkelt Slanga hem dbdeployer https://github.com/datacharmer/dbdeployer/releases/download/1.14.0/dbdeployer-1.14.0.linux.tar.gz Slanga hem MySQL https://dev.mysql.com/get/downloads/mysql-8.0/mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz Installera tar xzf dbdeployer-1.14.0.linux.tar.gz && mv dbdeployer-1.14.0.linux ~/bin/dbdeployer Deploy dbdeployer unpack mysql-8.0.12-linux-glibc2.12-x86_64.tar.xz dbdeployer unpack mysql-8.0.13-linux-glibc2.12-x86_64.tar.xz dbdeployer deploy single 8.0.12 dbdeployer deploy --topology=group replication 8.0.13 11

Använda sandlådorna Kolla replikeringen [thomas@wintermute ~]> sandboxes/group_msb_8_0_12/check_nodes # Node 1 # select * from performance_schema.replication_group_members +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ CHANNEL_NAME MEMBER_ID MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ group_replication_applier 00021213-1111-1111-1111-111111111111 127.0.0.1 21213 ONLINE PRIMARY 8.0.12 group_replication_applier 00021214-2222-2222-2222-222222222222 127.0.0.1 21214 ONLINE PRIMARY 8.0.12 group_replication_applier 00021215-3333-3333-3333-333333333333 127.0.0.1 21215 ONLINE PRIMARY 8.0.12 +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ # Node 2 # select * from performance_schema.replication_group_members +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ CHANNEL_NAME MEMBER_ID MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ group_replication_applier 00021213-1111-1111-1111-111111111111 127.0.0.1 21213 ONLINE PRIMARY 8.0.12 group_replication_applier 00021214-2222-2222-2222-222222222222 127.0.0.1 21214 ONLINE PRIMARY 8.0.12 group_replication_applier 00021215-3333-3333-3333-333333333333 127.0.0.1 21215 ONLINE PRIMARY 8.0.12 +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ # Node 3 # select * from performance_schema.replication_group_members +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ CHANNEL_NAME MEMBER_ID MEMBER_HOST MEMBER_PORT MEMBER_STATE MEMBER_ROLE MEMBER_VERSION +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ group_replication_applier 00021213-1111-1111-1111-111111111111 127.0.0.1 21213 ONLINE PRIMARY 8.0.12 group_replication_applier 00021214-2222-2222-2222-222222222222 127.0.0.1 21214 ONLINE PRIMARY 8.0.12 group_replication_applier 00021215-3333-3333-3333-333333333333 127.0.0.1 21215 ONLINE PRIMARY 8.0.12 +---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+ 12

Använda sandlådorna Finns script i varje nod eller grupp som skapats ~/sandboxes/group_msb_8_0_12/n1 nod 1 i gruppen ~/sandboxes/group_msb_8_0_12/n2 nod 2 i gruppen node1 [localhost:21213] {msandbox} ((none)) > create schema thomas default character set utf8mb4; node1 [localhost:21213] {msandbox} ((none)) > use thomas; node1 [localhost:21213] {msandbox} (thomas) > create table junk (stuff varchar(255)); node1 [localhost:21213] {msandbox} (thomas) > insert into junk(stuff) values('hehe!'); ERROR 3098 (HY000): The table does not comply with the requirements by an external plugin. node2 [localhost:21214] {msandbox} (thomas) > alter table junk add column id int primary key; node1 [localhost:21213] {msandbox} (thomas) > insert into junk(id, stuff) values(1, 'Hehe!'); node3 [localhost:21215] {msandbox} (thomas) > select * from junk; +-------+----+ stuff id +-------+----+ Hehe! 1 +-------+----+ 1 row in set (0.00 sec) 13

Prova uppgraderingar Installera en 8.0.12 [thomas@wintermute ~]> dbdeployer deploy single 8.0.12 Database installed in $HOME/sandboxes/msb_8_0_12 run 'dbdeployer usage single' for basic instructions' 14

Prova uppgraderingar Installera en 8.0.12 [thomas@wintermute ~]> dbdeployer deploy single 8.0.12 Database installed in $HOME/sandboxes/msb_8_0_12 run 'dbdeployer usage single' for basic instructions' Installera en 8.0.13 [thomas@wintermute ~]> dbdeployer deploy single 8.0.13 Database installed in $HOME/sandboxes/msb_8_0_13 run 'dbdeployer usage single' for basic instructions'. 15

Prova uppgraderingar Installera en 8.0.12 [thomas@wintermute ~]> dbdeployer deploy single 8.0.12 Database installed in $HOME/sandboxes/msb_8_0_12 run 'dbdeployer usage single' for basic instructions' Installera en 8.0.13 [thomas@wintermute ~]> dbdeployer deploy single 8.0.13 Database installed in $HOME/sandboxes/msb_8_0_13 run 'dbdeployer usage single' for basic instructions'. Kör uppgraderingen [thomas@wintermute ~]> dbdeployer admin upgrade msb_8_0_12 msb_8_0_13 [ -- 8< snip! 8< --] msb_8_0_12 is not operational and can be deleted 16

Prova uppgraderingar Installera en 8.0.12 [thomas@wintermute ~]> dbdeployer deploy single 8.0.12 Database installed in $HOME/sandboxes/msb_8_0_12 run 'dbdeployer usage single' for basic instructions' Installera en 8.0.13 [thomas@wintermute ~]> dbdeployer deploy single 8.0.13 Database installed in $HOME/sandboxes/msb_8_0_13 run 'dbdeployer usage single' for basic instructions'. Kör uppgraderingen [thomas@wintermute ~]> dbdeployer admin upgrade msb_8_0_12 msb_8_0_13 [ -- 8< snip! 8< --] msb_8_0_12 is not operational and can be deleted Kolla loggen i den uppgraderade instansen! [thomas@wintermute ~]> sandboxes/msb_8_0_13/show_log 17

Alternativa installationer Deploy multiple [thomas@wintermute ~]> dbdeployer deploy multiple -n 4 8.0 # 8.0 => 8.0.13 Installing and starting node 1 Installing and starting node 2 Installing and starting node 3 Installing and starting node 4 multiple directory installed in $HOME/sandboxes/multi_msb_8_0_13 run 'dbdeployer usage multiple' for basic instructions' 18

Alternativa installationer Deploy multiple [thomas@wintermute ~]> dbdeployer deploy multiple -n 4 8.0 # 8.0 => 8.0.13 Installing and starting node 1 Installing and starting node 2 Installing and starting node 3 Installing and starting node 4 multiple directory installed in $HOME/sandboxes/multi_msb_8_0_13 run 'dbdeployer usage multiple' for basic instructions' Deploy med särskilda config options [thomas@wintermute ~]> dbdeployer deploy single 8.0 --my-cnf-options="binlog_format=statement" # 8.0 => 8.0.13 Database installed in $HOME/sandboxes/msb_8_0_13 run 'dbdeployer usage single' for basic instructions' [thomas@wintermute ~]> dbdeployer deploy multiple n 2 8.0 --my-cnf-options="binlog_format=statement... [thomas@wintermute ~]> dbdeployer deploy help... --post-grants-sql strings SQL queries to run after loading grants --post-grants-sql-file string SQL file to run after loading grants --pre-grants-sql strings SQL queries to run before loading grants --pre-grants-sql-file string SQL file to run before loading grants --remote-access string defines the database access (default "127.%") 19

Underhåll sandlådorna ~/.dbdeployer/sandboxes.json & ~/sandboxes/<sandbox>/node1/sbdescription.json All information om sandlådorna inklusive hur dom skapats! "node_num": 1, "dbdeployer-version": "1.14.0", "command-line": "dbdeployer deploy multiple -n 4 8.0 20

Underhåll sandlådorna ~/.dbdeployer/sandboxes.json & ~/sandboxes/<sandbox>/node1/sbdescription.json All information om sandlådorna inklusive hur dom skapats! "node_num": 1, "dbdeployer-version": "1.14.0", "command-line": "dbdeployer deploy multiple -n 4 8.0 Status på sandlådan [thomas@wintermute ~]> sandboxes/multi_msb_8_0_13/status_all MULTIPLE /home/thomas/sandboxes/multi_msb_8_0_13 node1 : node1 on - port 25314 (25314) node2 : node2 on - port 25315 (25315) node3 : node3 on - port 25316 (25316) node4 : node4 on - port 25317 (25317) 21

Underhåll sandlådorna ~/.dbdeployer/sandboxes.json & ~/sandboxes/<sandbox>/node1/sbdescription.json All information om sandlådorna inklusive hur dom skapats! "node_num": 1, "dbdeployer-version": "1.14.0", "command-line": "dbdeployer deploy multiple -n 4 8.0 Status på sandlådan [thomas@wintermute ~]> $HOME/sandboxes/multi_msb_8_0_13/status_all MULTIPLE /home/u0023102/sandboxes/multi_msb_8_0_13 node1 : node1 on - port 25314 (25314) node2 : node2 on - port 25315 (25315) node3 : node3 on - port 25316 (25316) node4 : node4 on - port 25317 (25317) Dags att rensa [thomas@wintermute ~]> dbdeployer delete msb_8_0_13 [thomas@wintermute ~]> dbdeployer delete ALL 22

Det var allt! Allt jag pratat om finns på https://github.com/datacharmer/dbdeployer Fler script, förslag och exempel https://github.com/datacharmer/dbdeployer/tree/master/cookbook 23