MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

LinuxでMySQLをMariaDBに移行する方法は?


この記事は、移行プロセスにおけるMySQLからMariaDBへのバイナリ互換性が非常に簡単であるため、データベースをMySQLからMariaDBに移行するのに役立ちます。

オラクルがMySQLを買収した後、コミュニティはそのような動きの成果を推進し、MariaDBと呼ばれる新しいデータベースを開発しました。 MariaDBはオープンソースであり、MySQLとの互換性があります。ほとんどのLinuxディストリビューション(RH、CentOS、Fedora)は、MySQLのドロップイン代替としてMariaDBのサポートをすでに使用し始めています。

データベースをMySQLからMariaDBに移行する場合は、この記事が役立ちます。

MySQLデータベースとテーブルの準備

デモ用にテスト用のMySQLデータベースと全体テーブルを作成します。環境にデータベースとテーブルがある場合は、これをスキップできます。

MySQLのrootユーザーとrootユーザーのパスワードを使用してターミナルからMySQLにログインします。

# mysql -uroot -p

1つのデータベースとテーブルの作成

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)

また、データをテストするためにいくつかのレコードを追加します

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.

MySQLデータベースのバックアップ

コマンド– MySQL dump

を使用して、MySQLデータベースのバックアップを作成する必要がありました。
# mysqldump --all-databases --user=root --password --master-data > backupDB.sql

セキュリティ上の理由から、MySQLの構成ファイルをシステム内の他の場所に配置します

# cp /etc/mysql/my.cnf /opt/my.cnf.bak

MySQLパッケージのアンインストール

以下のコマンドを使用してMySQLをアンインストールします–

# service mysqld stop
# yum remove mysql-server mysql-client mysql-common

MariaDBパッケージをインストールする

MariaDBは、すべての主要なLinuxディストリビューションの公式リポジトリでMySQLに置き換えられました。古いバージョンのLinuxを使用している場合でも、公式リポジトリを追加できます。

yumreposディレクトリにファイルを作成します

# sudo vi /etc/yum.repos.d/MariaDB.repo

以下をファイルに追加して保存します

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

Maria-DBサーバーとクライアントをインストールするには、以下のコマンドを実行します。

# 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!

必要なすべてのパッケージをインストールした後、rootユーザーアカウントのパスワードを設定する必要がありました。ルートパスワードは、MySQLからバックアップを取る構成ファイルを回復します。

# cp /opt/my.cnf /etc/mysql/

ここで、MariaDBサービスを再起動して、以下のコマンドを実行する必要がありました。

# service mariadb start

MySQLデータベースのインポート

MySQLからMariaDBにバックアップしたデータベースをインポートする必要があります

# mysql -u root -p < backupDB.sql

rootユーザーのパスワードを入力すると、データベースがMariaDBにインポートされます

データベースが正しく復元されたかどうかを確認する必要がありました。

次のコマンドに従ってください–

# 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)

これで、MySQLからMariaDBへの移行が正常に完了しました。

コマンドを実行してチュートリアルに従った後、簡単な手順でデータベースをMySQLからMariaDBに移行できます。ここで、MariaDBにはMySQLと比較して多くの新機能があります。上記のチュートリアルでは、簡単なシナリオを使用して移行構成をテストしました。


  1. MySQLビューを作成する方法は?

    MySQLビューを作成するには、次の構文のようにCREATEVIEWを使用します- create view yourViewName as select * from yourTableName;として作成します。 まずテーブルを作成しましょう- mysql> create table DemoTable1802      (      StudentId int,      StudentName varchar(20)      ); Query OK, 0 ro

  2. LinuxでEvolutionからThunderbirdに移行する方法

    Evolution for Linuxには、連絡先、カレンダー、タスクの処理など、箱から出してすぐに実行できる機能が備わっています。ただし、Thunderbirdはより多くのアドオンに対応でき、より軽量です。このため、試してみることをお勧めします。すでにEvolutionを使用している場合は、LinuxでEvolutionからThunderbirdにデータを移行する方法は次のとおりです。 Thunderbirdのダウンロードとインストール システムにThunderbirdをまだインストールしていない場合は、Snapストアから入手するか、パッケージマネージャー/ソフトウェアセンターからインスト