2015/03/24

CentOS7 に yum コマンドで MySQL をインストールする


はじめに

CentOS7 からは、デフォルトのデータベースが MySQL から MariaDB に変更になりました。

CentOS の長期サポートを受けるためには MariaDB に移行するのが正しいのでしょうが、互換性が十分と言われても不安が残ります。そういう場合は、MySQL を別途インストールする必要があります。

この記事では、yum コマンドで MySQL をインストールする方法をご紹介します。

 

MariaDB のアンインストール

MariaDB と MySQL は共存できないので、まず以下のコマンドで MariaDB がインストールされているか確認します。

# yum list installed | grep mariadb*

mariadb.x86_64                    1:5.5.37-1.el7_0                     @updates

mariadb-libs.x86_64               1:5.5.37-1.el7_0                     @updates

mariadb-server.x86_64             1:5.5.37-1.el7_0                     @updates

この環境では、MariaDB がインストールされているので、以下のコマンドでアンインストールします。

# yum -y remove mariadb*

 

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

yum コマンドで MySQL をインストールするためには、MySQL のリポジトリをインストールする必要があります。

まず、以下のコマンドで MySQL のリポジトリをダウンロードしてインストールします。

# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

# rpm -Uvh mysql-community-release-el7-5.noarch.rpm

なお、wget がインストールされていない場合は、以下のコマンドでインストールしてください。

# yum -y install wget

MySQL のリポジトリを明示的に利用する場合は、以下のコマンドを実行します。

# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/mysql-community.repo

MySQL のリポジトリを使用したい場合は、--enablerepo を以下のように指定します。

# yum --enablerepo=mysql56-community list | grep mysql

 

MySQL のインストール

インストール前に、以前に MySQL や MariaDB がインストールされていたらデータが残っているので、以下のコマンドでファイルを削除しておきます。本当に削除してよいかは、事前によく確認しておいてください。

# rm -rf /var/lib/mysql/

以下のコマンドで MySQL をインストールします。

yum -y --enablerepo=mysql56-community install mysql-community-server

依存するライブラリもインストールされました。

インストール:

  mysql-community-server.x86_64 0:5.6.23-3.el7                                 

依存性関連をインストールしました:

  mysql-community-client.x86_64 0:5.6.23-3.el7                                 

  mysql-community-common.x86_64 0:5.6.23-3.el7                                 

  mysql-community-libs.x86_64 0:5.6.23-3.el7                                    

  net-tools.x86_64 0:2.0-0.17.20131004git.el7

 

MySQL の設定

インストール後の MySQL の設定を行います。

まず、MySQL を起動します。

# systemctl start mysqld.service

下記コマンドで起動時の設定を確認します。

# systemctl list-unit-files | grep mysql

mysql.service                               enabled

mysqld.service                              enabled

enabled なら問題ありません。もし、disabled だった場合は、以下のコマンドを実行します。

# systemctl enable mysqld.service

次に、以下のコマンドで MySQL の初期設定をします。このウィザードに従ってセットアップするのが、今の主流のようですね。

# mysql_secure_installation

対話型でセットアップを行いますが、そのログを載せておきます。

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL

      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

 

In order to log into MySQL to secure it, we'll need the current

password for the root user.  If you've just installed MySQL, and

you haven't set the root password yet, the password will be blank,

so you should just press enter here.

 

Enter current password for root (enter for none): ← Enter

OK, successfully used password, moving on...

 

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

 

Set root password? [Y/n] Y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

 

 

By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.

 

Remove anonymous users? [Y/n] Y

... Success!

 

Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.

 

Disallow root login remotely? [Y/n] n

... skipping.

 

By default, MySQL comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.

 

Remove test database and access to it? [Y/n] Y

- Dropping test database...

ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist

... Failed!  Not critical, keep moving...

- Removing privileges on test database...

... Success!

 

Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.

 

Reload privilege tables now? [Y/n] Y

... Success!

 

 

 

 

All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.

 

Thanks for using MySQL!

 

 

Cleaning up...

これで、MySQL のインストールは終了です。

MySQL 操作コマンド

参考までに、MySQL を操作するコマンドを載せておきます。

・MySQL の起動

# systemctl start mysqld.service

・MySQL の停止

# systemctl stop mysqld.service

・MySQL の再起動

# systemctl restart mysqld.service

おわりに

CentOS7 に yum コマンドで MySQL をインストールする方法を見てきましたが、いかがだったでしょうか。

思っていたよりは簡単だったと思います。

但し、今後は CentOS の MySQL であっても CentOS のサポートライフサイクルではなく、Oracle/MySQL のサポートライフサイクルが適用されるので、そこは注意が必要です。

今まで、最新バージョンをインストールしていたユーザーにとっては変わらないのですけどね。

参考サイト


スポンサーリンク


このエントリーをはてなブックマークに追加




Twitter ではブログにはない、いろんな情報を発信しています。


コメント

コメントを書く



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。現在は趣味SE。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。

    >>ブログ詳細
    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから