見出し画像

テスト環境作成02(MariaDBバージョンアップ)

いつもありがとうございます。

スキマ時間開発のお時間です。よろしくお願いします。


今回はMariaDBのバージョンアップです。

早速始めます。


・SSHでログイン

画像1


・バージョン確認

# mysql --version
mysql  Ver 15.1 Distrib 10.3.29-MariaDB, for Linux (x86_64) using readline 5.1


・インストーラを追加

# curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
[info] Checking for script prerequisites.
[info] Repository file successfully written to /etc/yum.repos.d/mariadb.repo
[info] Adding trusted package signing keys...
/etc/pki/rpm-gpg ~
~
[info] Successfully added trusted package signing keys
[info] Cleaning package cache...
読み込んだプラグイン:fastestmirror, langpacks
リポジトリーを清掃しています: base epel epel-debuginfo epel-source extras groonga-centos kusanagi kusanagi-adv kusanagi-biz
                           : kusanagi-prem mariadb mariadb-main mariadb-maxscale mariadb-tools updates zabbix
                           : zabbix-non-supported
Cleaning up list of fastest mirrors
Other repos take up 20 M of disk space (use --verbose for details)


・DBの状態確認

# systemctl status mariadb
● mariadb.service - MariaDB 10.3.29 database server
  Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
 Drop-In: /etc/systemd/system/mariadb.service.d
          mqmigrated-from-my.cnf-settings.conf
  Active: active (running) since 火 2021-06-22 20:58:49 JST; 1 weeks 1 days ago
    Docs: man:mysqld(8)
          https://mariadb.com/kb/en/library/systemd/
 Process: 29572 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Process: 29457 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
 Process: 29455 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 29540 (mysqld)
  Status: "Taking your SQL requests now..."
  CGroup: /system.slice/mariadb.service
          mq29540 /usr/sbin/mysqld


・DB停止

# systemctl stop mariadb


・DBの状態確認

# systemctl status mariadb
● mariadb.service - MariaDB 10.3.29 database server
  Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
 Drop-In: /etc/systemd/system/mariadb.service.d
          mqmigrated-from-my.cnf-settings.conf
  Active: inactive (dead) since 木 2021-07-01 08:46:19 JST; 32s ago
    Docs: man:mysqld(8)
          https://mariadb.com/kb/en/library/systemd/
 Process: 29572 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Process: 29540 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Process: 29457 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
 Process: 29455 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 29540 (code=exited, status=0/SUCCESS)
  Status: "MariaDB server is down"

701 08:46:18 160-251-74-103 systemd[1]: Stopping MariaDB 10.3.29 database server...
701 08:46:19 160-251-74-103 systemd[1]: Stopped MariaDB 10.3.29 database server.

停止している。→OK


・アップデート

# yum update mariadb-server -y
読み込んだプラグイン:fastestmirror, langpacks
Determining fastest mirrors
epel/x86_64/metalink                                                                                 | 5.3 kB  00:00:00
epel-debuginfo/x86_64/metalink                                                                       | 5.0 kB  00:00:00
epel-source/x86_64/metalink                                                                          | 4.6 kB  00:00:00
* base: ftp.iij.ad.jp
    (中略)
Running transaction
 インストール中          : socat-1.7.3.2-2.el7.x86_64                                                                  1/6
 インストール中          : galera-4-26.4.8-1.el7.centos.x86_64                                                         2/6
 インストール中          : pcre2-10.23-2.el7.x86_64                                                                    3/6

******************************************************************
A MySQL or MariaDB server package (MariaDB-server-10.3.29-1.el7.centos.x86_64) is installed.

Upgrading directly from MySQL 10.3 to MariaDB 10.5 may not
be safe in all cases.  A manual dump and restore using mysqldump is
recommended.  It is important to review the MariaDB manual's Upgrading
section for version-specific incompatibilities.

A manual upgrade is required.

- Ensure that you have a complete, working backup of your data and my.cnf
 files
- Shut down the MySQL server cleanly
- Remove the existing MySQL packages.  Usually this command will
 list the packages you should remove:
 rpm -qa | grep -i '^mysql-'

 You may choose to use 'rpm --nodeps -ev <package-name>' to remove
 the package which contains the mysqlclient shared library.  The
 library will be reinstalled by the MariaDB-shared package.
- Install the new MariaDB packages supplied by MariaDB Foundation
- Ensure that the MariaDB server is started
- Run the 'mysql_upgrade' program

This is a brief description of the upgrade process.  Important details
can be found in the MariaDB manual, in the Upgrading section.
******************************************************************
error: %pre(MariaDB-server-10.5.11-1.el7.centos.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package MariaDB-server-10.5.11-1.el7.centos.x86_64
error: MariaDB-server-10.5.11-1.el7.centos.x86_64: install failed
error: MariaDB-server-10.3.29-1.el7.centos.x86_64: erase skipped
 削除中                  : galera-25.3.33-1.el7.centos.x86_64                                                          5/6
 検証中                  : pcre2-10.23-2.el7.x86_64                                                                    1/6
 検証中                  : galera-4-26.4.8-1.el7.centos.x86_64                                                         2/6
 検証中                  : socat-1.7.3.2-2.el7.x86_64                                                                  3/6
 検証中                  : galera-25.3.33-1.el7.centos.x86_64                                                          4/6
MariaDB-server-10.3.29-1.el7.centos.x86_64 was supposed to be removed but is not!
 検証中                  : MariaDB-server-10.3.29-1.el7.centos.x86_64                                                  5/6
 検証中                  : MariaDB-server-10.5.11-1.el7.centos.x86_64                                                  6/6

インストール:
 galera-4.x86_64 0:26.4.8-1.el7.centos

依存性関連をインストールしました:
 pcre2.x86_64 0:10.23-2.el7                                  socat.x86_64 0:1.7.3.2-2.el7

置換:
 galera.x86_64 0:25.3.33-1.el7.centos

失敗:
 MariaDB-server.x86_64 0:10.3.29-1.el7.centos                 MariaDB-server.x86_64 0:10.5.11-1.el7.centos

完了しました!

んー。コケてる?


・バージョン確認

# mysql --version
mysql  Ver 15.1 Distrib 10.3.29-MariaDB, for Linux (x86_64) using readline 5.1

やっぱり駄目ですね。上記の********で囲まれている箇所が手順らしい。


・MariaDB-serverが競合しているので、本当か確認

# rpm -qa | grep -i '^mariadb-'
MariaDB-common-10.3.29-1.el7.centos.x86_64
MariaDB-server-10.3.29-1.el7.centos.x86_64
MariaDB-client-10.3.29-1.el7.centos.x86_64
MariaDB-devel-10.3.29-1.el7.centos.x86_64
MariaDB-compat-10.3.29-1.el7.centos.x86_64

いるね。


・MariaDB-serverを消す。

# rpm --nodeps -ev MariaDB-server-10.3.29-1.el7.centos.x86_64
パッケージの準備中...
MariaDB-server-10.3.29-1.el7.centos.x86_64
警告: /etc/my.cnf.d/server.cnf は /etc/my.cnf.d/server.cnf.rpmsave として保存されました。

・確認

# rpm -qa | grep -i '^mariadb-'
MariaDB-common-10.3.29-1.el7.centos.x86_64
MariaDB-client-10.3.29-1.el7.centos.x86_64
MariaDB-devel-10.3.29-1.el7.centos.x86_64
MariaDB-compat-10.3.29-1.el7.centos.x86_64

消えてる。


・改めてインストール

# yum -y install MariaDB-devel MariaDB-common MariaDB-client MariaDB-server MariaDB-shared
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.riken.jp
* epel-debuginfo: ftp.riken.jp
* epel-source: ftp.riken.jp
* extras: ftp.iij.ad.jp
* updates: ftp.tsukuba.wide.ad.jp
依存性の解決をしています
  (中略)
​警告: RPMDB は yum 以外で変更されました。
 更新します              : MariaDB-common-10.5.11-1.el7.centos.x86_64                                                  1/8
 更新します              : MariaDB-client-10.5.11-1.el7.centos.x86_64                                                  2/8
 インストール中          : MariaDB-server-10.5.11-1.el7.centos.x86_64                                                  3/8
 インストール中          : MariaDB-shared-10.5.11-1.el7.centos.x86_64                                                  4/8
 更新します              : MariaDB-devel-10.5.11-1.el7.centos.x86_64                                                   5/8
 整理中                  : MariaDB-devel-10.3.29-1.el7.centos.x86_64                                                   6/8
 整理中                  : MariaDB-client-10.3.29-1.el7.centos.x86_64                                                  7/8
 整理中                  : MariaDB-common-10.3.29-1.el7.centos.x86_64                                                  8/8
 検証中                  : MariaDB-client-10.5.11-1.el7.centos.x86_64                                                  1/8
 検証中                  : MariaDB-common-10.5.11-1.el7.centos.x86_64                                                  2/8
 検証中                  : MariaDB-shared-10.5.11-1.el7.centos.x86_64                                                  3/8
 検証中                  : MariaDB-server-10.5.11-1.el7.centos.x86_64                                                  4/8
 検証中                  : MariaDB-devel-10.5.11-1.el7.centos.x86_64                                                   5/8
 検証中                  : MariaDB-common-10.3.29-1.el7.centos.x86_64                                                  6/8
 検証中                  : MariaDB-devel-10.3.29-1.el7.centos.x86_64                                                   7/8
 検証中                  : MariaDB-client-10.3.29-1.el7.centos.x86_64                                                  8/8

インストール:
 MariaDB-server.x86_64 0:10.5.11-1.el7.centos                 MariaDB-shared.x86_64 0:10.5.11-1.el7.centos

更新:
 MariaDB-client.x86_64 0:10.5.11-1.el7.centos                 MariaDB-common.x86_64 0:10.5.11-1.el7.centos
 MariaDB-devel.x86_64 0:10.5.11-1.el7.centos

完了しました!

警告は出ているが、エラーはなさそう。


・バージョン確認

# mysql --version
mysql  Ver 15.1 Distrib 10.5.11-MariaDB, for Linux (x86_64) using readline 5.1

よし。OK


・DB起動と起動確認

# systemctl start mariadb
# systemctl status mariadb
● mariadb.service - MariaDB 10.5.11 database server
  Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
 Drop-In: /etc/systemd/system/mariadb.service.d
          mqmigrated-from-my.cnf-settings.conf
  Active: active (running) since 木 2021-07-01 21:30:43 JST; 6s ago
    Docs: man:mariadbd(8)
          https://mariadb.com/kb/en/library/systemd/
 Process: 13533 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Process: 13506 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
 Process: 13504 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 13517 (mariadbd)
  Status: "Taking your SQL requests now..."
  CGroup: /system.slice/mariadb.service
          mq13517 /usr/sbin/mariadbd

701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [ERROR] Incorrect definition of table mysql....'POST
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [ERROR] mariadbd: Event Scheduler: An error ...uler.
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 1 [Warning] InnoDB: Table mysql/innodb_table_s...grade
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 1 [Warning] InnoDB: Table mysql/innodb_index_s...grade
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] Reading of all Master_info entries succeeded
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] Added new Master_info '' to hash table
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] /usr/sbin/mariadbd: ready for connections.
701 21:30:43 160-251-74-103 mariadbd[13517]: Version: '10.5.11-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  p...erver
701 21:30:43 160-251-74-103 systemd[1]: Started MariaDB 10.5.11 database server.
701 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] InnoDB: Buffer pool(s) load completed...30:43
Hint: Some lines were ellipsized, use -l to show in full.

起動はできていそう。でもエラーが気持ち悪いので対応。


・mysql_upgradeを実行

# mysql_upgrade -u root -p
Enter password:
Phase 1/7: Checking and upgrading mysql database
Processing databases
mysql
mysql.column_stats                                 OK
mysql.columns_priv                                 OK
  (中略)
mysql.user                                         OK
Phase 2/7: Installing used storage engines... Skipped
Phase 3/7: Fixing views
Phase 4/7: Running 'mysql_fix_privilege_tables'
Phase 5/7: Fixing table and database names
Phase 6/7: Checking and upgrading tables
Processing databases
  (中略)
k_7MlFlQ.wp_terms                                  OK
k_7MlFlQ.wp_usermeta                               OK
k_7MlFlQ.wp_users                                  OK
performance_schema
test
Phase 7/7: Running 'FLUSH PRIVILEGES'
OK

修正されたかな?


・再起動と確認

# systemctl stop mariadb
# systemctl start mariadb
# systemctl status mariadb
● mariadb.service - MariaDB 10.5.11 database server
  Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
 Drop-In: /etc/systemd/system/mariadb.service.d
          mqmigrated-from-my.cnf-settings.conf
  Active: active (running) since 木 2021-07-01 22:36:28 JST; 4s ago
    Docs: man:mariadbd(8)
          https://mariadb.com/kb/en/library/systemd/
 Process: 14820 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
 Process: 14797 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`cd /usr/bin/..; /usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
 Process: 14795 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
Main PID: 14809 (mariadbd)
  Status: "Taking your SQL requests now..."
  CGroup: /system.slice/mariadb.service
          mq14809 /usr/sbin/mariadbd

701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] InnoDB: 10.5.11 started; log sequence...14567
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Plugin 'FEEDBACK' is disabled.
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] InnoDB: Loading buffer pool(s) from /..._pool
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Server socket created on IP: '::'.
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Reading of all Master_info entries succeeded
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Added new Master_info '' to hash table
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] /usr/sbin/mariadbd: ready for connections.
701 22:36:28 160-251-74-103 mariadbd[14809]: Version: '10.5.11-MariaDB'  socket: '/var/lib/mysql/mysql.sock'  p...erver
701 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] InnoDB: Buffer pool(s) load completed...36:28
701 22:36:28 160-251-74-103 systemd[1]: Started MariaDB 10.5.11 database server.
Hint: Some lines were ellipsized, use -l to show in full.

無事にエラーが取れました。


ストアドファンクションを登録

画像2

できた!(やったー)


この感じだとPHPも古そうやね。

というわけで、次回はきっとPHP!


最後まで読んでいただきありがとうございました。

この記事が気に入ったらサポートをしてみませんか?