AWSのRedHatにMySQL最速インストール

>100 Views

May 13, 17

スライド概要

2017.05.13 日本MySQLユーザ会会(MyNA会)長野2017 で紹介した、AWS上のRed Hat に(バイナリで)MySQLをインストールする資料です。

初出URL:https://www.slideshare.net/sakaik/awsredhatmysql

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

デモ: AWS上Red Hat に MySQL動作環境を さくっと作っちゃう

2.

MySQLサーバの動作 • mysqld と呼ばれるプロググラムが、ずっと動 き続けているだけ Port 3306 Socket file mysqld (プログラム)

3.

MySQLサーバの動作 • mysqld と呼ばれるプロググラムが、ずっと動 き続けているだけ Port 3306 クライアント mysqld (プログラム)

4.

MySQL のインストール • • • • • • Windows のインストーラー (msi) Windows の “MySQL Installer” MacOSのインストーラー(dmg) Linux 系のリポジトリ(yum, apt など) Linux 系のパッケージ(rpm, debなど) バイナリを配置

5.

MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • 展開して • 起動する

6.

MySQLのインストール:バイナリを配置 ■実際 • 既に入っている MariaDBを除去して • 必要なライブラリをインストールして • バイナリの入ったアーカイブを落としてきて • 展開して • 実行パラメタを書いたファイル(my.cnf)を作って • データファイルを初期化して • 起動する(上で作ったmy.cnfファイルを指定)

7.

MySQLのインストール:バイナリを配置 ■コマンドとか • MariaDB除去 $ sudo yum -y remove mariadb-libs • 必要なライブラリをインストール $ sudo yum -y install wget libaio-devel • バイナリの入ったアーカイブを取得 $ wget https://dev.mysql.com/get/Downloads/MySQL5.7/mysql-5.7.${MVER}-linux-glibc2.5-x86_64.tar.gz • 展開 $ tar xvf mysql-5.7.${MVER}-linux-glibc2.5-x86_64.tar.gz mv mysql-5.7.${MVER}-linux-glibc2.5-x86_64 mysql57${MVER}

8.

MySQLのインストール:バイナリを配置 ■コマンドとか • my.cnf ファイル作成 [mysqld] log-error=/home/ec2-user/mysql/mysql57${MVER}/my.err basedir = /home/ec2-user/mysql/mysql57${MVER} datadir = /home/ec2-user/mysql/mysql57${MVER}/data port=157${MVER} socket=/tmp/mysql57${MVER}.sock character-set-server=utf8mb4 [mysqladmin] socket=/tmp/mysql57${MVER}.sock [mysql] port=157${MVER} socket=/tmp/mysql57${MVER}.sock default-character-set=utf8mb4

9.

MySQLのインストール:バイナリを配置 ■コマンドとか • データファイルの初期化 $ bin/mysqld --defaults-file=./my.cnf --initialize $ bin/mysql_ssl_rsa_setup --defaults-file=./my.cnf • 起動 $ bin/mysqld_safe & • 接続 $ ./bin/mysql --defaults-file=./my.cnf -uroot -p

10.
[beta]
MySQLのインストール:バイナリを配置

■全部まとめると
[!/usr/bin/bash
MVER=1
sudo yum -y install wget libaio-devel
sudo yum -y remove mariadb-libs
cd ~
wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-8.0/mysql8.0.${MVER}-dmr-linux-glibc2.12-x86_64.tar.gz
mkdir -p mysql/
cd mysql

tar xvf ../mysql-8.0.${MVER}-dmr-linux-glibc2.12-x86_64.tar.gz
mv mysql-8.0.${MVER}-dmr-linux-glibc2.12-x86_64 mysql80${MVER}
cd mysql80${MVER}

[mysqladmin]
socket=/tmp/mysql80${MVER}.sock
[mysql]
port=180${MVER}
socket=/tmp/mysql80${MVER}.sock
default-character-set=utf8mb4
EOF

bin/mysqld --defaults-file=./my.cnf --initialize
bin/mysql_ssl_rsa_setup --defaults-file=./my.cnf
bin/mysqld_safe &
sleep 3

#echo -----------------------------------#echo Please push ENTER key to continue.
#read
cat <<EOF > my.cnf
[mysqld]
log-error=/home/ec2-user/mysql/mysql80${MVER}/my.err
basedir = /home/ec2-user/mysql/mysql80${MVER}
datadir = /home/ec2-user/mysql/mysql80${MVER}/data
port=180${MVER}
socket=/tmp/mysql80${MVER}.sock
character-set-server=utf8mb4

grep 'temporary password' my.err
echo To connect: ./bin/mysql --defaults-file=./my.cnf -uroot -p
echo Change password: ALTER USER root@localhost IDENTIFIED BY \'mypass\';

11.

やって みよう

12.
[beta]
おまけ:MySQL 8.0.1 の場合の例
#!/usr/bin/bash

socket=/tmp/mysql80${MVER}.sock
character-set-server=utf8mb4

MVER=1
sudo yum -y install wget libaio-devel
sudo yum -y remove mariadb-libs
cd ~
wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-8.0/mysql8.0.${MVER}-dmr-linux-glibc2.12-x86_64.tar.gz
mkdir -p mysql/
cd mysql

tar xvf ../mysql-8.0.${MVER}-dmr-linux-glibc2.12-x86_64.tar.gz
mv mysql-8.0.${MVER}-dmr-linux-glibc2.12-x86_64 mysql80${MVER}
cd mysql80${MVER}

[mysqladmin]
socket=/tmp/mysql80${MVER}.sock
[mysql]
port=180${MVER}
socket=/tmp/mysql80${MVER}.sock
default-character-set=utf8mb4
EOF

bin/mysqld --defaults-file=./my.cnf --initialize
bin/mysql_ssl_rsa_setup --defaults-file=./my.cnf
bin/mysqld_safe &

#echo -----------------------------------#echo Please push ENTER key to continue.
#read
cat <<EOF > my.cnf
[mysqld]
log-error=/home/ec2-user/mysql/mysql80${MVER}/my.err
basedir = /home/ec2-user/mysql/mysql80${MVER}
datadir = /home/ec2-user/mysql/mysql80${MVER}/data
port=180${MVER}

sleep 3
grep 'temporary password' my.err
echo To connect: ./bin/mysql --defaults-file=./my.cnf -uroot -p
echo Change password: ALTER USER root@localhost IDENTIFIED BY
\'mypass\';