"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

CentOS 7/ MySQL 5.7のRPMでのインストール手順

とある案件で、Centos7上にWebサイトを作る必要があったのですが、セキュリティが厳しすぎてその企業で許可しているレポジトリ以外からのダウンロードが一切禁止されている状態での構築がありました。

基本的に yum install ... でしかやってこなかったので、勝手が違いてこずりましたので記録として残す。

RPMのダウンロード

MySQL :: Download MySQL Community Server のURLへアクセスして、
5.7でCentos(Redhat)で落とす。

解凍された後にできるファイルは以下に説明あり。
f:id:azumami:20190403095925p:plain

RPMファイルをサーバへアップロード&解凍

手順スキップ

MySQL :: MySQL 8.0 Reference Manual :: 2.5.4 Installing MySQL on Linux Using RPM Packages from Oracle

競合する関連のパッケージを削除

yum remove mariadb-libs

削除しました:
  mariadb-libs.x86_64 1:5.5.60-1.el7_5

依存性の削除をしました:
  postfix.x86_64 2:2.10.1-7.el7

これをしないと、ダウンロードしてきたRPMをインストールする際に依存性チェックでエラーになるのでやる。
postfixを使っているサーバは要注意。

RPMでインストール

解凍されたファイルがいくつか表示されていると思うので、そのうち以下を入れる。

rpm -i mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -i mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -i mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -i mysql-community-server-5.7.25-1.el7.x86_64.rpm
rpm -i mysql-community-devel-5.7.25-1.el7.x86_64.rpm

configファイル修正

vi /etc/my.cnf

設定内容

[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8

mysql起動停止テスト

systemctl enable mysqld.service
systemctl stop mysqld.service
systemctl start mysqld.service

mysqlサービス自動起動確認

# systemctl list-unit-files | grep mysqld
mysqld.service                                enabled
mysqld@.service                               disabled

セキュリティ設定

mysql_secure_installation

mysqlのrootの初期パスワードの確認

以下のログにtemporary パスワードみたいな感じで書かれている

vi /var/log/mysqld.log

以上