Locked History Actions

MySQL-5.1 からMariaDB-10.3 への移行

MySQL-5.1 から MariaDB-10.3 への移行

1. CentOS 6上の mysql-5.1.73 のデータベースをCentOS 8の mariadb-10.3.11 に移行した時のメモです。 

ちなみに、CentOS 6上の mysql-5.1.73 のデータベースから CentOS 7 上の mariadb-5.5.64 への移行は DBディレクトリー /var/lib/mysql の中身の単純コピー(tarで固めて、展開)で正常に移行できましたが、 mysql-5.1.73 から mariadb-10.3.11 へは、 /var/lib/mysql の中身の単純コピーでは mariadb-10.3.11 起動時にエラーとなってこの方法では移行できません。従って、データベースのダンプをとって、そのダンプファイルをリストアする方法で移行します。

2. CentOS 6上の mysql-5.1.73 のデータベース 全体のダンブファイルを取ります。(データベース全体のダンプファイルを取ることが重要で特定の移行したいデータベースだけのダンプをとると、後で正常にリストアできません)

# mysqldump -u root --password=xxxxxxxx  --all-databases > alldump-20190930.sql

3. CentOS 8の mariadb-10.3.11 で、あらかじめ移行したいDB(ここでは仮に DBname とします)を作成したのち、

# mysql -u root -p 
Enter password: 
MariaDB [(none)]> create DBname;
MariaDB [(none)]> exit;

上のダンプファイルから移行したいデータベースをリストアします。

# mysql -u root -p DBname < alldump-20190930.sql
Enter password: 

正常に移行されているかどうかは、DB名を選択して Table等を表示させればわかります。

# mysql -u root -p
Enter password: 
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| DBname             |
| test               |
+--------------------+

MariaDB [(none)]> use DBname;

MariaDB [DBname]> show tables;
+-----------------------------+
| Tables_in_DBname            |
+-----------------------------+
| admin_user                  |
| article                     |
| m_category                  |
+-----------------------------+
3 rows in set (0.000 sec)

MariaDB [DBname]>  exit;
Bye
#