1. プロジェクト目標
(1)MySQLの3つのインストール方法を理解する; (2)yumを使用したMySQLのインストールを習得する; (3)rpmを使用したMySQLのインストールを習得する; (4)ソースコードを使用したMySQLのインストールを習得する。
2. プロジェクト準備
2.1 ノードの計画
| ホスト名 | ホストIP | ノード計画 |
|---|---|---|
| mysql-yum | 10.0.1.10 | yumによるMySQLインストール |
| mysql-rpm | 10.0.1.20 | rpmによるMySQLインストール |
| mysql-make | 10.0.1.30 | ソースコードによるMySQLインストール |
2.2 基本準備
システムイメージ:CentOS 7.9
インストールパッケージのダウンロードURL:
- MySQLのYUMパッケージ
- MySQLソースコードパッケージ
3. プロジェクト実施
3.1 yumによるMySQLのインストール
(1)MySQLのyumパッケージをダウンロード
wget http://dev.mysql.com/get/mysql80-community-release-el7-8.noarch.rpm
(2)リポジトリのインストール
yum install mysql80-community-release-el7-8.noarch.rpm -y
(3)MySQLのインストールを開始
yum install mysql-community-server -y --nogpgcheck
(4)MySQLサービスの起動
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld.service
(5)初期パスワードの取得
grep "password" /var/log/mysqld.log
(6)初期パスワードを使用してログインし、パスワードを変更
mysql -uroot -p
#パスワードを入力
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
3.2 rpmによるMySQLのインストール
(1)インストールの準備
rpm -qa | grep -i mysql
rpm -e [–nodeps] package_name
(2)公式サイトからのダウンロード
MySQL公式サイトから対応するRPMパッケージをダウンロード:
- MySQL Community Server
- MySQL Community Client Library
- MySQL Community Common Files
- MySQL Community Server
- MySQL Community Client
必要に応じて以下のRPMパッケージをダウンロード:
- mysql-community-common-8.0.11-1.el7.x86_64.rpm
- mysql-community-libs-8.0.11-1.el7.x86_64.rpm
- mysql-community-server-8.0.11-1.el7.x86_64.rpm
- mysql-community-client-8.0.11-1.el7.x86_64.rpm
(3)RPMパッケージのアップロード
FTPツールを使用して、WindowsシステムからLinuxシステムにダウンロードしたRPMパッケージを転送します。
(4)RPMパッケージのインストール
依存関係に注意して、以下の順序でRPMパッケージをインストールします:
rpm -ivh mysql-community-common-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.11-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.11-1.el7.x86_64.rpm
(5)MySQLサービスの起動
systemctl start mysqld.service
systemctl status mysqld.service
systemctl enable mysqld.service
3.3 ソースコードによるMySQLのインストール
(1)MySQLソースコードパッケージのダウンロード
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-boost-8.0.13.tar.gz
(2)MySQLユーザーとグループの作成
groupadd mysql
useradd -M -s /sbin/nologin -r -g mysql mysql
(3)MySQLデータ保存ディレクトリの作成
mkdir -p /data/mysql/data
mkdir -p /data/mysql/log
chown -R mysql:mysql /data/mysql/
(4)MySQL依存パッケージおよびツールパッケージのインストール
yum install -y cmake make gcc gcc-c++ bison ncurses ncurses-devel openssl-devel
(5)ソースコードパッケージの解凍と事前コンパイル
tar -vzxf mysql-boost-8.0.13.tar.gz
cd mysql-8.0.13/
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
> -DMYSQL_DATADIR=/data/mysql/data \
> -DWITH_BOOST=/root/mysql-8.0.13/boost \
> -DSYSCONFDIR=/etc \
> -DDEFAULT_CHARSET=utf8mb4 \
> -DDEFAULT_COLLATION=utf8mb4_general_ci \
> -DENABLED_LOCAL_INFILE=1 \
> -DEXTRA_CHARSETS=all \
> -DMYSQL_TCP_PORT=3306 \
> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
> -DWITH_READLINE=1 \
実行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/data -DWITH_BOOST=/root/mysql-8.0.13/boost -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DENABLED_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DMYSQL_TCP_PORT=3306 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_READLINE=1
設定の説明
-DCMAKE_INSTALL_PREFIX:MySQLのインストールルートディレクトリを指定します。
-DMYSQL_DATADIR:MySQLデータファイルの保存場所を設定します。
-DWITH_BOOST:Boostライブラリのパスを指定します。
-DSYSCONFDIR:my.cnf設定ファイルのディレクトリ
-DDEFAULT_CHARSET:データベースのデフォルト文字エンコーディング
-DDEFAULT_COLLATION:デフォルトの照合順序
-DENABLED_LOCAL_INFILE:ローカルファイルからのデータインポートを許可
-DEXTRA_CHARSETS:すべての文字セットをインストール
-DMYSQL_TCP_PORT:MySQLサービスがリッスンするTCPポート番号を設定
-DMYSQL_UNIX_ADDR:ソケットファイルのパス
-DWITH_READLINE:Readlineライブラリのサポートを有効にする
(6)コンパイルとインストール
make ; make install
(7)MySQLインストールディレクトリの権限を設定し、メイン設定ファイルを編集
chown -R mysql:mysql /usr/local/mysql/
vim /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/data
port=3306
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
character-set-server=utf8
log-error=/data/mysql/log/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
(8)起動スクリプトのコピーと実行権限の追加
cp support-files/mysql.server /etc/init.d/mysql.server
chmod +x /etc/init.d/mysql.server
(9)データベースの初期化
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data
(10)システムサービスの追加とサービスの起動
chkconfig --add mysql.server #システムサービスの追加
chkconfig mysql.server on #自動起動の設定
chkconfig --list mysql.server #自動起動状態の確認
/etc/init.d/mysql.server start #起動
/etc/init.d/mysql.server status #状態確認
/etc/init.d/mysql.server stop #停止
(11)環境変数の設定
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile
ln -s /usr/local/mysql/bin/* /usr/local/bin/
(12)MySQLの起動
systemctl start mysql
systemctl status mysql
systemctl enable mysql
(13)MySQLへのログイン
mysql
(14)rootユーザーのパスワード設定
ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
4. プロジェクトまとめ
本記事では、MySQLをインストールする3つの方法を紹介しました。必要に応じて異なるインストール方法を選択できます。ソースコード方式ではカスタマイズの選択肢がより多く、他の2つの方法はインストールが速く、より便利です。