まずMySQLの導入から始める。
dnf install mysql
systemctl start mysqld
systemctl enable mysqld
インストールするときはmysql、システム管理するときにはmysqldになる。
結論としては、運用管理さえ出来たらどちらでもよい。
ネットの論争になることもあるけれど、あまり拘りすぎないように。
以下、メンターに聞いたときのアドバイス。
- セキュリティリスクとは常に古い状態のものがそこにあるというのが問題なので、使ったら消すという運用ができれば何でもOK。とりあえず放置しないでね。
- phpMyAdminではなくAdminer(https://www.adminer.org/)という手段もあるよ。
MySQLの設定ファイルの確認
mysqlがどこにあるのかを探す。
mysql --help
「Default options are read〜」の部分を確認する。
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
「Default options are read from the following files in the given order」は、翻訳すると「デフォルトのオプションは、次のファイルから指定された順序で読み取られます」。なので、以下の順番で設定ファイルが読み込まれている。
- /etc/my.cnf
- /etc/mysql/my.cnf
- ~/.my.cnf
設定ファイルの詳しい読み込み順は以下を参考にする。
「/etc/my.cnf」を確認する
まずは最初に読み込まれる/etc/my.cnfから確認する。
私の実際の環境では、/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
最後の”!includedir /etc/my.cnf.d”は、指定されているディレクトリ/etc/my.cnf.d/以下の設定ファイルを読み込みます。 ただし読み込まれるファイルは、Windowsの場合、.iniまたは.cnfで、 それ以外のUnixでは、.cnfの拡張子をもつものだけです。
http://www.ajisaba.net/db/mysql/my_cnf.html
何か新しい設定を加えるなら、/etc/my.cnf.dの中に<ファイル名>.cnfファイルを作成して管理していくのがよさそう。
設定できるグローバル設定の確認方法
mysqlにログインし、mysqlコマンドを入力する。mysqlからログアウトするときはexitかquitコマンドを入力する。
システム設定値を確認する
SHOW GLOBAL VARIABLES;
ステータス値を確認する
SHOW GLOBAL STATUS;
MySQLの文字コードの確認
MySQL8.0ではcharacter_set_serverやcharacter_set_databaseのデフォルトがutf8ではなくutf8mb4になっている。
保存できる文字はutf8よりutf8mb4の方が多い。
これはつまり、UnicodeのコードポイントがU+FFFFを超える文字は、utf8では保存できないってことです。
例えば
- 崎(U+5D0E)←保存できる
- 﨑(U+FA11)←保存できる
- 😀(U+1F600)←保存できない
- 𩸽(U+29E3D)←保存できない
※ちなみにこの漢字はホッケと読みますみたいな感じ。
https://penpen-dev.com/blog/mysql-utf8-utf8mb4/
いちばんめのサーバー構築の流れ
-
1-1 初期設定
-
1-2 新規ユーザー(一般ユーザー)の作成と設定
-
1-3 Nginx導入とhttpの準備
-
1-4 Nginxの初期設定
-
1-5 php導入
-
1-6 Apache導入と初期設定
-
1-7 リバースプロキシを準備する前の事前知識
-
1-8 サーバーIPアドレスとドメイン(ワイルドカード指定)の設定
-
1-9 ドメイン個別設定とリバースプロキシ構築
-
1-10 Let’s Encrypt(Certbot)を使ったSSL/TLS証明書の発行と自動更新設定
-
1-11 MySQL導入
-
1-12 MySQLのパフォーマンスチューニング
-
1-13 MySQLへのログインと初期設定
-
1-14 MySQLからDB・ユーザーの準備/ユーザーの権限設定
-
1-15 Zabbix導入
-
1-16 (寄り道)Zabbixのアップグレード