CentOS7でMySQLのインストール
更新日 : 2019年10月23日
CentOS7でMySQLのインストールを行っていきます。CentOS7ではデフォルトではmariaDBというデータベースがインストールされる設定になっています。
mariaDBはMySQLの互換性を持ちますが別のデータベースになるので、今回は正規のMySQLのインストールを行っていきます。
今回はMySQLの公式に載っているインストール方法に沿って解説します。
事前準備
まずはmariaDBをインストールしないように設定していく必要があるのと、MySQLをインストールすることができる用に準備を行っていきます。
mariaDBの削除
mariaDBがインストールされている場合には削除してしまいましょう。もともとインストールされていなくても実行する分には問題ありません。
# デフォルトのmariaDBのアンインストール
$sudo yum remove mariadb-libs
# 関係するデータの削除(rmなので間違えないように注意)
$sudo rm -rf /var/lib/mysql/
これでmariaDBの削除と持っていたデータベースの削除が完了します。
MySQLの公式リポジトリの追加
CentOS7を利用する場合にはyum
というインストール専用コマンドを利用します。デフォルトではMySQLのインストールができない状態なので、インストールができる状態にしていきます。
$sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
sudo
を利用しているのでパスワードの入力を求められる場合には入力して実行しましょう。
これで公式リポジトリの追加までが完了しました。つまりMySQLをインストールするためのリストをゲットしただけです。インストールまでは完了していません。
MySQLのインストール
ここから実際にインストールを進めていきます。
インストールするMySQLのバージョンを選択
デフォルトではMySQLの最新バージョンがインストールされる設定になっています。どんなバージョンがあるのかを決めるために、バージョンリストを以下のコマンドで確認してみましょう。
$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-cluster-8.0-community/x86_64 MySQL Cluster 8.0 Community 無効
mysql-cluster-8.0-community-source MySQL Cluster 8.0 Community - So 無効
mysql-connectors-community/x86_64 MySQL Connectors Community 有効: 128
mysql-connectors-community-source MySQL Connectors Community - Sou 無効
mysql-tools-community/x86_64 MySQL Tools Community 有効: 100
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 有効: 145
mysql80-community-source MySQL 8.0 Community Server - Sou 無効
このような形でMySQLのリストが表示されます。「有効」と書かれたものがインストールする際に利用されるパッケージです。今回はMySQLのバージョン8.0がインストールされる設定になっています。
これを変更する場合には以下の用に有効・無効を変更する必要があります。
# バージョン8.0の無効化
$sudo yum-config-manager --disable mysql80-community
# バージョン5.7の有効化
$sudo yum-config-manager --enable mysql57-community
これでバージョン5.7をインストールする選択に変更されました。
確認のために先程実行したyum repolist all | grep mysql
を実行してみましょう。有効となっている項目が変更されていることがわかるかと思います。
MySQLのインストール
インストールしたいバージョンを選択できたら、実際に以下のコマンドでインストールを進めていきましょう。
$sudo yum -y install mysql-community-server
インストールが完了したという内容のメッセージが表示されればインストール完了です!
以下のコマンドでインストールされたバージョンを確認できます。
$mysql --version
mysql Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using EditLine wrapper
MySQLの起動
MySQLサーバーの起動を行っていきます。
CentOS7の場合には以下のコマンドで起動が可能です。
$sudo systemctl start mysqld
起動できたかどうか確認するために以下のコマンドも実行しましょう。
$sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since 水 2019-10-23 12:55:24 JST; 53min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 22399 ExecStart=/usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid $MYSQLD_OPTS (code=exited, status=0/SUCCESS)
Process: 22348 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 22402 (mysqld)
CGroup: /system.slice/mysqld.service
└─22402 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
active
やrunning
と表示されていれば起動ができています。
さらに、OSを再起動した場合に自動的に起動できるように自動起動設定を入れておきましょう。
$sudo systemctl enable mysqld
これで自動起動設定まで完了です。
MySQLへの初回ログイン
MySQL5.7以降を上記の方法でインストールした場合、初回のMySQLのrootユーザーパスワードが自動設定されています。自動設定されたパスワードはMySQLのログファイルに格納されています。
そのパスワードは以下のコマンドを実行することで確認できます。
$sudo grep 'temporary password' /var/log/mysqld.log
2019-10-23T03:55:20.689143Z 1 [Note] A temporary password is generated for root@localhost: パスワード
一番最後にパスワードの情報が記載されています。
初回ログインを行うために以下のコマンドを実行してみましょう。
$mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.28
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Enter password
と表示されたら先程表示されたパスワードを入力することでログインできます。ログインに成功するとmysql>
と表示され、MySQLのSQLやコマンドの入力待機状態になります。
ログインできたらrootユーザーのパスワードを以下のコマンドで変更しておきましょう。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'パスワード情報';
パスワードには、小文字・大文字・数字・記号が必要で最低8文字です。これらが含まれていないと下記のようなエラーが表示されます。
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
以上でMySQLの初回ログインとパスワード変更までが完了しました。
あとはMySQLカテゴリーにあるようなユーザー追加などを行えば利用できます。
タグ
-
前の記事
CentOS7でPHP7のインストール
-
次の記事
CentOS7でLAMP環境の構築