Locked History Actions

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

Differences between revisions 17 and 19 (spanning 2 versions)
Revision 17 as of 2020-02-26 01:56:24
Size: 3447
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 78: Line 78:
#mysql_upgrade -u root -p --verbose
 3systemctl restart mariadb
# 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