際際滷

際際滷Share a Scribd company logo
これからデ`タベ`スMySQLを
兵める繁のために
2017/05/27
晩云MySQLユ`ザ氏
梳小 {
オ`プンソ`スカンファレンス2017-Nyagoya
‐秘T/‐奮辛/
このセッションは
? ランチタイムセッションです
? お隔ちのおひるごはん┐參翌も根むを
奮べながらSにおきください
? ただし、においのいものは、うらやましくなり
ます
このセッションは
? 〆これからデ`タベ`スMySQLを兵める繁の
ために〇という、秘T鬚吋札奪轡腑鵑任
? rgに噫圍があれば、MySQL恷仟秤鵑筺
MySQLの弌ネタなどをB初します
MySQLを僥ぶとは
? す
? す
? す
? 深える
? す
? す
? {べる
? す
? す
? す
? す
? {べる
? 深える
? す
MySQL誼のために駅勣なこと
MySQLを僥ぶとは
? とにかくす《す《す
MySQLに泙蕕此謹くの室g誼に冱えること
? なぜさない
C なんとなく|駿
C すh廠を恬るのがたいへん
仝すh廠を恬るのがたいへん々
なら、まず、
たいへんじゃなくなる
薦を返に秘れることに
薦を護きましょう
O吭
つまりインスト`ルをOめる
書晩のキ`ワ`ドです
〜 仝岑り勝くす々
$ 仝あなた徭附が、もっともラクできる
インスト`ル圭隈をつける々
おすすめ僥ステップ
1. とにかく匯桑ラクな圭隈でインスト`ル
2. そこそこ祭磴垢襪泙櫃泙泙砲い犬蟲垢
3. アンインスト`ルする
4. 採Nかのインスト`ル圭隈をして、徭蛍
なりのインスト`ルアンインスト`ルテク
ニックを返に秘れる
5. 櫃泙泙砲い犬蟲垢
6. 櫃泙泙砲い犬蟲垢
7. 櫃泙泙砲い犬蟲垢
MySQLのインスト`ル圭隈あれこれ
 Windows の ^MySQL Installer ̄
Windows のインスト`ラ` (msi)
MacOSのパッケ`ジ(dmg)
Linux 狼のリポジトリ(yum, apt など)
∠Linux 狼のパッケ`ジ(rpm, debなど)
⊥バイナリを塘崔
ダウンロ`ド
珂霞皆河晦ダウンロ`ドペ`ジ
OSC2017 Nagoya これからデ`タベ`スmysqlを兵める繁のため
赫粥バ`ジョンと蝕kバ`ジョン
ダウンロ`ド紺審Г倫k
OSC2017 Nagoya これからデ`タベ`スmysqlを兵める繁のため
恷兜のインスト`ル
? もっともSな圭隈でさくっと秘れよう
Windows MySQL Installer
MacOS dmg
Linux狼 リポジトリから
gインスト`ル今味蕋遑xリポジトリ
(珂霞皆河晦ダウンロ`ドペ`ジ)
Oめるインスト`ル
ぜひバイナリで
?尖盾が侮まる
?試喘の嫌がレがる
?匯岬の貧に}方のMySQLとか
☆屎しく尖盾すれば、yしくはありません
バイナリでのインスト`ル
MySQL嘛のしくみ
? 俊Aや峺幣を棋ち鞭けているプログラムがあ
る┘稀`バ`
? そこに俊Aに佩くクライアントがあるだけ。
mysqld
(プログラム)
TCP Port 3306
Socket file
クライアント
珂霞壊援鉛クライアント
OSC2017 Nagoya これからデ`タベ`スmysqlを兵める繁のため
MySQL嘛のしくみ
? 俊Aや峺幣を棋ち鞭けているプログラムがあ
る┘稀`バ`
? そこに俊Aに佩くクライアントがあるだけ。
mysqld
(プログラム)
TCP Port 3306
Socket file
MySQL嘛のしくみ
? 俊Aや峺幣を棋ち鞭けているプログラムがあ
る┘稀`バ`
? そこに俊Aに佩くクライアントがあるだけ。
mysqld
(プログラム)
TCP Port 3306
Socket file
_kプログラム
クライアント
ライブラリ
┰咯Aライブラリ
MySQLのインスト`ル坤丱ぅ淵蠅鯏籌
*深え圭
? バイナリの秘ったア`カイブを鯛としてきて
? mysqld を 軟咾垢
? mysql クライアントコマンドで俊Aする
MySQLのインスト`ル坤丱ぅ淵蠅鯏籌
*深え圭
? バイナリの秘ったア`カイブを鯛としてきて
? mysqld を 軟咾垢
? mysql クライアントコマンドで俊Aする
mysqlが嘛するh廠を屁えて
ファイルを婢_して
駅勣なパラメタを峺協して軟
駅勣なパラメタを峺協して俊A
飴悗瞭咾里燭咾法険慴なパラメタ々を畠何峺協するのは中宜なので、
my.cnf というO協ファイルに峰しておくとラク。
恷兜にデ`タファイルの兜豚晒
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
? 聞喘できるLinuxh廠┐海海任AWS貧のRed
Hat)を喘吭する。
? 栽するソフトウェア(MariDB)が秘っているの
で茅肇する
? 駅勣なライブラリをインスト`ルする
嘛h廠の喘吭
$ sudo yum remove mariadb-libs
$ sudo yum install wget libaio-devel
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
? MySQLのダウンロ`ドペ`ジから、m俳なファ
イルをダウンロ`ドし、婢_する
るポイント
? OS
? 32bit か 64bit か
? ファイルのタイプ徨など パッケ`ジシステムのファイルでないもの
撻丱ぅ淵蠅糧襪辰織〒`カイブを鯛としてきて
$ wget https://dev.mysql.com/get/Downloads/MySQL-
5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
$ tar xvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
$ mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql5718
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
mysqld┘稀`バ軟rに、嘛坪否を峺幣す
るためのパラメタを峺協する
? 俊A棋ちするポ`ト
? 俊Aに聞喘するソケットファイルLinuxのロ`カル俊
Aではこれを聞う
? 覆琶荒辰垢詢鍔屮芥`ド
? 光Nファイル塘崔のパス
mysqldを軟????の念に、パラメタについて
$ bin/mysqld --port=3306 --socket=/tmp/mysql5718.sock --character-
set-server=utf8mb4 --datadir=/home/my/mysql/mysql5718/data ´
飴悗瞭咾里燭咾法険
勣なパラメタ々を畠何峺協
するのは中宜なので、
my.cnf というO協ファイル
に峰しておくとラク。
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
my.cnf峰箭
mysqldを軟咤困里燭瓩 my.cnfを峰
[mysqld]
log-error=/home/ec2-user/mysql/mysql5718/my.err
basedir = /home/ec2-user/mysql/mysql5718
datadir = /home/ec2-user/mysql/mysql5718/data
port=15718
socket=/tmp/mysql5718.sock
character-set-server=utf8mb4
[mysqladmin]
socket=/tmp/mysql5718.sock
[mysql]
port=15718
socket=/tmp/mysql5718.sock
default-character-set=utf8mb4
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
? mysqldを ^--initialize ̄ オプションをつけてg佩
すると、デ`タファイル蛤が恬撹される
? ついでに ssl の兜豚晒もしておくと耳
-2 デ`タファイルの兜豚晒
$ bin/mysqld --defaults-file=./my.cnf --initialize
$ bin/mysql_ssl_rsa_setup --defaults-file=./my.cnf
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
? mysqld_safe を聞って mysqldサ`バを軟
(恬撹したmy.cnf が、カレントフォルダに贋壓する念戻
-3 mysqldサ`バ軟
$ bin/mysqld_safe &
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
恬撹した my.cnf ファイルを峺協して、mysql クラ
イアントコマンドをg佩
∠ mysqlクライアントから俊Aと恷兜のO協
$ ./bin/mysql --defaults-file=./my.cnf -uroot -p
initializeのrに、兜豚パスワ`ドが my.err にきzまれるので
あらかじめ_Jしておく
2017-05-24T05:07:08.020775Z 4 [Note] A temporary password is generated for
root@localhost: rtrqCApwZ8?k
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
? インスト`ル岷瘁に恬撹されているユ`ザの仝兜豚パスワ`
ド々を筝する駅勣がある
? 筝するまで、なんの荷恬もできない
? 筝には ALTER USER 猟を聞喘する
∠-2 パスワ`ドO協
mysql> ALTER USER root@localhost IDENTIFIED BY 'mypass';
#!/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';
MySQLのバイナリでのインスト`ル
Linux(AWSのRed Hat)の箭
おまけ MySQL 8.0.1 オレオレセットアップスクリプトの箭
O吭壅
つまりインスト`ルをOめる
書晩のキ`ワ`ドです
〜 仝岑り勝くす々
$ 仝あなた徭附が、もっともラクできる
インスト`ル圭隈をつける々
インスト`ルと
アンインスト`ルを
徭壓に荷って、
どんどんMySQLを
しちゃいましょう
- Fin -
婢幣ブ`スのご宛坪

More Related Content

OSC2017 Nagoya これからデ`タベ`スmysqlを兵める繁のため