・当ブログはアフィリエイト広告を利用しています。

MariaDBのバージョンアップ ー バージョン 5.5.60 → 10.3.13

CentOS
この記事は約6分で読めます。

3月に入って、ブログが2度運用不能になってしまった。
PHPのバージョンUP後、NEXTCLOUDインストール後など、人的作業が入った場合にトラブってる。

何もしないのが一番いい!主義なのだが、

半面、なんかやってみたい、トラブル解決大好き!

という、矛盾と葛藤があるのだが、折角なので、こりもせず、データベースもバージョンUPしようと思い立った。これ、失敗するとまたブログがSTOPしてしまうのだが?!

何が最新かわからないが、NETで見よう見まねで、やってみよう!

■ MariaDBをダウンロード
$ curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
$ cat /etc/yum.repos.d/mariadb.repo
[mariadb-main]
name = MariaDB Server
baseurl = https://downloads.mariadb.com/MariaDB/mariadb-10.3/yum/rhel/$releasever/$basearch
gpgkey = file:///etc/pki/rpm-gpg/MariaDB-Server-GPG-KEY
gpgcheck = 1
enabled = 1
 以下省略

■稼働中のMariaDBを停止して、アップデート
$ sudo systemctl stop mariadb
$ sudo yum update mariadb-server
 ~色々処理が始まる

■サーバーの開始とバージョン確認
$ sudo systemctl start mariadb
$ mysql --version
mysql Ver 15.1 Distrib 10.3.13-MariaDB, for Linux (x86_64) using readline 5.1
$

とりあえずうまくいったようだが、念のため状態を確認

$sudo systemctl status mariadb
3月 19 09:34:37 XXXX.don-don.0am.jp mysqld[23451]: 2019-03-19 9:34:37 0 [ERROR] Missing system table mysql.roles_mapping; please run mysql_upgrade to create it
3月 19 09:34:37 XXXX.don-don.0am.jp mysqld[23451]: 2019-03-19 9:34:37 0 [ERROR] Incorrect definition of table mysql.event: expected column 'sql_mode' at position 1…ATE','POST
3月 19 09:34:37 XXXX.don-don.0am.jp mysqld[23451]: 2019-03-19 9:34:37 0 [ERROR] mysqld: Event Scheduler: An error occurred when initializing system tables. Disabli…Scheduler.
3月 19 09:34:37 XXXX.don-don.0am.jp mysqld[23451]: 2019-03-19 9:34:37 6 [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1146: Tab…sn't exist

  ~中略~

3月 19 09:34:37 XXXX.don-don.0am.jp systemd[1]: Started MariaDB 10.3.13 database server.
3月 19 09:39:09 XXXX.don-don.0am.jp mysqld[23451]: 2019-03-19 9:39:09 8 [ERROR] InnoDB: Table mysql.innodb_table_stats not found.
Hint: Some lines were ellipsized, use -l to show in full.
$

なんか、ERRORが出ている。
「system table」「Table mysql.innodb_table_stats not found.」「
run mysql_upgrade 」などのワードが頭に引っ掛かる。

mysql_upgradeで調べてみると
テーブルのチェックや修復、システムテーブルのUPGRADEを行うそうだ。
バージョンが 5.5.60 ⇒ 10.3.13にアップグレードする際のデータベーステーブルの、矛盾点や表記?などを調整してくれるものと自分なりに理解した。

$ sudo mysql_upgrade -u root -p
Enter password:(SQL用rootのパスワードを入力)

 ~色々処理が始まる

$ sudo systemctl restart mariadb
$ sudo systemctl status mariadb
● mariadb.service - MariaDB 10.3.13 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 火 2019-03-19 10:15:35 JST; 15s ago

  ~中略~

3月 19 10:15:35 s2018.don-don.0am.jp mysqld[24167]: 2019-03-19 10:15:35 0 [Note] InnoDB: Buffer pool(s) load completed at 190319 10:15:35
3月 19 10:15:35 s2018.don-don.0am.jp systemd[1]: Started MariaDB 10.3.13 database server
$

ERRORもなくうまくいったようだ。

しかし新たな問題が?

Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)でdisabledしてるが、問題ないのか?

その後、mariadb.log.rpmsave や my.cnfをいじってるうちに、サーバー機自信が起動できなくなったり、apacheが動かなくなったり、不安定になってしまった。

仕方なく、元のままに設定を戻したら、取りあえず、ブログは復活した。
おっさん、プロではないので、復旧に約4時間もかかってしまった。

やはり、触らぬ神にたたりなし!なのか?

 

コメント

タイトルとURLをコピーしました