MySQL をインストール
1.MySQLのダウンロード
今まではソースをコンパイルしてインストールしてきましたが、mysqlぱyumでmysql5.7をインストールします。
CentOS7.6をインストールしますとmariaDB(MySQL互換のDB)がインストールされる場合がありますので、まずこれが残ったままだと、これからインストールするMySQLと競合するので、まずは削除しておきます。
1.1 mariaDBの削除
mariaDBの削除 # rpm -qa | grep maria ← mariaDBが存在するか確認 mariadb-libs-5.5.60-1.el7_5.x86_64 # yum remove mariadb-libs ← 本体削除 # rm -rf /var/lib/mysql/ ← データ削除 |
1.2 MySQL公式リポジトリの追加と設定
①MySQLの5.6以降をインストールするためには、まずMySQL公式サイトからリポジトリをインストールします。
RHEL7系用のパッケージをダウンロードし、直接インストール # yum install https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm |
②リポジトリが追加されたか確認します。
# yum repolist all | grep mysql mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community 無効 mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community - So 無効 mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community 無効 mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community - So 無効 mysql-connectors-community/x86_64 MySQL Connectors Community 有効 mysql-connectors-community-source MySQL Connectors Community - Sou 無効 mysql-tools-community/x86_64 MySQL Tools Community 有効 mysql-tools-community-source MySQL Tools Community - Source 無効 mysql-tools-preview/x86_64 MySQL Tools Preview 無効 mysql-tools-preview-source MySQL Tools Preview - Source 無効 mysql55-community/x86_64 MySQL 5.5 Community Server 無効 mysql55-community-source MySQL 5.5 Community Server - Sou 無効 mysql56-community/x86_64 MySQL 5.6 Community Server 無効 mysql56-community-source MySQL 5.6 Community Server - Sou 無効 mysql57-community/x86_64 MySQL 5.7 Community Server 無効 mysql57-community-source MySQL 5.7 Community Server - Sou 無効 mysql80-community/x86_64 MySQL 8.0 Community Server 有効 mysql80-community-source MySQL 8.0 Community Server - Sou 無効 |
③このままではMySQL8.0がインストールされてしまうので、5.7がインストールされるように設定を変更します。
設定を変更するためにはyumの設定変更用のyum-utilsパッケージが必要なので、インストールされていない場合はインストールする。
# yum list installed | grep yum-utils ← yum-utilsがインストールされているか確認 # yum -y install yum-utils ← 入ってなければyum-utilsをインストールする |
MySQL8.0を無効化し、MySQL5.7を有効化
# yum-config-manager –disable mysql80-community ← MySQL8.0を無効化 # yum-config-manager –enable mysql57-community ← MySQL5.7を有効化 |
2.MySQLのインストール
2.1 パッケージのバージョンを確認します。
パッケージの情報がずらずらっと表示されますが、バージョンが5.7.xxになっていればOK。インストールします。
# yum info mysql-community-server …(略)… 名前 : mysql-community-server アーキテクチャー : x86_64 バージョン : 5.7.24 リリース : 2.el6 容量 : *** M リポジトリー : installed 提供元リポジトリー : mysql57-community 要約 : A very fast and reliable SQL database server URL : http://www.mysql.com/ ライセンス : Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. Under GPLv2 license as shown in the Description field. 説明 : …(略)… |
2.2 インストール
インストール # yum -y install mysql-community-server インストールされたらバージョンを確認 # mysqld –version mysqld Ver 5.7.24 for Linux on x86_64 (MySQL Community Server (GPL)) |
3.Mysqlの起動/停止/自動起動設定
# systemctl start mysqld ← 起動 # systemctl stop mysqld ← 停止 # systemctl status mysqld ← ステータス確認 # systemctl restart mysqld ← 再起動 # systemctl enable mysqld ← 自動起動 ON # systemctl start mysqld自動起動になっているか確認する # systemctl is-enabled mysqldmysqld.service is not a native service, redirecting to /sbin/chkconfig. Executing /sbin/chkconfig mysqld –level=5 enabled enabledになっていれば自動起動 ONに設定されている。chkconfigで確認 # chkconfig –list mysqld ← 自動起動設定の確認mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off 2~5がonになっていれば自動起動 ONに設定されている |
4.Mysqlの初期設定
4.1 root ユーザーの初期パスワードを知る
MySQL 5.7 では、初回起動と同時に root ユーザーにランダムな文字列がパスワードとして設定されます。 初期パスワードは MySQL のログファイルに出力されています。 ログファイルは/var/log/mysqld.log です。 ログを開くと次のようにパスワードが記載されています。
# vi /var/log/mysqld.log [Note] A temporary password is generated for root@localhost: ??XX;BB6Y ??XX;BB6Y ランダムな初期パスワード |
4.2 root ユーザーのパスワードを設定する
①mysql_secure_installation でrootパスワードを違うものに変更する
$ mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL In order to log into MySQL to secure it, we’ll need the current # 現在のmysqlのrootパスワードを入力、初回は空でエンター Setting the root password ensures that nobody can log into the MySQL # rootパスワードを設定しますか? By default, a MySQL installation has an anonymous user, allowing anyone # 匿名ユーザーを削除しますか? Normally, root should only be allowed to connect from ‘localhost’. This # リモートでのrootログインを拒否しますか? By default, MySQL comes with a database named ‘test’ that anyone can # テスト用データベースを削除しますか? Reloading the privilege tables will ensure that all changes made so far # 今すぐFLUSH PRIVILEGESしますか? All done! If you’ve completed all of the above steps, your MySQL Thanks for using MySQL! Cleaning up… |
②以降、MySQLにログインするには
# mysql -u root -p password ; |
# vi