![見出し画像](https://assets.st-note.com/production/uploads/images/55805494/rectangle_large_type_2_d13533f0bdcd051c72f4cd18cb2d0611.png?width=800)
テスト環境作成02(MariaDBバージョンアップ)
いつもありがとうございます。
スキマ時間開発のお時間です。よろしくお願いします。
今回はMariaDBのバージョンアップです。
早速始めます。
・SSHでログイン
・バージョン確認
# 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"
7月 01 08:46:18 160-251-74-103 systemd[1]: Stopping MariaDB 10.3.29 database server...
7月 01 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
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [ERROR] Incorrect definition of table mysql....'POST
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [ERROR] mariadbd: Event Scheduler: An error ...uler.
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 1 [Warning] InnoDB: Table mysql/innodb_table_s...grade
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 1 [Warning] InnoDB: Table mysql/innodb_index_s...grade
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] Reading of all Master_info entries succeeded
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] Added new Master_info '' to hash table
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: 2021-07-01 21:30:43 0 [Note] /usr/sbin/mariadbd: ready for connections.
7月 01 21:30:43 160-251-74-103 mariadbd[13517]: Version: '10.5.11-MariaDB' socket: '/var/lib/mysql/mysql.sock' p...erver
7月 01 21:30:43 160-251-74-103 systemd[1]: Started MariaDB 10.5.11 database server.
7月 01 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
7月 01 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
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Plugin 'FEEDBACK' is disabled.
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] InnoDB: Loading buffer pool(s) from /..._pool
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Server socket created on IP: '::'.
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Reading of all Master_info entries succeeded
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] Added new Master_info '' to hash table
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: 2021-07-01 22:36:28 0 [Note] /usr/sbin/mariadbd: ready for connections.
7月 01 22:36:28 160-251-74-103 mariadbd[14809]: Version: '10.5.11-MariaDB' socket: '/var/lib/mysql/mysql.sock' p...erver
7月 01 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
7月 01 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.
無事にエラーが取れました。
ストアドファンクションを登録
できた!(やったー)
この感じだとPHPも古そうやね。
というわけで、次回はきっとPHP!
最後まで読んでいただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?