Hvordan migrere fra MySQL Til MariaDB På Linux


Hvorfor skal jeg migrere fra MySQL til MariaDB?

Svaret er veldig enkelt. MariaDb er en forbedret drop-in erstatning og samfunnet utviklet gaffel av MySQL database system. Den ble utviklet av MariaDB fundament, og blir ledet av originale utviklerne av MySQL. Arbeide med MariaDB er helt samme som MySQL. Etter Oracle kjøpte MySQL, det er ikke gratis og åpen kildekode lenger, men MariaDB er fortsatt gratis og åpen kildekode

Ifølge themukt, etter

Hva Oracle gjør galt.


Nye 'bedriften' extensions i MySQL er lukket kildekode:

er ikke offentlig lenger

De MySQL offentlige arkiver er ikke lenger aktivt oppdatert The bugs database

. sikkerhetsproblemer er ikke kommunisert eller adressert raskt (Dette gjør Linux-distribusjoner veldig irritert med Oracle)

I stedet for å fikse bugs, Oracle er å fjerne funksjoner:

Ny kode i MySQL 5.5 ikke har test tilfeller lenger.

Noe av den nye koden er overraskende bra med Oracle, men dessverre kvaliteten varierer, og en betydelig del må omskrives før vi kan ta den med i MariaDB

Vel, er du ferdig med MySQL? Kom igjen, la oss migrere fra MySQL til MariaDB. Migrasjons metoden er mye enklere enn du tror.

La oss Overføre

For testing formål, la oss lage to eksempeldatabaser kalt testdb1 og testdb2.

Logg inn for å MySQL som root brukeren ved hjelp av følgende kommando:

 mysql -u root -p 

Tast inn mysql rotbrukerpassordet. Du vil bli omdirigert til mysql teksten

Opprett test databaser.:.

Tast inn følgende kommandoer fra mysql melding om å opprette test databaser

 mysql > opprette database testdb1; Query OK, påvirket en rad (0,00 sek) mysql > opprette database testdb2; Query OK, påvirket en rad (0,00 sek) 

For å se listen over tilgjengelige databaser, skriver du inn følgende kommando:

 mysql > vis databaser; 
 Prøve utgang: + -------------------- + | Database | + -------------------- + | information_schema || mysql || performance_schema || testdb1 || testdb2 | + -------------------- + 5 rader i sett (0,00 sek) 

Som ser ovenfor, har vi totalt fem databaser inkludert den nyopprettede databaser testdb1 og testdb2.

1. Backup eksisterende databaser

Den første viktige skrittet er å ta backup av eksisterende databaser. For å gjøre det, skriver du inn følgende kommando fra Terminal (ikke fra MySQL teksten)

 mysqldump --Alle-databaser --user = root --password --master-data >.; backupdatabase.sql 

Oops! Jeg fikk følgende feil

 mysqldump.: Feil:. Binlogging på serveren ikke aktiv 

For å reparere denne feilen, må vi gjøre en liten endring i my.cnf filen

Rediger min .cnf file:

På Debian /Ubuntu:

 sudo vi /etc/mysql/my.cnf

On RPM-baserte systemer:

 sudo vi /etc /my.cnf 

Under [mysqld] seksjonen, legger du til følgende parameter.

 log-bin = mysql-bin 

Prøve produksjon på min my.cnf filen.

 [. ..] [mysqld] ## * Grunnleggende innstillinger # user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var /lib /mysqltmpdir = /tmplc-meldinger-dir = /usr/share/mysqlskip-external-lockinglog-bin=mysql-bin[...]

Save og exit-fil. Restart mysql server

På RPM-baserte systemer.

 sudo /etc/init.d/mysqld restart 

På Debian-baserte systemer:

 sudo /etc /init .d /mysql restart 

Nå, å kjøre mysqldump kommandoen for å ta backup av alle databaser

 mysqldump --Alle-databaser --user = root --password --master-data >.; backupdatabase.sql 

Prøve utgang:

 Skriv inn passord: - Advarsel: Å hoppe over dataene fra tabellen mysql.event. Spesifiser --events alternativet eksplisitt. 

Kommandoen ovenfor vil ta backup av alle databaser, og lagrer dem i backupdatabase.sql i gjeldende katalog.

2. Stoppe MySQL tjenester og fjerne alle mysql pakker

Først backup my.cnf fie til et sikkert sted

. Merk: my.cnf filen vil ikke bli slettet når du avinstallerer MySQL pakker. Vi gjør det for sikkerhets skyld. Under MariaDB installasjon, vil installasjonsprogrammet be deg om å beholde den eksisterende my.cnf (gamle backup-fil) eller å bruke pakken beholdere versjonen (dvs. ny)

På RPM systemer.

 sudo cp /etc/my.cnf my.cnf.bak 

På Deb systemer:

 sudo cp /etc/mysql/my.cnf my.cnf.bak 

For å stoppe mysql-tjenesten, angir følgende kommando fra Terminal

På RPM-baserte systemer.

 sudo /etc/init.d/mysqld stoppe 

På Debian-baserte systemer:

 sudo /etc /init.d /mysql stoppe 

Deretter fjerner mysql pakker

På RPM systemer.

 sudo yum fjerne mysql * mysql-server mysql-utvik mysql-libs 

Kommandoen ovenfor vil ta backup av din nåværende MySQL config fil /etc/my.cnf å /etc/my.cnf.rpmsave

På Debian-baserte systemer.

 sudo apt-get fjerne mysql-server mysql-klienten 
3. Installer MariaDB

De siste CentOS 7 og Ubuntu 14.10, 14.04 inneholder MariaDB pakker i sine offisielle repositories. . Hvis du ønsker å bruke den nyeste versjonen MariaDb, tilsett MariaDB offisielle repositories avhengig av OS versjon

Installer MariaDB På RHEL 7 baserte systemer:

Lag en fil /etc /yum. repos.d /mariadb.repo, etter

 vi /etc/yum.repos.d/mariadb.repo

Add følgende linjer:

 # MariaDB 5.5 CentOS repository liste - opprettet 2014 -12 til 09 08:11 UTC # http://mariadb.org/mariadb/repositories/[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/5.5/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1

Update repositories og installere mariadb med disse kommandoene:

 sudo yum oppdatere sudo yum install MariaDB-server MariaDB-klient 

Start mysql-tjenesten ved hjelp av følgende kommando:

 sudo /etc /init .d /mysqld startsudo chkconfig mysqld på 

Eller, etter

 sudo systemctl starte mysqldsudo systemctl aktivere mysqld 

Etter å ha installert MariaDB, bør du sette databasen rotbrukerpassordet. For å gjøre det, utføre følgende kommando fra Terminal

 mysql_secure_installation 

Installer MariaDB På Ubuntu 14.04.

Her er kommandoene for å kjøre for å installere MariaDB på Ubuntu system:

 sudo apt-get install software-properties-commonsudo apt-key adv --recv-tastene --keyserver HKP: //keyserver.ubuntu.com: 80 0xcbcb082a1bb943dbsudo add-apt-repository deb http: //speil .mephi.ru /mariadb /repo /5.5 /ubuntu trofaste hoved '

Når tasten importert og depotet lagt du kan installere MariaDB med:

 sudo apt-get updatesudo apt-get install mariadb- server 

Husk at i løpet MariaDB installasjonen, vil installasjonsprogrammet be deg om enten å bruke den eksisterende my.cnf (gamle backup-fil), eller du kan bruke pakke beholdere versjonen (dvs. ny). Du kan enten bruke den gamle my.cnf filen eller pakke beholdere versjon. Hvis du ønsker å bruke den nye my.cnf versjonen, kan du gjenopprette innholdet på eldre my.cnf (Vi allerede har kopiert denne filen til sikkert sted før) senere.

For andre versjoner, finner du i MariaDB offisielle repositories side.

4. Kopiere innholdet i my.cnf.bak (gammel backup) fil til ny my.cnf filen

For å gjøre det, skriver du inn følgende kommando i Terminal. Jeg har den gamle my.cnf.bak filen i min nåværende katalog, så jeg bare kopierte filen ved hjelp av følgende kommando:

På RPM systemer:

 sudo cp my.cnf.bak /etc /my.cnf 

På DEB systemer:

 sudo cp my.cnf.bak /etc/mysql/my.cnf
5. Import Databaser

Til slutt, la oss importere de gamle databaser som vi har opprettet i første trinn ved hjelp av følgende kommando

 mysql -u root -p <.; backupdatabase.sql 

Det var det. Vi har importert de gamle databaser.

La oss sjekke om databasene er egentlig importert. For å gjøre det, logger du mysql rask å bruke kommandoen:

 mysql -u root -p 

Kjør vis databaser; kommandoen fra mysql teksten for å se etter databasene

 MariaDB [(ingen)] >.; vis databaser; 

Prøve utgang:

 + -------------------- + | Database | + -------------------- + | information_schema || mysql || performance_schema || testdb1 || testdb2 | + -------------------- + 5 rader i sett (0,00 sek) 

Som du ser i over resultatet alle gamle databaser inkludert testdb1 og testdb2 ha er importert.

Det er alt. Begynn å bruke MariaDb

Disclaimer:. Vær forsiktig når du bruker disse trinnene i produksjonsmiljø. Også henvise MariaDB offisielle dokumentasjon for ytterligere avklaringer. Hvis du ikke vet hva du gjør, kan du be en database administrator hjelp. Ikke miste dyrebar database backup.

Lykke til! Anmeldelser