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 -pTast 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.sqlOops! Jeg fikk følgende feil
mysqldump.: Feil:. Binlogging på serveren ikke aktivFor å 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.cnfOn RPM-baserte systemer:
sudo vi /etc /my.cnfUnder [mysqld] seksjonen, legger du til følgende parameter.
log-bin = mysql-binPrø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 restartPå Debian-baserte systemer:
sudo /etc /init .d /mysql restartNå, å kjøre mysqldump kommandoen for å ta backup av alle databaser
mysqldump --Alle-databaser --user = root --password --master-data >.; backupdatabase.sqlPrø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.bakPå Deb systemer:
sudo cp /etc/mysql/my.cnf my.cnf.bakFor å stoppe mysql-tjenesten, angir følgende kommando fra Terminal
På RPM-baserte systemer.
sudo /etc/init.d/mysqld stoppePå Debian-baserte systemer:
sudo /etc /init.d /mysql stoppeDeretter fjerner mysql pakker
På RPM systemer.
sudo yum fjerne mysql * mysql-server mysql-utvik mysql-libsKommandoen 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.repoAdd 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=1Update repositories og installere mariadb med disse kommandoene:
sudo yum oppdatere sudo yum install MariaDB-server MariaDB-klientStart 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 mysqldEtter å ha installert MariaDB, bør du sette databasen rotbrukerpassordet. For å gjøre det, utføre følgende kommando fra Terminal
mysql_secure_installationInstaller 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- serverHusk 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.cnfPå 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.sqlDet 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 -pKjø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