• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Breadcrumb

  • Hjem
  • forums
  • MySQL syntaks

Snak med

Opret dig!

Af peque | 15.07.2019 09:49

MySQL syntaks

Hjælp generelt
Hej Gruppe.
Jeg ville høre om en der kunne forklare mig dette issue jeg har her.
Jeg har 3 Databaser som jeg replikerer hjem.Men har et problem omkring selve replikeringen jeg ikke lige kan oiverse.

Normalt arbejder jeg via Workbench eller MySQL konsol.
Når jeg udfører følgende statement i myssql konsol:

INSERT INTO Operational_Data.Repl_Test(ID,Number) VALUES ('1','2');

Indsættes data og der replikeres fra Master til Slave.
Udfører jeg denne kommando fra Workbench - Indsættes data - MEN der replikeres ikke
Bruger jeg istedet disse kommandoer fra Workbench:

Use Operational_Data
INSERT INTO Repl_Test(ID,Number) VALUES ('1','2');

Indsættes data og der replikeres data videre.

Nu er det således at jeg vil mene det er 2 ens kommandoer, og alligevel ikke.
Der er lavet et webinterface der skal indsætte data i DB og dette skal replikeres hjem. og har ud fra dette fundet frem til dette problem, Men jeg skal indrømme at jeg ikke kan se hvorfor der er forskel på disse 2 kommandoer reelt
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer6

# 1

5 år 11 måneder siden

Permalink

Indsendt af mich den 17. juli 2019 kl. 02:10

Permalink

Re: MySQL syntaks

Nu er jeg ikke nogen SQL-haj, men har dog brugt det af og til.
Dit sidste eksempel (Workbench) ligner mere noget, jeg genkender, mens det første (MySQL konsol) med sin . notation mere ligner et interface fra Pascal eller lign.

For det første vil jeg sige, at du ikke kan forvente samme syntaks fra forskellige interfaces, og for det andet ville jeg bruge den syntaks, der virker alle, eller de de fleste steder, hvis jeg skulle vælge. Ingen grund til at gøre det forskelligt, hvis den samme syntaks virker.

  • Log ind eller opret dig for at tilføje kommentarer

# 2

5 år 11 måneder siden

Permalink

Indsendt af Prezioso den 17. juli 2019 kl. 14:52

Permalink

Evt oplys version af mysql /

Evt oplys version af mysql / workbench.
Jeg er ret sikker på begge dele burde virke begge steder.
Men jeg forstår ikke hvad du mener med indsættes data og replikeres videre, samt at den indsætter data og ikke replikerer videre?
Samt nogen fejl msg?
  • Log ind eller opret dig for at tilføje kommentarer

# 3

5 år 11 måneder siden

Permalink

Indsendt af marlar den 18. juli 2019 kl. 23:24

Permalink

Der står noget om det her:

Der står noget om det her: https://dba.stackexchange.com/a/68376
  • Log ind eller opret dig for at tilføje kommentarer

# 4

5 år 11 måneder siden

Permalink

Indsendt af peque den 20. juli 2019 kl. 10:43

Permalink

Hey Alle Tak for svarene -

Hey Alle

Tak for svarene - men er ikke kommet videre end som så
Version:
Mysql 8.0.16
Workbench 8.0.16 ( hedeer den i download) https://dev.mysql.com/downloads/workbench/

Meningen er vi indsætter noget data via et webinterface. Det data vi indsætter - kommer i tabellen på MASTER - Men det replikeres ikke videre til slaves.
Vores syntaks i webinterfacet siger følgende:

INSERT INTO Operational_Data.Repl_Test(ID,Number) VALUES ('1','2');

Dette data replikeres ikke af en eller anden årsag. jeg har så undersøgt tingene og testet det hele igennem workbench / konsol
Indsætter jeg den samme data igennem Workbench med samme kommando som Webinterfacet - replikeres det stadigvæk ikke.
Men skriver jeg det så sådanne:

Use Operational_Data
INSERT INTO Repl_Test(ID,Number) VALUES ('1','2');

Så replikeres al data som forventet. i Min verden er det nøjagtig samme syntaks ( altså selve kommandoen er den samme) så hvad er det der gør at en benævnelse Database.tabel ikke replikeres, Når nu data reelt kommer i den tabel og vi kan se der komemr data ind.
Så tænker jeg hmmm det er nok replikeringen der fejler - men så snart jeg angiver use DB først er der ingen problemer.

I min verden giver det ikke meningen at man fra et webinterface skal bruge USE kommandoen først inden du kan indsætte data der skal replikeres

og det sjove syntes jeg jo ligesom at der slet ikke kommer fejl i logfiler omkring manglende replikeriing.
Jeg er enig i at det burde fungere med begge statements - men jeg kan desværre bare konstatere at det ikke er tilfældet.
For selvom det data der kommer fra webinterfacvet indsættes i databasen, kan jeg ikke forstå hvorfor det ikke skulle replikeres.
Men som linket antyder er det noget med den default database der er valgt, men giver INGEN mening for mig at man skal bruge USE komandoen først inden man kan indsætte data der replikeres videre
  • Log ind eller opret dig for at tilføje kommentarer

# 5

5 år 11 måneder siden

Permalink

Indsendt af lbm den 20. juli 2019 kl. 20:49

Permalink

For mig virker det 100% som

For mig virker det 100% som om, du benytter dig af replicate-db-do eller replicate-db-ignore ? eller måske endda begge?
Har du disse i dine configs ? I så fald, så er dette bare én af de pitfalls, man kan ryge i, og én af flere grunde til dette frarådes.

Benytter du dig replicate-do-db så replikerer den KUN det der sker nede i den DB du arbejder i (hvis denne db altså er specificeret), og da du arbejder i master, vil det ikke blive replikeret.
Ved at du skriver "use Operational_Data;" , så arbejder du i denne nu, hvorfor det virker, og IKKE i master.

https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#…
https://dev.mysql.com/doc/refman/5.7/en/replication-options-slave.html#…
  • Log ind eller opret dig for at tilføje kommentarer

# 6

5 år 11 måneder siden

Permalink

Indsendt af peque den 22. juli 2019 kl. 13:51

Permalink

jeg har ikke replicate-db-do

jeg har ikke replicate-db-do eller repliicate-db-ignore i mine setup, da det netop er en af de faldgruber man kan ryge i - men nej var klar over disse og endnu mere derfor det ikke giver mening!
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0
Linux fra begynder til professionel af O'Reilly 0

Seneste aktivitet

Privatbeskeder 2
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Backup/synkronisering? 2
Pepsi Challenge 4
"Intet realistisk alternativ" - mig i r*ven 10
Linuxin er nu migreret til Drupal 11 13
Et Dansk alternativ til Facebook 18
Ingen Mint 3
Ekstern Blu-ray-brænder, der fungerer med PCLinuxOS 3
Københavns og Aarhus Kommune dropper MS 9
Open Source-eksperimentet 1
Microsoft og Google ud af de danske skoler 2
Udfordringer med lydin på Debian 12 1
ExplainingComputers? 2
Nextcloud på mobilen 1
Vil du have et sikrere og mere privat internet? Du skal blot installere Vivaldi-browseren med Proton VPN understøttelse! 1
Ny Linuxin på vej :) 43

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !