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