Locked History Actions

Diff for "MySQL-5.1 からMariaDB-10.3 への移行"

Differences between revisions 2 and 19 (spanning 17 versions)
Revision 2 as of 2019-09-30 07:28:52
Size: 2812
Comment:
Revision 19 as of 2020-02-26 02:00:04
Size: 3689
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from mysql-5.1 からmariadb-10.3 への移行
## page was renamed from mysql-5.1 から Mariadb-10.3 への移行
Line 15: Line 17:
= mysql-5.1 から Mariadb-10.3 への移行 = = MySQL-5.1 から MariaDB-10.3 への移行 =
Line 19: Line 21:
ちなみに、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 起動時にエラーとなってこの方法では移行できません。 ちなみに、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 起動時にエラーとなってこの方法では移行できません。従って、データベースのダンプをとって、そのダンプファイルをリストアする方法で移行します。
Line 21: Line 23:
2. CentOS 6上の mysql-5.1.73 のデータベース 全体のダンブファイルを取。(データベース全体のダンプファイルを取ることが重要で特定の移行したいデータベースだけのダンプをとると、後で正常にリストアできません) 2. CentOS 6上の mysql-5.1.73 のデータベース 全体のダンブファイルを取ります。(データベース全体のダンプファイルを取ることが重要で特定の移行したいデータベースだけのダンプをとると、後で正常にリストアできません)
Line 24: Line 26:
# mysqldump -u root --password=xxxxxxxx --all-databases > alldump-20190930.sql # mysqldump -u root --password=xxxxxxxx --all-databases --events > alldump-20190930.sql
Line 31: Line 33:
MariaDB [(none)]> create DBname; Enter password:
MariaDB [(none)]> create database DBname;
Line 35: Line 38:
上のダンプファイルからリストアす 上のダンプファイルから移行したいデータベースをリストアします。
Line 39: Line 42:
Enter password:
Line 41: Line 45:
正常に移行されているかどうかは、DB名を選択して Tableを表示さればわかります。 正常に移行されているかどうかは、DB名を選択して Tableを表示さればわかります。
Line 44: Line 48:
Enter password:
Line 71: Line 76:
データベースのバージョン更新の反映設定(これを実行しないと mysqldump でエラーが出ます)
{{{
# mysql_upgrade -u root -p --verbose
Enter password:
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
MySQL upgrade detected
Phase 1/7: Checking and upgrading mysql database
Processing databases
:
:
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
#

# systemctl restart mariadb
}}}

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 --events > alldump-20190930.sql

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

# mysql -u root -p 
Enter password: 
MariaDB [(none)]> create database 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
#

データベースのバージョン更新の反映設定(これを実行しないと mysqldump でエラーが出ます)

# mysql_upgrade -u root -p --verbose
Enter password: 
Looking for 'mysql' as: mysql
Looking for 'mysqlcheck' as: mysqlcheck
MySQL upgrade detected
Phase 1/7: Checking and upgrading mysql database
Processing databases
:
:
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK
# 

# systemctl restart mariadb