そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

【CentOS8】MariaDB起動時のエラー「Plugin 'gssapi' init function returned error」対処手順

※[PR]当ブログの記事の中にはプロモーションが含まれています。

CentOS8上のMariaDB10.3の起動時のエラー「Plugin 'gssapi' init function returned error.」「Server GSSAPI error」の対処手順

自宅ローカル開発環境として、CentOS8サーバ上にMariaDB10.3をインストールして使っています。
起動時にプラグインGSSAPIのエラーが出ていたので、そのときの対処手順を紹介します。

CentOS8上のMariaDBで「Plugin 'gssapi' init function returned error.」エラーが出たときの対処手順を紹介します

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

前提条件

以下の記事の手順で、CentOS8上にMariaDB10.3がインストールしてある状態です。

souiunogaii.hatenablog.com

検知したエラーメッセージ

以下のエラーメッセージを検知しました。

/var/log/mariadb/mariadb.log
2020-06-13  9:53:12 0 [Warning] mysqld: GSSAPI plugin : default principal 'mariadb/sv-neptune@' not found in keytab
2020-06-13  9:53:12 0 [ERROR] mysqld: Server GSSAPI error (major 851968, minor 2529639093) : gss_acquire_cred failed -Unspecified GSS failure.  Minor code may provide more information. Keytab FILE:/etc/krb5.keytab is nonexistent or empty.
2020-06-13  9:53:12 0 [ERROR] Plugin 'gssapi' init function returned error.

設定ファイルの確認

/etc/my.cnf に直接書いてある設定はなく、/etc/my.cnf.dにあるものを読み込むようになっています。

/etc/my.cnf
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
 

/etc/my.cnf.d 配下には、いくつかのcnfファイルが置いてあります。

/etc/my.cnf.d
[root@sv-neptune my.cnf.d]# ls -l /etc/my.cnf.d/*
-rw-r--r-- 1 root root   41  19 03:56 /etc/my.cnf.d/auth_gssapi.cnf
-rw-r--r-- 1 root root  295  514  2019 /etc/my.cnf.d/client.cnf
-rw-r--r-- 1 root root  763  728  2019 /etc/my.cnf.d/enable_encryption.preset
-rw-r--r-- 1 root root 1538  15 10:59 /etc/my.cnf.d/mariadb-server.cnf
-rw-r--r-- 1 root root 1458  624  2019 /etc/my.cnf.d/mariadb-server.cnf.original_bk
-rw-r--r-- 1 root root  232  728  2019 /etc/my.cnf.d/mysql-clients.cnf

このなかで、エラーメッセージの「GSSAPI」に関係ありそうなのは、auth_gssapi.cnf です。

/etc/my.cnf.d/auth_gssapi.cnf
[mariadb]
plugin-load-add=auth_gssapi.so

参考にしたサイト

w.atwiki.jp

fd.kuaero.kyoto-u.ac.jp

milestone-of-se.nesuke.com

「auth_gssapi.cnf」は不要なのでリネーム

自宅ローカル開発環境のなかでは、GSSAPI認証は使わないので、不要なcnfファイルを読み込まないようにします。

mv /etc/my.cnf.d/auth_gssapi.cnf /etc/my.cnf.d/auth_gssapi.cnf.bak
[root@sv-neptune my.cnf.d]# mv /etc/my.cnf.d/auth_gssapi.cnf /etc/my.cnf.d/auth_gssapi.cnf.bak
[root@sv-neptune my.cnf.d]# ls -l
合計 24
-rw-r--r-- 1 root root   41  19 03:56 auth_gssapi.cnf.bak
-rw-r--r-- 1 root root  295  514  2019 client.cnf
-rw-r--r-- 1 root root  763  728  2019 enable_encryption.preset
-rw-r--r-- 1 root root 1538  15 10:59 mariadb-server.cnf
-rw-r--r-- 1 root root 1458  624  2019 mariadb-server.cnf.original_bk
-rw-r--r-- 1 root root  232  728  2019 mysql-clients.cnf

設定変更後のMariaDBの再起動

systemctl restart mariadb
systemctl status mariadb
[root@sv-neptune my.cnf.d]# systemctl restart mariadb
[root@sv-neptune my.cnf.d]# systemctl status mariadb
● mariadb.service - MariaDB 10.3 database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           mqlimits.conf
   Active: active (running) since Sat 2020-06-13 19:03:15 JST; 6s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 6659 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 6589 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mariadb.service (code=exited, status=0/SUCCESS)
  Process: 6565 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 6627 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 30 (limit: 11109)
   Memory: 76.2M
   CGroup: /system.slice/mariadb.service
           mq6627 /usr/libexec/mysqld --basedir=/usr

 613 19:03:15 sv-neptune systemd[1]: Stopped MariaDB 10.3 database server.
 613 19:03:15 sv-neptune systemd[1]: Starting MariaDB 10.3 database server...
 613 19:03:15 sv-neptune mysql-prepare-db-dir[6589]: Database MariaDB is probably initialized in /var/lib/mysql alre>
 613 19:03:15 sv-neptune mysql-prepare-db-dir[6589]: If this is not the case, make sure the /var/lib/mysql is empty >
 6月 13 19:03:15 sv-neptune mysqld[6627]: 2020-06-13 19:03:15 0 [Note] /usr/libexec/mysqld (mysqld 10.3.17-MariaDB) sta>
 613 19:03:15 sv-neptune systemd[1]: Started MariaDB 10.3 database server.
lines 1-23/23 (END)

/var/log/mariadb/mariadb.log をみて、エラーが出なくなったことを確認してOK。

インフラエンジニアになるための勉強のやり方

私は、某SIerに勤務しながら、WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

現在の会社で直接担当している業務の中では、決まった技術しか触れないけれど、
「他にも将来役に立ちそうなインフラ技術を勉強したい」「働きながらでもできる効率的なインフラエンジニアの勉強方法を知りたい」と考えている方のために、
①おすすめの書籍と、②おススメのオンライン学習サイトを紹介します。

働きながら勉強するための、おススメの書籍と、オンラインで学習できるサイトの紹介です。

インフラエンジニアの勉強ができるおススメ書籍

朝の通勤時や帰宅時の電車の中や、社外打合せへの移動中などに勉強するなら、やはり書籍が一番だと思います。

インフラエンジニアの教科書

LINE社に創業時から在籍しているインフラエンジニア・プロマネの「佐野裕」さんの本です。 twitter.com

膨大なトラフィックをさばくLINE社にて構築・保守を行っている現役エンジニアが記すITインフラの必須知識と経験の数々! サーバ、OS、ネットワーク機器、データセンター、購買と商談、障害対応、大規模インフラ、成長するために必要なスキルなど、基礎知識から実践まで言及。 ITインフラの世界が理解できる珠玉の1冊!

インフラエンジニアの教科書
(C&R研究所)
佐野裕

1週間でLPICの基礎が学べる本

Linuxの資格「LPIC」の試験対策を初心者向けに書いた入門書です。

Linuxの資格として広く知られているLPICですが、あまり知識の無いまま試験対策を始める人も多いのではないでしょうか。しかし、試験対策書は試験範囲についてのみ解説しているものが多く、初心者が理解するのは困難です。本書は、初心者がスムーズに試験対策を行えるよう、事前に基礎固めを行うLinux入門書です。試験情報や模擬問題も掲載しているので、資格取得を視野に入れた効率的な基礎学習が行えます。

1週間でLPICの基礎が学べる本
第3版 徹底攻略シリーズ
(インプレス)
中島能和

インフラエンジニアの勉強ができるオンライン学習サイト

Udemy (オンライン動画学習サイト)

Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。

≫Udemy 世界最大級のオンライン学習サイト

Udemyの特徴
  • ユーザー登録すれば、第1回の講座は無料で視聴できる
  • 無料のコンテンツもある
  • 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい

≫Udemy 世界最大級のオンライン学習サイト

開発の人気オンラインコース

以上、読んでいただきありがとうございました。