Jeg valgte at få en længe tiltrængt konvertering overstået, da vi alligevel skulle igang med at flytte databasen til en ny server. Både den gamle og den nye server er Ubuntu. Hvis du bruger noget andet, så vær opmærksom på at dine konfigurationsfiler måske ligger et andet sted. På den nye server sørgede jeg for, […]
Tag: mariadb
Kan ikke redigere privilegier i phpMyAdmin
Ifølge phpMyAdmin dokumentationen, burde der være en knap til redigering af privilegier ud for hver bruger. Den mangler imidlertid på min installation, på trods af at min bruger har alle privilegier…. Troede jeg. “Alle privilegier” inkluderer nemlig ikke GRANT som giver mulighed for at tildele privilegier, dvs. oprette og ændre brugeres rettigheder. Sådan tilføjes GRANT […]
MariaDB: Udføre CHANGE MASTER TO på den forkerte server
Det er farligt at have terminalvinduer åbne samtidig for både master og slave databaserne. Man kan hurtigt komme til at udføre kommandoer i det forkerte vindue. Det skete for mig i dag. Jeg udførte både en START SLAVE og CHANGE MASTER TO… på masteren. Ups! Det er let nok bare at stoppe slaven igen, men […]
MariaDB replikering: Korrupt binær log på slave
Denne meddelelse i SHOW SLAVE STATUS betyder at den binære log på enten master eller slave er korrupt: Last_SQL_Errno: 1594 Last_SQL_Error: Relay log read failure: Could not parse relay log event entry. The possible reasons are: the master’s binary log is corrupted (you can check this by running ‘mysqlbinlog’ on the binary log), the slave’s […]
MariaDB replikering: Tjek af data
Efter et stykke tid, vil du sikkert gerne vide om alt bliver replikeret korrekt til din slave og fikse eventuelle forskelle i data mellem master og slave. Her er percona-toolkit et rigtig godt værktøj Bemærk i nedenstående kodeblokke: Når du ser ordet MASTER i første linie, skal blokken eksekveres på din master server, og vise […]
MariaDB replikering: Når replikeringen fejler
Hvad er problemet? Du har sikkert opdaget at din slave ikke længere replikerer ved at kigge på SHOW SLAVE STATUS, her et eksempel:
1 2 3 4 5 6 7 8 |
MariaDB> SHOW SLAVE STATUS\G; *************************** 1. row *************************** [...] Slave_SQL_Running: No [...] Seconds_Behind_Master: NULL [...] Slave_SQL_Running_State: |
Slave_SQL_Running er “No”, den skal naturligvis helst stå til “Yes”. Seconds_Behind_Master er “NULL”. Her skal der altid stå et tal. Slave_SQL_Running_State bør ikke være tom. Derudover er der i SHOW SLAVE […]
Sikker genstart af MariaDB master
Først låser du tabellerne på master’en så der ikke kan ændres i data:
1 |
MariaDB (MASTER)> FLUSH TABLES WITH READ LOCK; |
Derefter noterer du den aktuelle position:
1 2 3 4 5 6 7 |
MariaDB (MASTER)> SHOW MASTER STATUS; +--------------------+----------+--------------+-------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +--------------------+----------+--------------+-------------------------+ | mariadb-bin.000012 | 242793 | | | mysql,replication [...] | +--------------------+----------+--------------+-------------------------+ 1 row in set (0.00 sec) |
!!!Du må IKKE forlade sql prompten på din master nu!!! Så mister du din READ LOCK. Kør en status på slaven for at sikre dig at den er helt up-to-date:
1 2 3 4 5 6 |
MariaDB (SLAVE)> SHOW SLAVE STATUS; [...] Master_Log_File: mariadb-bin.000012 Read_Master_Log_Pos:242793 [...] |
Stop slaven:
1 |
MariaDB (SLAVE)> STOP SLAVE; |
[…]
Installer MariaDB på Ubuntu 16.04
Fjern MySQL Hvis du udskifter MySQL med MariaDB, skal du først tage backup af dine data, og fjerne MySQL. Undlad at medtage databaser som ‘mysql’, ‘phpmyadmin’,’performance_schema’ og ‘information_schema’, dvs. alle de databaser der automatisk oprettes under den nye installation:
1 |
$ mysqldump -u bruger -pkode -h hostnavn --lock-all-tables --triggers --routines --events --databases db1 db2 db3 > mysqldump_data.sql |
Da din nye MariaDB sikkert ikke er kompatibel med privilegier fra den gamle, dumper vi […]