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.
これからデータベースMySQLを
始める人のために
2017/05/27
日本MySQLユーザ会
坂井 恵
オープンソースカンファレンス2017-Nyagoya
【入門】【飲食可】
このセッションは
• ランチタイムセッションです
• お持ちのおひるごはん(お餅以外も含む)を
食べながら気楽にお聞きください
• ただし、においの強いものは、うらやましくなり
ます
このセッションは
• 『これからデータベースMySQLを始める人の
ために』という、入門向けセッションです
• 時間に余裕があれば、MySQL最新情報や、
MySQLの小ネタなどを紹介します
MySQLを学ぶとは
• 試す
• 試す
• 試す
• 考える
• 試す
• 試す
• 調べる
• 試す
• 試す
• 試す
• 試す
• 調べる
• 考える
• 試す
MySQL習得のために必要なこと
MySQLを学ぶとは
• とにかく試す!試す!試す
(MySQLに限らず、多くの技術習得に言えること)
• なぜ試さない?
– なんとなく億劫
– 試す環境を作るのがたいへん
「試す環境を作るのがたいへん」
なら、まず、
たいへんじゃなくなる
力を手に入れることに
力を割きましょう
極意:
つまりインストールを極める!
今日のキーワードです
× 「知り尽くす」
○ 「あなた自身が、もっともラクできる
インストール方法を見つける」
おすすめ学習ステップ
1. とにかく一番ラクな方法でインストール
2. そこそこ満足するまで気ままにいじり倒す
3. アンインストールする
4. 何種類かのインストール方法を試して、自分
なりのインストール/アンインストールテク
ニックを手に入...
MySQLのインストール方法あれこれ
① Windows の “MySQL Installer”
Windows のインストーラー (msi)
②MacOSのパッケージ(dmg)
③Linux 系のリポジトリ(yum, apt など)
④Lin...
ダウンロード
MySQLダウンロードページ
GAバージョンと開発バージョン
ダウンロード:OSの選択
最初のインストール
• もっとも楽な方法でさくっと入れよう
Windows: MySQL Installer
MacOS: dmg
Linux系: リポジトリから
簡単インストール:Linuxリポジトリ
(MySQLダウンロードページ)
極めるインストール
ぜひバイナリで!
理解が深まる
活用の幅が広がる
一台の上に複数のMySQLとか
※正しく理解すれば、難しくはありません!
バイナリでのインストール
MySQL動作のしくみ
• 接続や指示を待ち受けているプログラムがあ
る(サーバー)
• そこに接続に行くクライアントがあるだけ。
mysqld
(プログラム)
TCP Port 3306
Socket file
クライアント
Mysqlクライアント
MySQL動作のしくみ
• 接続や指示を待ち受けているプログラムがあ
る(サーバー)
• そこに接続に行くクライアントがあるだけ。
mysqld
(プログラム)
TCP Port 3306
Socket file
MySQL動作のしくみ
• 接続や指示を待ち受けているプログラムがあ
る(サーバー)
• そこに接続に行くクライアントがあるだけ。
mysqld
(プログラム)
TCP Port 3306
Socket file
開発プログラム
クライアント
...
MySQLのインストール:バイナリを配置
■考え方
• バイナリの入ったアーカイブを落としてきて
• mysqld を 起動する
• mysql クライアントコマンドで接続する
MySQLのインストール:バイナリを配置
■考え方
• バイナリの入ったアーカイブを落としてきて
• mysqld を 起動する
• mysql クライアントコマンドで接続する
mysqlが動作する環境を整えて
ファイルを展開して
必要なパラメ...
MySQLのバイナリでのインストール
Linux(AWSのRed Hat)の例
• 使用できるLinux環境(ここではAWS上のRed
Hat)を用意する。
• 競合するソフトウェア(MariDB)が入っているの
で除去する
• 必要なライブラ...
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 の初期化もしておくと吉
③-2...
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を
試しちゃいましょう!
- Fin -
展示ブースのご案内
OSC2017 Nagoya これからデータベースmysqlを始める人のため
OSC2017 Nagoya これからデータベースmysqlを始める人のため
OSC2017 Nagoya これからデータベースmysqlを始める人のため
Upcoming SlideShare
Loading in …5
×

OSC2017 Nagoya これからデータベースmysqlを始める人のため

1,060 views

Published on

2017/05/27に開催された、オープンソースカンファレンス2017名古屋(OSC2017-Nagoya)でのセミナー資料「これからデータベースMySQLを始める人のために」の発表資料です。インストールを極めよう、というお話です。

Published in: Technology
  • Be the first to comment

  • Be the first to like this

OSC2017 Nagoya これからデータベースmysqlを始める人のため

  1. 1. これからデータベースMySQLを 始める人のために 2017/05/27 日本MySQLユーザ会 坂井 恵 オープンソースカンファレンス2017-Nyagoya 【入門】【飲食可】
  2. 2. このセッションは • ランチタイムセッションです • お持ちのおひるごはん(お餅以外も含む)を 食べながら気楽にお聞きください • ただし、においの強いものは、うらやましくなり ます
  3. 3. このセッションは • 『これからデータベースMySQLを始める人の ために』という、入門向けセッションです • 時間に余裕があれば、MySQL最新情報や、 MySQLの小ネタなどを紹介します
  4. 4. MySQLを学ぶとは • 試す • 試す • 試す • 考える • 試す • 試す • 調べる • 試す • 試す • 試す • 試す • 調べる • 考える • 試す MySQL習得のために必要なこと
  5. 5. MySQLを学ぶとは • とにかく試す!試す!試す (MySQLに限らず、多くの技術習得に言えること) • なぜ試さない? – なんとなく億劫 – 試す環境を作るのがたいへん
  6. 6. 「試す環境を作るのがたいへん」 なら、まず、 たいへんじゃなくなる 力を手に入れることに 力を割きましょう
  7. 7. 極意: つまりインストールを極める! 今日のキーワードです × 「知り尽くす」 ○ 「あなた自身が、もっともラクできる インストール方法を見つける」
  8. 8. おすすめ学習ステップ 1. とにかく一番ラクな方法でインストール 2. そこそこ満足するまで気ままにいじり倒す 3. アンインストールする 4. 何種類かのインストール方法を試して、自分 なりのインストール/アンインストールテク ニックを手に入れる 5. 気ままにいじり倒す 6. 気ままにいじり倒す 7. 気ままにいじり倒す
  9. 9. MySQLのインストール方法あれこれ ① Windows の “MySQL Installer” Windows のインストーラー (msi) ②MacOSのパッケージ(dmg) ③Linux 系のリポジトリ(yum, apt など) ④Linux 系のパッケージ(rpm, debなど) ⑤バイナリを配置
  10. 10. ダウンロード
  11. 11. MySQLダウンロードページ
  12. 12. GAバージョンと開発バージョン
  13. 13. ダウンロード:OSの選択
  14. 14. 最初のインストール • もっとも楽な方法でさくっと入れよう Windows: MySQL Installer MacOS: dmg Linux系: リポジトリから
  15. 15. 簡単インストール:Linuxリポジトリ (MySQLダウンロードページ)
  16. 16. 極めるインストール ぜひバイナリで! 理解が深まる 活用の幅が広がる 一台の上に複数のMySQLとか ※正しく理解すれば、難しくはありません!
  17. 17. バイナリでのインストール
  18. 18. MySQL動作のしくみ • 接続や指示を待ち受けているプログラムがあ る(サーバー) • そこに接続に行くクライアントがあるだけ。 mysqld (プログラム) TCP Port 3306 Socket file クライアント
  19. 19. Mysqlクライアント
  20. 20. MySQL動作のしくみ • 接続や指示を待ち受けているプログラムがあ る(サーバー) • そこに接続に行くクライアントがあるだけ。 mysqld (プログラム) TCP Port 3306 Socket file
  21. 21. MySQL動作のしくみ • 接続や指示を待ち受けているプログラムがあ る(サーバー) • そこに接続に行くクライアントがあるだけ。 mysqld (プログラム) TCP Port 3306 Socket file 開発プログラム クライアント ライブラリ (接続ライブラリ)
  22. 22. MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • mysqld を 起動する • mysql クライアントコマンドで接続する
  23. 23. MySQLのインストール:バイナリを配置 ■考え方 • バイナリの入ったアーカイブを落としてきて • mysqld を 起動する • mysql クライアントコマンドで接続する mysqlが動作する環境を整えて ファイルを展開して 必要なパラメタを指定して起動 必要なパラメタを指定して接続 毎回の起動のたびに「必要なパラメタ」を全部指定するのは面倒なので、 my.cnf という設定ファイルに記述しておくとラク。 最初にデータファイルの初期化
  24. 24. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • 使用できるLinux環境(ここではAWS上のRed Hat)を用意する。 • 競合するソフトウェア(MariDB)が入っているの で除去する • 必要なライブラリをインストールする ①動作環境の用意 $ sudo yum remove mariadb-libs $ sudo yum install wget libaio-devel
  25. 25. 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
  26. 26. 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 …
  27. 27. 毎回の起動のたびに「必 要なパラメタ」を全部指定 するのは面倒なので、 my.cnf という設定ファイル に記述しておくとラク。
  28. 28. 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
  29. 29. 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
  30. 30. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • mysqld_safe を使って mysqldサーバを起動 (作成したmy.cnf が、カレントフォルダに存在する前提) ③-3 mysqldサーバ起動 $ bin/mysqld_safe &
  31. 31. 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
  32. 32. MySQLのバイナリでのインストール Linux(AWSのRed Hat)の例 • インストール直後に作成されているユーザの「初期パスワー ド」を変更する必要がある • 変更するまで、なんの操作もできない • 変更には ALTER USER 文を使用する ④-2 パスワード設定 mysql> ALTER USER root@localhost IDENTIFIED BY 'mypass';
  33. 33. #!/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 オレオレセットアップスクリプトの例
  34. 34. 極意(再掲) つまりインストールを極める! 今日のキーワードです × 「知り尽くす」 ○ 「あなた自身が、もっともラクできる インストール方法を見つける」
  35. 35. インストールと アンインストールを 自在に操って、 どんどんMySQLを 試しちゃいましょう! - Fin -
  36. 36. 展示ブースのご案内

×