Software-update: MariaDB 10.6.6

MariaDB logo (79 pix)MariaDB is ontstaan als fork van MySQL, nadat dit door Oracle werd overgenomen. Voor een overzicht van de verschillen tussen MariaDB en MySQL kun je op deze en deze pagina's terecht. MariaDB is een krachtige opensourcedatabaseserver, die vooral populair is als website- en forumdatabase. De ontwikkelaars hebben versie 10.6.6 uitgebracht en de belangrijkste veranderingen die daarin zijn aangebracht zijn hieronder voor je op een rijtje gezet:

InnoDB Galera
  • Galera updated to 26.4.11
  • Galera SST scripts should use ssl_capath (not ssl_ca) for CA directory (MDEV-27181)
  • Alter Sequence do not replicate to another nodes with in Galera Cluster (MDEV-19353)
  • Galera crash - Assertion. Possible parallel writeset problem (MDEV-26803)
  • CREATE TABLE with FOREIGN KEY constraint fails to apply in parallel (MDEV-27276)
  • Galera cluster node consider old server_id value even after modification of server_id [wsrep_gtid_mode=ON] (MDEV-26223)
Replication
  • Seconds behind master corrected from artificial spikes at relay-log rotation (MDEV-16091)
  • Statement rollback in binlog when transaction creates or drop temporary table is set right (MDEV-26833)
  • CREATE-or-REPLACE SEQUENCE is made to binlog with the DDL flag to stabilize its parallel execution on slave (MDEV-27365)
Packaging & Misc Docker Library
  • Faster initialization by disabling binary logging during initialization (MDEV-27074)
  • mysql_upgrade can be run if needed using the environment variable MARIADB_AUTO_UPGRADE=1 (MDEV-25670)
  • A healthcheck script /usr/local/bin/healthcheck.sh is installed in the container with various checking options (MDEV-25434)
  • mysql@localhost user is created with the environment variable MARIADB_MYSQL_LOCALHOST_USER=1 and additional grants (beyond USAGE) with MARIADB_MYSQL_LOCALHOST_GRANTS={global grant list} (MDEV-27732)
  • skip innodb buffer pool loads/dumps on temporary startup/shutdown for faster startup/initialization, and accurate "healthcheck.sh --innodb_buffer_pool_loaded"
  • change group ownership on datadir/socket dir (issue #401)
  • log note about note on Securing system users, mysql_secure_installation not required (reddit suggestion)
  • speed up Docker Library initialization of timezones (MDEV-27608, MDEV-23326)
  • MariaDB names of executable programs and scripts used instead of historical mysql ones
Security Changelog

For a complete list of changes and bugfixes made in MariaDB 10.6.6, with links to detailed information on each push, see the changelog.

MariaDB foundation

Versienummer 10.6.6
Releasestatus Final
Besturingssystemen Windows 7, Linux, BSD, macOS, Solaris, UNIX, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016, Windows Server 2019, Windows 11
Website MariaDB
Download https://downloads.mariadb.org/mariadb
Licentietype Voorwaarden (GNU/BSD/etc.)

Reacties (22)

22
22
7
0
0
5
Wijzig sortering
vooral populair is als website- en forumdatabase
Beetje kort door de bocht. MariaDB is een uitstekende database manager die geschikt is voor industrieel gebruik en, in gedistribueerde vorm, de hoogste vorm van gegevensveiligheid kan waarborgen.

Omdat MariaDB gratis beschikbaar is wordt deze natuurlijk ook voor eenvoudige toepassingen gebruikt.
Volgens mij is het nog steeds mogelijk dat iedere gebruiker zelf een sql_mode kan instellen en daarmee ALLOW_INVALID_DATES kan activeren. En tenzij je NO_ZERO_DATE gebruikt, is '0000-00-00' een geldige datum. Geen mens die weet welke datum het is, maar volgens de database zou dit een geldige datum moeten zijn.
Je kan op elk DMS wel wat commando's uitvoeren die nonsens opleveren. SQL statements zijn bedoeld om toegang tot databases te standardiseren, in dit geval op basis van een relationeel model.

Wat een gebruiker wel of niet kan wordt bepaald door de dba.
Nou, dit soort instellingen ken ik niet van Oracle, DB2 of PostgreSQL, daar is een datum altijd een geldige datum. En in MySQL (en volgens mij ook MariaDB) wordt dit juist NIET door de DBA bepaalt, maar door de gebruiker: dit is (of was?) op sessie niveau in te stellen. Heb jij een mooie applicatie met een mooie database opgezet, komt er een andere applicatie die gebruik maakt van jouw database en die zijn eigen instellingen heeft verzonnen voor de database connecties en dan ga jij vol op je plaat: Onbetrouwbare data.

Dit werkte in het verleden ook in MySQL:
SELECT '1 appel' + '1 peer';

Antwoord: 2

Dat dit niet klopt, je hebt geen 2 appels of 2 peren en een appelpeer bestaat niet, weten we allemaal. Of dit anno 2022 nog fout gaat, weet ik niet.
eigenlijk dus een cartesisch product.
Maar dat kun je ook al krijgen door lukraak tabels te joinen met elkaar. Zeker als je dd data en achterliggende rules niet kent.
Zeker als je dd data en achterliggende rules niet kent.
Tekst optellen bij tekst, hoe zie je dat voor je? Dat is waar het fout gaat, MySQL (en ook MariaDB?) staat dit toe en daarmee wordt voorgesorteerd op dit soort fouten. Andere databases en programmeren staan de + wel toe voor stukken tekst, maar gebruiken dat om stukken tekst aan elkaar te plakken. Dan krijg je een resultaat waarvan de uitkomst logisch is en ook te verklaren:

SELECT '1 appel' + '1 peer';

Uitkomst: 1 appel1 peer

Dat is heel wat anders dan een uitkomst 2. Want waar komt die 2 vandaan? Die staat nergens. En 2 minus 1 peer, daar komt niet 1 appel uit als uitkomst.

SELECT 2 - '1 peer';

Uitkomst: ? (geen idee, heb geen MySQL of MariaDB bij de hand)

Rekenen met tekst gaat niet, maar wordt (werd?) door MySQL (en MariaDB) wel toegestaan. En dat maakt het tricky om met deze databases te werken, je kunt de uitkomsten niet vertrouwen. We maken allemaal fouten, dan is het wel handig wanneer je wordt gewezen op dit onmogelijke constructies. Dat scheelt heel veel tijd in testen en debuggen.
ah sorry. Ik telde los de aantallen bij elkaar en de soort als los veld :)

Nee tekst bij elkaar tellen is geen goed idee.

edit:
Wat je eigenlijk doet is de twee strings aan elkaar plakken. Maar dat is zeker niet optellen een heel verschil.

mssql dba hier, dus kan zijn dat ik wat syntax verschil mis.

[Reactie gewijzigd door Henkje.doc op 24 juli 2024 07:42]

mssql dba hier, dus kan zijn dat ik wat syntax verschil mis.
Nou, deze syntax mis je echt niet! :+

In mssql krijg je keurig een foutmelding wanneer je iets onmogelijks probeert te doen, dat is het grote verschil met MySQL (en afgeleiden). MySQL staat dingen toe die gewoon fout zijn, al is het weer afhankelijk van de instellingen die op dat moment gelden voor de desbetreffende database connectie. Dus wanneer jouw applicatie alles goed doet met de data in de database, kan een andere applicatie (en/of gebruiker) alles gewoon naar de bliksem helpen door een verkeerde/ongewenste connectie configuratie.

Zelf werk ik al meer dan 10 jaar niet meer MySQL, maar zie deze configuratie settings nog steeds in de handleiding opduiken. Het blijft dus een ongoing issue.
[...]

in gedistribueerde vorm, de hoogste vorm van gegevensveiligheid kan waarborgen.
Waar baseer je dat op? Oprechte vraag hoor.

Admin-edit:Opmerkingen over moderaties horen thuis in Frontpagemoderatie.

[Reactie gewijzigd door AlphaRomeo op 24 juli 2024 07:42]

Maria DB is best een aardige database als je weinig eisen stelt. Maar als je nu moet kiezen altijd postgresql kiezen.

[Reactie gewijzigd door MeZZiN op 24 juli 2024 07:42]

Weinig eisen stelt? Wat een onzin! Het is een prima vervanger voor MySQL en wordt door veel grote applicaties gebruikt. Zelf heb ik een systeem in productie met een database van 4GB aan data waar iedere dag een paar duizend man in bezig zijn. Nooit problemen mee.
Als je data volume maar 4 GB is, dan is het niet heel lastig om geheel in memory te draaien en zal het prima werken. Het is even de vraag of je ook nog tevreden bent als je bijvoorbeeld een data warehouse van 4 TB moet gaan draaien.
Appels met peren vergelijken. Dan ga je ook met PostgreSQL niet geweldig uit de voeten komen. Reden is dat als je RAM limiet het al niet aan kon met MariaDB dan zal het met PostgreSQL niet anders zijn.

Vraag is meer wat voor soort bewerkingen je moet uitvoeren op de data. Zo heeft elke soort DB zijn eigen voor- en nadelen.
Draai al jaren PostgreSQL databases van vele TB's groot. En response tijden moeten in de lage milliseconden zitten, maximaal 10ms voor complexe queries. 10 miljoen actieve gebruikers per dag, en ongeveer een miljard requests per dag. En dat op een enkele master-slave database
Wal replicatie of hoe gaat dat tegenwoordig?
"tegenwoordig" is dan sinds september 2010, ruim 11 jaar geleden. Toen werd het mogelijk om de WAL shipping te gebruiken om een slave als read-only te gebruiken. Voor HOT-standby werd het al gebruikt, evenals een point-in-time recovery.

Je kunt ook kiezen voor andere oplossingen, net wat het beste past bij jouw situatie.
https://www.postgresql.or...eplication-solutions.html
Mijn reactie ging niet over PostgreSQL (wel een mooi RDBMS overigens). Het ging mij om het voorbeeld over de database van 4 GB. Een dergelijk klein datavolume zegt mijns inziens weinig over de schaalbaarheid van het product, terwijl het voor dat specifieke gebruiksdoel wel heel goed kan presteren.
Ik snap je daar is MySQL ook prima voor (of mariadb) maar je kan net zo goed gelijk overstappen na postgresql zal stukken beter werken zelf voor kleine dbs van 4gb ik gebruik al jaren postgresql nooit terug gekeken. De overheden gebruiken het als alternatief voor Oracle omdat het de zelfde veiligheid bied maar zonder de kosten en lagere performance. Plus postgresql presteert beter dan mariadb maar bied ook nog eens grote veiligheid van data.
Ooit begonnen op mysql en heel af en toe kom ik mariadb nog tegen. In 2006 ofzo gestart met Postgresql en nooit meer teruggekeken, draait zelfs prima op een rPi2
Wat zijn de voordelen van pg precies?
Betere indexering, sneller bij complexe queries. Fijne ondersteuning van extensies, b.v. ltree en geospacial data. Transparant mbt beveiliging, prima ondersteuning van mijn favo framework. Schaalbaar van 100 records tot vele miljoenen en wellicht miljarden records ( al heb ik mij daar nooit aan gewaagd. ) ondersteuning van een simpele db op een rPi tot aan een cross continent cluster.
Ben ook heel blij met pgadmin4 al is toad voor beiden ook een prima tool

[Reactie gewijzigd door divvid op 24 juli 2024 07:42]

Omdat het updaten van mijn MySQL 5.x instance naar 8.x op een drama was uitgelopen ben ik voor Home Assistant overgestapt op MariaDB, werkt prima als vanouds

Op dit item kan niet meer gereageerd worden.