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.
2017/07/15
日本MySQLユーザ会
坂井 恵
オープンソースカンファレンス2017-Hokkaido
【入門】
このセッションは
• MySQLを学んでいく上での「インストール」の
重要性を説く、入門向けセッションです
• MySQLの最新情報(バージョン5.7 や 8.0)な
どの話を聞きたい方は、ぜひブースのほうに
もお越しください。
Who am I?
• 坂井 恵 (さかいけい)
– @sakaik
– 日本MySQLユーザ会 副代表
– 最近は「趣味のMySQLユーザー」
– 千葉県から来ました
今日のテーマ
『インストールを極める者が
その技術をモノにする』
おしながき
1.MySQLについて
2.MySQLを学ぶということ
3.MySQLのインストール方法
4.MySQL手動でのインストール
1.MySQL
MySQLについて
基本情報の
整理
MySQL
• データベース管理システム
(データベースソフト)
• オープンソース
ライセンスは、GPLと商用ライセンスから選択可能
• Since 1995. 本格的な普及は 2001年の ver. 3.23
「世界でもっとも普及しているオ...
最近の MySQL バージョンの変遷
5.7
5.6
5.1
5.0
6.0
5.55.4(2005) (2010)
(2013)
(2015)
(2008)
8.0
(2018?)
どのバージョンを選ぶか
①既存の案件で、バージョンが指定されている
場合は、そのバージョン
②比較的すぐに新規の案件で使うなら、5.7
③将来を見越して最先端の情報を追うなら 8.0
このバージョンを選ぶ!
5.7
5.6
5.1
5.0
6.0
5.55.4(2005) (2010)
(2013)
(2015)
(2008)
8.0
(2018?)
2.MySQLを学ぶということ
技術スキルを
習得するときに
もっとも大切なものは
何だろうか
MySQLを学ぶとは
1.試す
2.試す
3.
4.
5. 試す
その他
• 調べる
• 考える
MySQL技術の習得のために必要なこと
MySQLを学ぶとは
とにかくドンドン「試す」ことが
もっとも大切な要素
(MySQLに限らず、多くの技術習得に言えること)
そんなこと、分かってるって!
MySQLを学ぶとは
• 「試す」ことが大切なのは、分かっている
•では、なぜ試さない?
– なんとなく億劫
– 試す環境を作るのがたいへん
「試す環境を作るのがたいへん」
それなら、まず、
たいへんでなくなる
力を手に入れよう
極意:
つまりインストールを極める!
今日のキーワードです
× 「知り尽くす」
○ 「あなた自身が、もっともラクできる
インストール方法を見つける」
おすすめ学習ステップ
1. とにかく一番ラクな方法でインストール
2. そこそこ満足するまで気ままにいじり倒す
3. アンインストールする
4. 何種類かのインストール方法を試して、自分
なりのインストール/アンインストールテク
ニックを手に入...
今日のキーワード
『インストールに自信を持つことが
MySQLなどの
技術を習得するための
大きな2歩目だ。 』
-- sakaik, 2017
3.MySQLインストール方法
いろいろな
インストール方法を
知る
MySQLのインストール方法あれこれ
① Windows の “MySQL Installer”
Windows のインストーラー (msi)
②MacOSのパッケージ(dmg)
③Linux 系のリポジトリ(yum, apt など)
④Lin...
MySQLのダウンロード
何をダウンロードしたいか、知っておく
ポイントは3つ
1.OSは?
2.インストール方法は?
3.32bit /64bit?
MySQLダウンロードページ
GAバージョンと開発バージョン
ダウンロード:OSの選択
おすすめ学習ステップ
1. とにかく一番ラクな方法でインストール
2. そこそこ満足するまで気ままにいじり倒す
3. アンインストールする
4. 何種類かのインストール方法を試して、自分なりのインストール/アン
インストールテクニックを手に入れ...
最初のインストール
• もっとも楽な方法でさくっと入れよう
Windows: MySQL Installer
Mac OS X: dmg
Linux系: リポジトリから
簡単インストール:Linuxリポジトリ
(MySQLダウンロードページ)
おすすめ学習ステップ
1. とにかく一番ラクな方法でインストール
2. そこそこ満足するまで気ままにいじり倒す
3. アンインストールする
4. 何種類かのインストール方法を試して、自分
なりのインストール/アンインストールテク
ニックを手に入...
極めるインストール
ぜひ手動インストールを!
MySQL動作への理解が深まる
活用の幅が広がる
一台の上に複数のMySQLとか
※きちんと理解すれば、難しくはありません!
(バイナリ・アーカイブを落としてきてインストール)
4.MySQL手動インストール
バイナリ・アーカイブを
落としてきて
MySQLが動作する
環境を作る
バイナリ配置での動作
MySQL動作のしくみ
• 接続や指示を待ち受けているプログラムがあ
る(サーバー)
• そこにクライアントが接続しに行く
mysqld
(プログラム)
TCP Port 3306
Socket file
クライアント
これだけ!
mysqlクライアント
mysqlクライアント(拡大)
MySQL動作のしくみ
• 接続や指示を待ち受けているプログラムがあ
る(サーバー)
• そこにクライアントが接続しに行く
mysqld
(プログラム)
TCP Port 3306
Socket file
(mysqlコマンドラインクライアント...
MySQL動作のしくみ
• 接続や指示を待ち受けているプログラムがあ
る(サーバー)
• そこにクライアントが接続しに行く
mysqld
(プログラム)
TCP Port 3306
Socket file
開発プログラム
クライアント
ライブラ...
MySQLのインストール:バイナリを配置
■考え方
• バイナリの入ったアーカイブを落としてきて
• mysqld を 起動する
• mysql クライアントコマンドで接続する
MySQLのインストール:バイナリを配置
■考え方
• バイナリの入ったアーカイブを落としてきて
• mysqld を 起動する
• mysql クライアントコマンドで接続する
事前準備: MySQLが動作する環境を整えて
ファイルを展開して
...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• 使用できるLinux環境(ここではAWS上のRed Hat
を例に)を用意する。
• 競合するソフトウェア(MariaDB)が入っている
ので除去する
• 必要...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• MySQLのダウンロードページから、適切なファ
イルをダウンロードし、展開する
見るポイント
 OS
 32bit か 64bit か
 ファイルのタイプ...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• MySQLのダウンロードページから、適切なファ
イルをダウンロードし、展開する
見るポイント
 OS
 32bit か 64bit か
 ファイルのタイプ...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
mysqld(サーバ)起動時に、動作内容を指示す
るためのパラメタを指定する
 接続待ちするポート
 接続に使用するソケットファイル(Linuxのローカル接続
...
毎回の起動のたびに「必
要なパラメタ」を全部指定
するのは面倒なので、
my.cnf という設定ファイル
に記述しておくとラク。
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
my.cnf記述例
③mysqldを起動:のために my.cnfを記述
[mysqld]
log-error=/home/ec2-user/mysql/mysql5...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• mysqldを “--initialize” オプションをつけて実行
すると、データファイル群が作成される
• ついでに ssl の初期化もしておくとよい
③-...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• mysqld_safe を使って mysqldサーバを起動
(作成したmy.cnf が、カレントフォルダに存在する前提)
③-3 mysqldサーバ起動
$ b...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
作成した my.cnf ファイルを指定して、mysql クラ
イアントコマンドを実行
④ mysqlクライアントから接続と最初の設定
$ ./bin/mysql -...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• インストール直後に作成されているユーザの「初期パスワー
ド」を変更する必要がある
• 変更するまで、なんの操作もできない
• 変更には ALTER USER 文...
#!/usr/bin/bash
MVER=1
sudo yum -y install wget libaio-devel
sudo yum -y remove mariadb-libs
cd ~
wget http://ftp.iij.ad.j...
MySQLのインストール:バイナリを配置
■考え方
• バイナリの入ったアーカイブを落としてきて
• mysqld を 起動する
• mysql クライアントコマンドで接続する
事前準備: MySQLが動作する環境を整えて
ファイルを展開して
...
今日のキーワード
『インストールに自信を持つことが
MySQLなどの
技術を習得するための
大きな2歩目だ。 』
-- sakaik, 2017
極意(再掲)
つまりインストールを極める!
今日のキーワードです
× 「知り尽くす」
○ 「あなた自身が、もっともラクできる
インストール方法を見つける」
インストールと
アンインストールを
自在に操って、
どんどんMySQLを
試しちゃいましょう!
- Fin -
展示ブースのご案内
オラクル・MySQLチーム さんと
日本MySQLユーザ会のブースが
それぞれあります(斜め向かい)
オラクル・MySQLチームさんの
ニュー・ノベルティ
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~
Upcoming SlideShare
Loading in …5
×

OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~

729 views

Published on

2017/07/15に札幌で開催された、オープンソースカンファレンス(OSC)2017-Hokkaidoでの、日本MySQLユーザ会発表枠での発表資料です。インストールを極めて、MySQLをいじり倒す環境をいつでも気軽に作れるようになりましょう、というのが趣旨です。

Published in: Technology
  • Be the first to comment

OSC2017 Hokkaido. MySQL今こそインストールを極めよう~改めて考える環境構築~

  1. 1. 2017/07/15 日本MySQLユーザ会 坂井 恵 オープンソースカンファレンス2017-Hokkaido 【入門】
  2. 2. このセッションは • MySQLを学んでいく上での「インストール」の 重要性を説く、入門向けセッションです • MySQLの最新情報(バージョン5.7 や 8.0)な どの話を聞きたい方は、ぜひブースのほうに もお越しください。
  3. 3. Who am I? • 坂井 恵 (さかいけい) – @sakaik – 日本MySQLユーザ会 副代表 – 最近は「趣味のMySQLユーザー」 – 千葉県から来ました
  4. 4. 今日のテーマ 『インストールを極める者が その技術をモノにする』
  5. 5. おしながき 1.MySQLについて 2.MySQLを学ぶということ 3.MySQLのインストール方法 4.MySQL手動でのインストール
  6. 6. 1.MySQL MySQLについて 基本情報の 整理
  7. 7. MySQL • データベース管理システム (データベースソフト) • オープンソース ライセンスは、GPLと商用ライセンスから選択可能 • Since 1995. 本格的な普及は 2001年の ver. 3.23 「世界でもっとも普及しているオープンソース データベース」(主催者発表)
  8. 8. 最近の MySQL バージョンの変遷 5.7 5.6 5.1 5.0 6.0 5.55.4(2005) (2010) (2013) (2015) (2008) 8.0 (2018?)
  9. 9. どのバージョンを選ぶか ①既存の案件で、バージョンが指定されている 場合は、そのバージョン ②比較的すぐに新規の案件で使うなら、5.7 ③将来を見越して最先端の情報を追うなら 8.0
  10. 10. このバージョンを選ぶ! 5.7 5.6 5.1 5.0 6.0 5.55.4(2005) (2010) (2013) (2015) (2008) 8.0 (2018?)
  11. 11. 2.MySQLを学ぶということ 技術スキルを 習得するときに もっとも大切なものは 何だろうか
  12. 12. MySQLを学ぶとは 1.試す 2.試す 3. 4. 5. 試す その他 • 調べる • 考える MySQL技術の習得のために必要なこと
  13. 13. MySQLを学ぶとは とにかくドンドン「試す」ことが もっとも大切な要素 (MySQLに限らず、多くの技術習得に言えること) そんなこと、分かってるって!
  14. 14. MySQLを学ぶとは • 「試す」ことが大切なのは、分かっている •では、なぜ試さない? – なんとなく億劫 – 試す環境を作るのがたいへん
  15. 15. 「試す環境を作るのがたいへん」 それなら、まず、 たいへんでなくなる 力を手に入れよう
  16. 16. 極意: つまりインストールを極める! 今日のキーワードです × 「知り尽くす」 ○ 「あなた自身が、もっともラクできる インストール方法を見つける」
  17. 17. おすすめ学習ステップ 1. とにかく一番ラクな方法でインストール 2. そこそこ満足するまで気ままにいじり倒す 3. アンインストールする 4. 何種類かのインストール方法を試して、自分 なりのインストール/アンインストールテク ニックを手に入れる 5. 気ままにいじり倒す 6. 気ままにいじり倒す(以下続く)
  18. 18. 今日のキーワード 『インストールに自信を持つことが MySQLなどの 技術を習得するための 大きな2歩目だ。 』 -- sakaik, 2017
  19. 19. 3.MySQLインストール方法 いろいろな インストール方法を 知る
  20. 20. MySQLのインストール方法あれこれ ① Windows の “MySQL Installer” Windows のインストーラー (msi) ②MacOSのパッケージ(dmg) ③Linux 系のリポジトリ(yum, apt など) ④Linux 系のパッケージ(rpm, debなど) ⑤バイナリを配置(手動インストール) ⑥ソースコードからビルド
  21. 21. MySQLのダウンロード 何をダウンロードしたいか、知っておく ポイントは3つ 1.OSは? 2.インストール方法は? 3.32bit /64bit?
  22. 22. MySQLダウンロードページ
  23. 23. GAバージョンと開発バージョン
  24. 24. ダウンロード:OSの選択
  25. 25. おすすめ学習ステップ 1. とにかく一番ラクな方法でインストール 2. そこそこ満足するまで気ままにいじり倒す 3. アンインストールする 4. 何種類かのインストール方法を試して、自分なりのインストール/アン インストールテクニックを手に入れる 5. 気ままにいじり倒す 6. 気ままにいじり倒す(以下続く) 【再掲】
  26. 26. 最初のインストール • もっとも楽な方法でさくっと入れよう Windows: MySQL Installer Mac OS X: dmg Linux系: リポジトリから
  27. 27. 簡単インストール:Linuxリポジトリ (MySQLダウンロードページ)
  28. 28. おすすめ学習ステップ 1. とにかく一番ラクな方法でインストール 2. そこそこ満足するまで気ままにいじり倒す 3. アンインストールする 4. 何種類かのインストール方法を試して、自分 なりのインストール/アンインストールテク ニックを手に入れる 5. 気ままにいじり倒す 6. 気ままにいじり倒す(以下続く) 【再掲】
  29. 29. 極めるインストール ぜひ手動インストールを! MySQL動作への理解が深まる 活用の幅が広がる 一台の上に複数のMySQLとか ※きちんと理解すれば、難しくはありません! (バイナリ・アーカイブを落としてきてインストール)
  30. 30. 4.MySQL手動インストール バイナリ・アーカイブを 落としてきて MySQLが動作する 環境を作る
  31. 31. バイナリ配置での動作
  32. 32. MySQL動作のしくみ • 接続や指示を待ち受けているプログラムがあ る(サーバー) • そこにクライアントが接続しに行く mysqld (プログラム) TCP Port 3306 Socket file クライアント これだけ!
  33. 33. mysqlクライアント
  34. 34. mysqlクライアント(拡大)
  35. 35. MySQL動作のしくみ • 接続や指示を待ち受けているプログラムがあ る(サーバー) • そこにクライアントが接続しに行く mysqld (プログラム) TCP Port 3306 Socket file (mysqlコマンドラインクライアントからの接続)
  36. 36. MySQL動作のしくみ • 接続や指示を待ち受けているプログラムがあ る(サーバー) • そこにクライアントが接続しに行く mysqld (プログラム) TCP Port 3306 Socket file 開発プログラム クライアント ライブラリ (接続ライブラリ) (各種開発プログラムからの接続)
  37. 37. MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • mysqld を 起動する • mysql クライアントコマンドで接続する
  38. 38. MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • mysqld を 起動する • mysql クライアントコマンドで接続する 事前準備: MySQLが動作する環境を整えて ファイルを展開して 必要なパラメタを指定して起動 必要なパラメタを指定して接続 毎回の起動のたびに「必要なパラメタ」を全部指定するのは面倒なので、 my.cnf という設定ファイルに記述しておくとラク。 最初にデータファイルの初期化
  39. 39. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • 使用できるLinux環境(ここではAWS上のRed Hat を例に)を用意する。 • 競合するソフトウェア(MariaDB)が入っている ので除去する • 必要なライブラリをインストールする ①動作環境の用意 $ sudo yum remove mariadb-libs $ sudo yum install wget libaio-devel
  40. 40. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • MySQLのダウンロードページから、適切なファ イルをダウンロードし、展開する 見るポイント  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
  41. 41. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • MySQLのダウンロードページから、適切なファ イルをダウンロードし、展開する 見るポイント  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
  42. 42. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 mysqld(サーバ)起動時に、動作内容を指示す るためのパラメタを指定する  接続待ちするポート  接続に使用するソケットファイル(Linuxのローカル接続 ではこれを使う)  標準で使用する文字コード  各種ファイル配置のパス ③mysqldを起動・・・・の前に、パラメタについて $ bin/mysqld --port=3306 --socket=/tmp/mysql5718.sock --character- set-server=utf8mb4 --datadir=/home/my/mysql/mysql5718/data …
  43. 43. 毎回の起動のたびに「必 要なパラメタ」を全部指定 するのは面倒なので、 my.cnf という設定ファイル に記述しておくとラク。
  44. 44. 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
  45. 45. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • mysqldを “--initialize” オプションをつけて実行 すると、データファイル群が作成される • ついでに ssl の初期化もしておくとよい ③-2 データファイルの初期化 $ bin/mysqld --defaults-file=./my.cnf --initialize $ bin/mysql_ssl_rsa_setup --defaults-file=./my.cnf
  46. 46. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • mysqld_safe を使って mysqldサーバを起動 (作成したmy.cnf が、カレントフォルダに存在する前提) ③-3 mysqldサーバ起動 $ bin/mysqld_safe & ※ mysqld_safe は、色々と良きに計らって mysqld を起動してくれるスクリプト
  47. 47. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 作成した my.cnf ファイルを指定して、mysql クラ イアントコマンドを実行 ④ mysqlクライアントから接続と最初の設定 $ ./bin/mysql --defaults-file=./my.cnf -uroot -p initializeの時に、初期パスワードが my.err に書き込まれるので あらかじめ確認しておく 2017-05-24T05:07:08.020775Z 4 [Note] A temporary password is generated for root@localhost: rtrqCApwZ8?k
  48. 48. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • インストール直後に作成されているユーザの「初期パスワー ド」を変更する必要がある • 変更するまで、なんの操作もできない • 変更には ALTER USER 文を使用する ④-2 パスワード設定 mysql> ALTER USER root@localhost IDENTIFIED BY 'mypass';
  49. 49. #!/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 オレオレセットアップスクリプトの例
  50. 50. MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • mysqld を 起動する • mysql クライアントコマンドで接続する 事前準備: MySQLが動作する環境を整えて ファイルを展開して 必要なパラメタを指定して起動 必要なパラメタを指定して接続 毎回の起動のたびに「必要なパラメタ」を全部指定するのは面倒なので、 my.cnf という設定ファイルに記述しておくとラク。 最初にデータファイルの初期化 【再掲】
  51. 51. 今日のキーワード 『インストールに自信を持つことが MySQLなどの 技術を習得するための 大きな2歩目だ。 』 -- sakaik, 2017
  52. 52. 極意(再掲) つまりインストールを極める! 今日のキーワードです × 「知り尽くす」 ○ 「あなた自身が、もっともラクできる インストール方法を見つける」
  53. 53. インストールと アンインストールを 自在に操って、 どんどんMySQLを 試しちゃいましょう! - Fin -
  54. 54. 展示ブースのご案内 オラクル・MySQLチーム さんと 日本MySQLユーザ会のブースが それぞれあります(斜め向かい)
  55. 55. オラクル・MySQLチームさんの ニュー・ノベルティ

×