Skip to content

Instantly share code, notes, and snippets.

@knife0125
Last active December 16, 2015 00:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save knife0125/5347210 to your computer and use it in GitHub Desktop.
Save knife0125/5347210 to your computer and use it in GitHub Desktop.

現状のCentOSなどでは、yumでインストールされるMysqlのバージョンが5.1.67のため、
MySQL5.6以降のInnoDBの性能向上などを考えて、Mysqlの最新GAバージョンをインストールしたい。

前提

  • CentOS6.4の64bitがインストールされていること
  • 以下の操作はrootで実行することを想定していること

MySQL5.6以降のインストール

rpmパッケージでインストール

とりあえずJaistとかのミラーからrpmを取ってくるのが早いかも。
http://ftp.jaist.ac.jp/pub/mysql/Downloads/

cd /opt
wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-client-5.6.10-1.el6.x86_64.rpm
wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-server-5.6.10-1.el6.x86_64.rpm
wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-5.6.10-1.el6.x86_64.rpm
wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-devel-5.6.10-1.el6.x86_64.rpm
# wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-test-5.6.10-1.el6.x86_64.rpm
# wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-shared-compat-5.6.10-1.el6.x86_64.rpm
# wget http://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/MySQL-embedded-5.6.10-1.el6.x86_64.rpm
yum install MySQL-*.rpm -y

※ MySQLのオフィシャルページに、sharedを入れた場合はshared-compatを入れないようになどの記載あり。
詳細は未確認だが、通常の利用においては上側4つのパッケージで問題ないはず。

MySQLの起動

service mysql start

パスワードの変更

rootユーザのパスワードを変えないと何もできないようになっている。

# デフォルトで指定されているMySQLのrootユーザのパスワードを確認
cat ~/.mysql_secret

# デフォルトのパスワードでログインして、パスワードを変更
mysql -u root -p
SET PASSWORD FOR root@localhost=PASSWORD('password');
exit

# 設定したパスワードでログインできる事を確認
mysql -u root -p  

mysql_secure_installation

# secure_installationで安心してインストール
mysql_secure_installation
    Change the root password? [Y/n] n                # 今変えたてなので、nでそのまま
    Remove anonymous users? [Y/n] Y                  # 余計なユーザを削除
    Disallow root login remotely? [Y/n] Y            # Remoteからのroot権限アクセスはセキュリティ的に禁止
    Remove test database and access to it? [Y/n] Y   # testDBは要らないので削除
    Reload privilege tables now? [Y/n] Y             # たぶんリロードしといて良い

mysqlの自動起動を設定

# 自動起動を設定
chkconfig mysql on

# 設定を確認
chkconfig mysql --list
    mysql               0:off     1:off     2:on     3:on     4:on     5:on     6:off

以上で、今回はMySQL5.6.10をインストール完了

MySQLの設定

my.cnfのバックアップ

my.cnfは、MySQL5.1系頃までは/etc/my.cnfに、MySQL5.5系以降は/usr/my.cnfに存在する。

# originalのmy.cnfをバックアップ
cp /usr/my.cnf /usr/my.conf.origin

my.cnfの編集・設定

文字コードの設定

# 設定を編集
vi /usr/my.cnf
    [mysqld]
        character-set-server=utf8
    [mysql]
        default-character-set=utf8
    [client]
        default-character-set=utf8
# 再起動して設定を反映
service mysql restart

ストレージエンジンの設定

デフォルトでinnoDBをストレージエンジンとして利用するように設定

# my.cnfを編集
vi /usr/my.cnf
    [mysqld]
        innodb_file_per_table
        default-storage-engine=InnoDB

# 再起動して設定を反映
service mysql restart

設定の反映

# 設定を編集した際は、反映するために再起動
service mysql restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment