CentOS6.7にMySQL5.7をインストール

remiに5.5はあるが5.7を入れたいため、MySQLのリポジトリを追加する。

リポジトリの追加


wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
yum localinstall mysql57-community-release-el6-7.noarch.rpm

/etc/yum.repos.d/mysql-community.repoを編集する。


[mysql55-community]
enabled=0

[mysql56-community]
enabled=0

[mysql57-community]
enabled=0

インストール


yum --enablerepo=mysql57-community install mysql-community-server

Installed:
mysql-community-libs.i686 0:5.7.10-2.el6                                      
mysql-community-libs-compat.i686 0:5.7.10-2.el6                               
mysql-community-server.i686 0:5.7.10-2.el6                                    

Dependency Installed:
libaio.i686 0:0.3.107-10.el6                                                  
mysql-community-client.i686 0:5.7.10-2.el6                                    
mysql-community-common.i686 0:5.7.10-2.el6                                    
numactl.i686 0:2.0.9-2.el6

起動


# 手動起動
service mysqld start

# 現状確認
service mysqld status
mysqld (pid  3004) is running...

# バージョン確認
mysql --version
mysql  Ver 14.14 Distrib 5.7.10, for Linux (i686) using  EditLine wrapper

# 自動起動確認
chkconfig --list mysqld
mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

# 自動起動させる
chkconfig mysqld on

# 再確認
chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

初期設定

mysqlsecureinstallationで初期設定を行う。

  • rootユーザーのパスワード設定
  • 匿名ユーザーの削除
  • テスト用のDBの削除

MySQL5.7では自動でパスワードが設定されているため、以下で確認しておく。


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

# 下のXXXXXXXXXXXXがPassword
root@localhost: XXXXXXXXXXXX

パスワードの条件

6.7ではvalidate_password Pluginが有効になっているため、パスワードは以下の条件を満たす必要がある。

  • 8文字以上
  • 英大文字小文字数字記号

条件に満たない場合は、Failed! Error: Your password does not satisfy the current policy requirementsが表示される。

セットアップ

以下、対話形式で進む。


mysql_secure_installation

無事設定できればSuccessが表示される。

ログイン


mysql -u root -p
Enter password: xxxx
Welcome to the MySQL monitor.

文字化け対策

MySQLの設定ファイルは、/etc/my.cnfにある。


[mysqld]
init_connect=SET NAMES utf8
character-set-server=utf8
skip-character-set-client-handshake

[client]
default-character-set=utf8

終わったら再起動しておく。


service mysqld restart

コメントする




8 + sixteen =