Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

2,137 views

Published on

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

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

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

  1. 1. デモ: AWS上Red Hat に MySQL動作環境を さくっと作っちゃう
  2. 2. MySQLサーバの動作 • mysqld と呼ばれるプロググラムが、ずっと動 き続けているだけ mysqld (プログラム) Port 3306 Socket file
  3. 3. MySQLサーバの動作 • mysqld と呼ばれるプロググラムが、ずっと動 き続けているだけ mysqld (プログラム) Port 3306 クライアント
  4. 4. MySQL のインストール • Windows のインストーラー (msi) • Windows の “MySQL Installer” • MacOSのインストーラー(dmg) • Linux 系のリポジトリ(yum, apt など) • Linux 系のパッケージ(rpm, debなど) • バイナリを配置
  5. 5. MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • 展開して • 起動する
  6. 6. MySQLのインストール:バイナリを配置 ■実際 • 既に入っている MariaDBを除去して • 必要なライブラリをインストールして • バイナリの入ったアーカイブを落としてきて • 展開して • 実行パラメタを書いたファイル(my.cnf)を作って • データファイルを初期化して • 起動する(上で作ったmy.cnfファイルを指定)
  7. 7. 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}
  8. 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. 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. 10. 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/mysql- 8.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} #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 [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 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. 11. やって みよう
  12. 12. おまけ:MySQL 8.0.1 の場合の例 #!/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/mysql- 8.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} #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 [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 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';

×