Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie migriere ich MySQL zu MariaDB unter Linux?

PHPz
Freigeben: 2023-08-31 09:13:02
nach vorne
912 Leute haben es durchsucht

如何在 Linux 上将 MySQL 迁移到 MariaDB?

Dieser Artikel hilft Ihnen bei der Migration Ihrer Datenbank von MySQL zu MariaDB, da die Binärkompatibilität von MySQL zu MariaDB während des Migrationsprozesses sehr einfach ist.

Nachdem Oracle MySQL übernommen hatte, trieb die Community die Ergebnisse einer solchen Bewegung voran und entwickelte eine neue Datenbank namens MariaDB. MariaDB ist Open Source und kompatibel mit MySQL. Die meisten Linux-Distributionen (RH, CentOS, Fedora) haben damit begonnen, MariaDB-Unterstützung als Ersatz für MySQL zu verwenden.

Wenn wir eine Datenbank von MySQL nach MariaDB migrieren möchten, ist dieser Artikel hilfreich.

MySQL-Datenbank und -Tabellen vorbereiten

Wir erstellen eine Test-MySQL-Datenbank und Gesamttabellen zu Demonstrationszwecken. Wenn Ihre Umgebung über eine Datenbank und Tabellen verfügt, können Sie diesen Schritt überspringen.

Melden Sie sich vom Terminal aus mit dem MySQL-Root-Benutzer und dem Root-Benutzerkennwort bei MySQL an.

# mysql -uroot -p
Nach dem Login kopieren

Erstellen Sie eine Datenbank und Tabellen

mysql> Create database test1;
mysql> use test1;
mysql> create table tab1(name varchar(30), owner varchar(30), species varchar(20), sex char(1));
Query OK, 0 rows affected (0.02 sec)
Nach dem Login kopieren

Außerdem werden wir einige Datensätze hinzufügen, um die Daten zu testen

mysql> insert into tab1 values('Chandra','Prakash','Kadarla','m'),('Srinvas','Kadarla','Chary','m');
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
Then quit from the MySQL.
Nach dem Login kopieren

Sicherung der MySQL-Datenbank

Wir müssen die MySQL-Datenbank mit dem Befehl „MySQL dump“ sichern

# mysqldump --all-databases --user=root --password --master-data > backupDB.sql
Nach dem Login kopieren

Aus Sicherheitsgründen , wir erhalten einige Konfigurationsdateien für MySQL an anderer Stelle im System

# cp /etc/mysql/my.cnf /opt/my.cnf.bak
Nach dem Login kopieren

MySQL-Paket deinstallieren

Wir werden MySQL mit dem folgenden Befehl deinstallieren –

# service mysqld stop
# yum remove mysql-server mysql-client mysql-common
Nach dem Login kopieren

MariaDB-Paket installieren

MariaDB ist in allen wichtigen offiziellen Repositorys der Linux-Distribution verfügbar. Ersetzt durch MySQL. Sie können das offizielle Repository auch dann hinzufügen, wenn Sie eine ältere Linux-Version verwenden.

Datei im Yum-Repos-Verzeichnis erstellen

# sudo vi /etc/yum.repos.d/MariaDB.repo
Nach dem Login kopieren

Fügen Sie den folgenden Inhalt zur Datei hinzu und speichern Sie

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Nach dem Login kopieren

Um den Maria-DB-Server und -Client zu installieren, führen Sie die folgenden Befehle aus.

# yum install MariaDB-server MariaDB-client
Loaded plugins: fastestmirror, langpacks
base                                  | 3.6 kB 00:00
extras                                | 3.4 kB 00:00
mariadb                               | 2.9 kB 00:00
updates                               | 3.4 kB 00:00
   --> Restarting Dependency Resolution with new changes.
   --> Running transaction check
   ---> Package MariaDB-shared.x86_64 0:5.5.49-1.el7.centos will be obsoleting
   ---> Package mariadb-libs.x86_64 1:5.5.35-3.el7 will be obsoleted
   --> Finished Dependency Resolution
Dependencies Resolved
========================================================================================
Package                         Arch          Version                      Repository    Size
========================================================================================
Installing:
   MariaDB-client             x86_64          5.5.49-1.el7.centos          mariadb          8.6 M
   MariaDB-server             x86_64          5.5.49-1.el7.centos          mariadb          40 M
   MariaDB-shared             x86_64          5.5.49-1.el7.centos          mariadb          1.0 M
      replacing mariadb-libs.x86_64 1:5.5.35-3.el7
Installing for dependencies:
   MariaDB-common             x86_64          5.5.49-1.el7.centos          mariadb          23 k
   perl-Compress-Raw-Bzip2    x86_64          2.061-3.el7                  base             32 k
   perl-Compress-Raw-Zlib     x86_64          1:2.061-4.el7                base             57 k
   perl-DBI                   x86_64          1.627-4.el7                  base             802 k
   perl-Data-Dumper           x86_64          2.145-3.el7                  base             47 k
   perl-IO-Compress           noarch          2.061-2.el7                  base             260 k
   perl-Net-Daemon            noarch          0.48-5.el7                   base             51 k
   perl-PlRPC                 noarch          0.2020-14.el7                base             36 k
Transaction Summary
========================================================================================
Install 3 Packages (+8 Dependent packages)
Total download size: 51 M
Is this ok [y/d/N]: y
Downloading packages:
warning: /var/cache/yum/x86_64/7/mariadb/packages/MariaDB-5.5.49-centos7-x86_64-common.rpm: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Public key for MariaDB-5.5.49-centos7-x86_64-common.rpm is not installed
(1/11): MariaDB-5.5.49-centos7-x86_64-common.rpm             | 23 kB 00:00:01
(2/11): MariaDB-5.5.49-centos7-x86_64-client.rpm             | 8.6 MB 00:00:12
warning: /var/cache/yum/x86_64/7/base/packages/perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm is not installed
(3/11): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm       | 32 kB 00:00:00
(4/11): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm        | 57 kB 00:00:00
(5/11): perl-Data-Dumper-2.145-3.el7.x86_64.rpm              | 47 kB 00:00:00
(6/11): perl-IO-Compress-2.061-2.el7.noarch.rpm              | 260 kB 00:00:00
(7/11): perl-Net-Daemon-0.48-5.el7.noarch.rpm                | 51 kB 00:00:00
(8/11): perl-DBI-1.627-4.el7.x86_64.rpm                      | 802 kB 00:00:00
(9/11): perl-PlRPC-0.2020-14.el7.noarch.rpm                  | 36 kB 00:00:00
(10/11): MariaDB-5.5.49-centos7-x86_64-shared.rpm            | 1.0 MB 00:00:01
Total download size: 51 M
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
   Installing : MariaDB-common-5.5.49-1.el7.centos.x86_64          1/12
   Installing : perl-Data-Dumper-2.145-3.el7.x86_64                2/12
   Installing : MariaDB-client-5.5.49-1.el7.centos.x86_64          3/12
   Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64        4/12
   Installing : perl-Net-Daemon-0.48-5.el7.noarch                  5/12
   Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64         6/12
   Installing : perl-IO-Compress-2.061-2.el7.noarch                7/12
   Installing : perl-PlRPC-0.2020-14.el7.noarch                    8/12
   Installing : perl-DBI-1.627-4.el7.x86_64                        9/12
Installed:
   MariaDB-client.x86_64 0:5.5.49-1.el7.centos       MariaDB-server.x86_64 0:5.5.49-1.el7.centos
   MariaDB-shared.x86_64 0:5.5.49-1.el7.centos
Dependency Installed:
   MariaDB-common.x86_64 0:5.5.49-1.el7.centos       perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7
   perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7       perl-DBI.x86_64 0:1.627-4.el7
   perl-Data-Dumper.x86_64 0:2.145-3.el7             perl-IO-Compress.noarch 0:2.061-2.el7
   perl-Net-Daemon.noarch 0:0.48-5.el7               perl-PlRPC.noarch 0:0.2020-14.el7
Replaced:
   mariadb-libs.x86_64 1:5.5.35-3.el7
Complete!
Nach dem Login kopieren

Nach der Installation aller erforderlichen Pakete müssen wir ein Passwort für das Root-Benutzerkonto festlegen. Wiederherstellung des Root-Passworts aus MySQL-Sicherungskonfigurationsdateien.

# cp /opt/my.cnf /etc/mysql/
Nach dem Login kopieren

Jetzt müssen wir den folgenden Befehl ausführen, um den MariaDB-Dienst neu zu starten.

# service mariadb start
Nach dem Login kopieren

MySQL-Datenbank importieren

Wir müssen die von MySQL gesicherte Datenbank in MariaDB importieren

# mysql -u root -p < backupDB.sql
Nach dem Login kopieren

Geben Sie das Passwort des Root-Benutzers ein, dann wird die Datenbank in MariaDB importiert

Wir müssen überprüfen, ob die Datenbank gesichert wurde korrekt wiederhergestellt.

Bitte folgen Sie dem folgenden Befehl – ​​

# mysql -u root -p
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test1              |
+--------------------+
3 rows in set (0.00 sec)
MariaDB [(none)]> use test1;
MariaDB [test01]> select * from tab1;
select * from tab1;
+---------+---------+---------+------+
| name    | owner   | species | sex  |
+---------+---------+---------+------+
| Chandra | Prakash | Kadarla |    m |
| Srinvas | Kadarla | Chary   |    m |
+---------+---------+---------+------+
2 rows in set (0.00 sec)
Nach dem Login kopieren

Jetzt ist die Migration von MySQL zu MariaDB erfolgreich abgeschlossen.

Nachdem wir den Befehl ausgeführt und dem Tutorial gefolgt sind, können wir die Datenbank in einfachen Schritten von MySQL zu MariaDB migrieren, wobei MariaDB im Vergleich zu MySQL viele neue Funktionen bietet. Im obigen Tutorial habe ich ein einfaches Szenario verwendet, um die Migrationskonfiguration zu testen.

Das obige ist der detaillierte Inhalt vonWie migriere ich MySQL zu MariaDB unter Linux?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!