12
デモ: AWSRed Hat MySQL動作環境を さくっと作っちゃう

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

  • Upload
    sakaik

  • View
    1.997

  • Download
    1

Embed Size (px)

Citation preview

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

デモ:AWS上Red Hatに

MySQL動作環境をさくっと作っちゃう

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

MySQLサーバの動作

• mysqldと呼ばれるプロググラムが、ずっと動き続けているだけ

mysqld(プログラム)

Port 3306

Socket file

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

MySQLサーバの動作

• mysqldと呼ばれるプロググラムが、ずっと動き続けているだけ

mysqld(プログラム)

Port 3306

クライアント

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

MySQL のインストール

• Windowsのインストーラー (msi)

• Windows の “MySQL Installer”

• MacOSのインストーラー(dmg)

• Linux 系のリポジトリ(yum, apt など)

• Linux 系のパッケージ(rpm, debなど)

• バイナリを配置

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

MySQLのインストール:バイナリを配置

■考え方

• バイナリの入ったアーカイブを落としてきて

• 展開して

• 起動する

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

MySQLのインストール:バイナリを配置

■実際

• 既に入っているMariaDBを除去して

• 必要なライブラリをインストールして

• バイナリの入ったアーカイブを落としてきて

• 展開して

• 実行パラメタを書いたファイル(my.cnf)を作って

• データファイルを初期化して

• 起動する(上で作ったmy.cnfファイルを指定)

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

MySQLのインストール:バイナリを配置■コマンドとか

• MariaDB除去

• 必要なライブラリをインストール

• バイナリの入ったアーカイブを取得

• 展開

$ sudo yum -y remove mariadb-libs

$ sudo yum -y install wget libaio-devel

$ wget https://dev.mysql.com/get/Downloads/MySQL-5.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}

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

MySQLのインストール:バイナリを配置

■コマンドとか

• my.cnfファイル作成

[mysqld] log-error=/home/ec2-user/mysql/mysql57${MVER}/my.errbasedir = /home/ec2-user/mysql/mysql57${MVER}datadir = /home/ec2-user/mysql/mysql57${MVER}/dataport=157${MVER} socket=/tmp/mysql57${MVER}.sockcharacter-set-server=utf8mb4[mysqladmin]socket=/tmp/mysql57${MVER}.sock[mysql] port=157${MVER}socket=/tmp/mysql57${MVER}.sockdefault-character-set=utf8mb4

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

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

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

MySQLのインストール:バイナリを配置

■全部まとめると[!/usr/bin/bash

MVER=1

sudo yum -y install wget libaio-develsudo yum -y remove mariadb-libs

cd ~wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-8.0/mysql-8.0.${MVER}-dmr-linux-glibc2.12-x86_64.tar.gzmkdir -p mysql/cd mysql

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

#echo ------------------------------------#echo Please push ENTER key to continue.#read

cat <<EOF > my.cnf[mysqld]log-error=/home/ec2-user/mysql/mysql80${MVER}/my.errbasedir = /home/ec2-user/mysql/mysql80${MVER}datadir = /home/ec2-user/mysql/mysql80${MVER}/dataport=180${MVER}socket=/tmp/mysql80${MVER}.sockcharacter-set-server=utf8mb4

[mysqladmin]socket=/tmp/mysql80${MVER}.sock

[mysql]port=180${MVER}socket=/tmp/mysql80${MVER}.sockdefault-character-set=utf8mb4EOF

bin/mysqld --defaults-file=./my.cnf --initializebin/mysql_ssl_rsa_setup --defaults-file=./my.cnf

bin/mysqld_safe &

sleep 3

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

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

やってみよう

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

おまけ:MySQL 8.0.1 の場合の例

#!/usr/bin/bash

MVER=1

sudo yum -y install wget libaio-develsudo yum -y remove mariadb-libs

cd ~wget http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-8.0/mysql-8.0.${MVER}-dmr-linux-glibc2.12-x86_64.tar.gzmkdir -p mysql/cd mysql

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

#echo ------------------------------------#echo Please push ENTER key to continue.#read

cat <<EOF > my.cnf[mysqld]log-error=/home/ec2-user/mysql/mysql80${MVER}/my.errbasedir = /home/ec2-user/mysql/mysql80${MVER}datadir = /home/ec2-user/mysql/mysql80${MVER}/dataport=180${MVER}

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

[mysqladmin]socket=/tmp/mysql80${MVER}.sock

[mysql]port=180${MVER}socket=/tmp/mysql80${MVER}.sockdefault-character-set=utf8mb4EOF

bin/mysqld --defaults-file=./my.cnf --initializebin/mysql_ssl_rsa_setup --defaults-file=./my.cnf

bin/mysqld_safe &

sleep 3

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