MySQL5.7インストール (CentOS7)

    

MySQLインストール用リポジトリインストール

yum install http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

OSのバージョンが異なる場合下記のサイトよりRPMを検索する
http://rpms.famillecollet.com/

MySQL5.7インストール

既にMySQLをインストールしている場合はアンインストールしておく

yum remove mysql*

インストール

yum install -y mysql-community-server

MySQLの初期化

mysql起動&ステータスの確認

systemctl start mysqld.service

systemctl status mysqld

インストール時に設定されたrootパスワードを調べる

grep 'temporary password' /var/log/mysqld.log

MySQLの初期化 (rootパスワード変更)

/usr/bin/mysql_secure_installation

ま ずrootのパスワードを聞かれますので、先ほど調べたパスワードを入力します。その後は新たなパスワードを聞かれるので入力していきます。パスワードポ リシーがキツイので設定なしでは今までのパスワードは通過できないかもしれません。AppleIDくらいの強度のようです。(…覚えられるかな。)
その後は匿名ユーザを消すかリモートアクセスはどうかなどを聞いてくるようです。後で変えられそうな項目ばかりなので移行はy連打でいいかもしれません。(なんちゅう説明だ)

自動起動設定

OS起動時に立ち上がるように設定しておきます。

systemctl enable mysqld

# 設定確認
systemctl status mysqld

MySQLの設定

設定ファイルのバックアップ

cp /etc/my.cnf /etc/my.cnf.bk

mysqldの編集

/etc/my.cnf

[mysqld]


# サーバIDの設定(省略するとmysqldumpに失敗)
server-id = mysql-01
log_bin=mysql-bin
# 外部ホストから接続許可
#bind-addressをコメント
#bind-address 127.0.0.1


# パスワードを無期限に
default_password_lifetime = 0
 character-set-server=utf8 skip-character-set-client-handshake default-storage-engine=innodb collation-server=utf8_general_ci #innodb_file_format=Barracuda #innodb_file_per_table=1 #全文検索の最小文字数を1文字に ft_min_word_len=1 #デフォルトのトランザクション分離レベルを変更 transaction-isolation = READ-COMMITTED binlog_format=mixed # クエリキャッシュを有効に query_cache_type = 1 innodb_buffer_pool_size = 286M key_buffer_size = 15M query_cache_size = 63M innodb_log_file_size = 30M innodb_log_buffer_size = 6M

ここは要件次第ということで適宜設定します。
wordpressを動かすのみといった場合は設定不要と思います。

MySQLを再起動&状態確認

systemctl restart mysqld.service
systemctl status mysqld.service

rootの初期パスワード

cat /var/log/mysqld.log | grep 'password is generated'

で確認可能

インストール後の起動にうまくいかない場合

最初に 別なバージョンのmysqlがインストールされていた場合、インストール後にmysqlを起動しようとすると「Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.」となる場合があります。

「/var/log/mysqld.log」や「journalctl -xe」をみて切り分けを行いますが、不明な場合は一度mysql,mariaDBをアンインストールしてから再度導入するといい場合があるようです。ア ンインストールでは「/var/lib/mysql」というディレクトリが残るのでこれをリネームしてから再度インストールします。

上記のエラーは「my.cnf」に問題がある場合でも同じ表示なのでログをよく読んで判断してください。特に以前のバージョンから設定内容をもってくると、廃止されているパラメータもあるので注意が必要です。