CentOS6系にMySQL5.7とPHP5.6系を入れる

Published: 2017年1月2日 by tomsato

概要

MySQL5.7系とPHP5.6系が入った環境をセットアップする
目的としてはPHP,MySQLの開発環境を用意することで、開発で使うであろうcomposerも用意する

// 以下の環境で実施していくことを想定する
$ cat /etc/redhat-release
CentOS release 6.8 (Final)

PHP5.6系を入れる

$ sudo yum install -y epel-release
// yumリポジトリを追加
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
// 諸々のPHP pkgをインストール
$ sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-mysql php-gd php-xml
// フォントを入れる(文字化け対策)
$ sudo yum install -y ipa-pgothic-fonts.noarch

確認

// 5.6系であることを確認
$ php -v
PHP 5.6.29 (cli) (built: Dec  8 2016 08:51:50)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

ついでにcomposerも用意する

PHPの開発時には欠かせないcomposerも用意する

$ sudo bash -c "curl -sS https://getcomposer.org/installer | php"
$ sudo mv composer.phar /usr/local/bin/composer

MySQL5.7系を入れる

// yumリポジトリを追加
$ sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
$ sudo yum install -y mysql-community-server

MySQLの初期設定

// mysqldの起動
$ sudo service mysqld start
$ sudo chkconfig mysqld on

// MySQL5.7からは初期パスワードが設定されているのでそれを確認する
$ grep 'temporary password' /var/log/mysqld.log

// セキュリティ設定
$ sudo mysql_secure_installation
初期パスワード設定したりを対話的に実行できるが
ローカル開発などテストで使う時にはやる必要はないので今回は実行しない

確認

// 5.7系であることを確認
$ mysql --version
mysql  Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using  EditLine wrapper
// ログインできることを確認
$ mysql -uroot -p

■ インストール用の簡易スクリプトを作成する

ここまでのコマンドを毎回叩いていくのは面倒なので簡易スクリプトを用意する

$ cat tmp.sh
#!/bin/bash

# PHPインストール
sudo yum install -y epel-release
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo yum install -y --enablerepo=remi,remi-php56 php php-devel php-mbstring php-pdo php-gd php-xml
sudo yum install -y ipa-pgothic-fonts.noarch

# composerインストール
sudo bash -c "curl -sS https://getcomposer.org/installer | php"
sudo mv composer.phar /usr/local/bin/composer

# MySQLインストール
sudo yum remove mysql*
sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
sudo yum install -y mysql-community-server
sudo service mysqld restart
sudo chkconfig mysqld on

# 初期パスワードの確認
grep 'temporary password' /var/log/mysqld.log

$ sh tmp.sh

■ 備考

既にMySQLが入っていてyumリポジトリが追加できない時

$ sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
error: Failed dependencies:
	mysql-community-release conflicts with mysql57-community-release-el6-7.noarch

一度消してからやってみる

$ sudo yum remove mysql*

Share

最近の投稿

NetlifyのSplit TestingとFunctionsについて使い方をまとめる Split TestingはGitHubのブランチをベースにしたA/Bテストを行うための機能のことで、FunctionsはNetlifyでAWS Lambdaを使うことができる

NetlifyとはHTMLなどの静的コンテンツのみで構成されたWebサイトを閲覧できる形で配信するWebサービス GitHubやBitbucket、GitLabなどと連携して使うことができて、リポジトリにプッシュすることで自動でCI/CDを行うことができる、無料枠が豊富で独自ドメインを設定可能

WordPressからJekyll(GitHub Pages)に移行した手順をまとめる。 お金的な事情や使いやすさなどの理由で無料のJekyll+GitHub Pagesに移行した。JekyllとはMarkdown等から静的ページを生成する静的サイトジェネレータ

Scala開発のためにScalaらしさをまとめる 言語設計者の設計思想を元にScalaらしさについてまとめる オブジェクト指向と関数型の融合について

StorybookとはUI開発環境を提供するツール React、React Native、Angular、Vueなどをサポートしている ユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする

カテゴリ一覧

タグ一覧