- 投稿日:2020-01-04T23:00:42+09:00
MySQLで採番機能(シーケンス)を実装する方法を整理する
概要
今更ですが、MySQLで採番機能(シーケンス)が必要になったので、実装方法について自分用に整理してみました。
環境
MySQL 8.0.18
実装方法
方法1.LAST_INSERT_ID(expr) を使う
公式ドキュメントで紹介されている方法です。
MySQL :: MySQL 8.0 Reference Manual :: 12.15 Information Functions1. 採番用のテーブルを用意し、ID=0のレコードをINSERTしておく
CREATE TABLE sequence (id INT NOT NULL) ENGINE=InnoDB; INSERT INTO sequence VALUES (0);2.
LAST_INSERT_ID
を使用し、連番を取得するUPDATE sequence SET id=LAST_INSERT_ID(id+1); SELECT LAST_INSERT_ID();注意点として、
- rollbackすると、同一のIDが再度発行される
- UPDATEで排他ロックがかかる(分離レベル:
REPEATABLE-READ
で検証)が挙げられます。
方法2.AUTO_INCREMENTを使う
「MySQL で採番テーブル」で紹介されている方法です。
1.採番用のテーブルを用意する
CREATE TABLE seq_ai ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ) engine = InnoDB;2.新規レコードをINSERTし、
LAST_INSERT_ID
で連番を取得するINSERT INTO seq_ai VALUES (NULL); SELECT LAST_INSERT_ID();3.採番テーブルにたまるレコードを削除する
DELETE FROM seq_ai WHERE id < :id; -- 2で取得した最新のレコードを残して削除方法1の注意点1(rollback時の挙動)については、こちらの方法ではrollbackしても同じIDは発行されません(AUTO_INCREMENTのカウンタはrollbackしても戻らない)。
一方で、こちらの方法だと3のDELETE時に排他ロックが発生します(分離レベル:
REPEATABLE-READ
で検証)。方法3.方法1+ストレージエンジンをMyISAMにする
方法1の注意点はどちらもトランザクションに起因する問題だったので、採番用テーブルのみストレージエンジンをMyISAMにします。
CREATE TABLE sequence (id INT NOT NULL) ENGINE=MyISAM; INSERT INTO sequence VALUES (0);シーケンスの取得方法は方法1と同じです。
UPDATE sequence SET id=LAST_INSERT_ID(id+1); SELECT LAST_INSERT_ID();ストレージエンジンをMyISAMにすることで、
- rollbackしても同じIDが発行されない
- 排他ロックがかからない
という状態を実現できます。
参考URL
- 投稿日:2020-01-04T22:55:36+09:00
冬休みのmy宿題として、自宅サーバーを建ててみて感じたこと
はじめに
いやぁ、冬ですね。寒いですね。
皆さん、年明けいかがおすごしでしょうか?どこか旅行に行かれてますか?それとも、美味しい物食べて寝正月ですか?
いいですね。かくいう私は、冬休みの期間を活用して、3ヶ月ほど前からやりたかった自宅サーバーの開設にチャレンジしてみました。
言ってみれば、鯖正月って感じですかねwセキュリティとか使い勝手は酷いものですが、一応データベースサーバーを作ることができました。
この記事では、サーバー構築してみた経験をポイントに分けて振り返ってみたいと思います。作った物のザックリ概要
- PC本体: SONYのVAIO,CPUはintel celeron
- OS: Ubuntu18.04.3 LTS
- その他: Apache2、MySQL5 etc.
試しに、「サーバー建ててみる」という目的で始めたので、昔使っていたノートパソコンを使ってサーバーにしていきました。
ディストリビューション選定はデスクトップ版のほうがいい!
今回はUbuntuディストリビューションを使っていったんですが、
Ubuntuにはサーバー版とデスクトップ版との2つエディションがあります。最初は、「サーバー建てるためだから」と、その名前の通りサーバー版を安易に選んでいました。
CLIで環境設定を行うんですが、ここで困ったのがWi-fiの接続です。めちゃめちゃ基本ですし、ファイルを編集して行うはずなんですが、
何度設定しようとしてもできませんでした、、デスクトップ版だと環境設定が楽!
そこで、一度入れたサーバー版のOSを削除してGUIを使うことができるデスクトップ版をインストールしました。
すると、なんということでしょう!
初期設定でwi-fiの設定もできますし、日本語の設定をすれば、環境設定後も楽々作業できます。
初心者には断然、デスクトップ版がオススメです。IPやDHCPなどのネットワーク周りの知識がついた(たぶん)
これは、もともとの目的だったんですが、基本的なネットワーク周りの知識をサーバーを建てていく過程で触れることができます。
僕は、始める前は固定IPアドレスの必要性など、簡単なところも理解できていなかったのですが、今では説明できますし、なぜDDNSなどのサービスがあるのかも理解できたかなと思っています。
本でネットワーク周りの知識はあるけど、イマイチピンときていないって方はサーバー開設で理解を深めるというのもいいのではないでしょうか?セキュリティに関する知識がついた(きっと)
今回の成果物ではセキュリティ周りはダメダメだと思っているので、もっと丁寧に設定しないといけないなと反省しているのですが、それでもファイアーウォールの設定やsshの設定、sslなどに触れることはできました。
聞いたことあるけど良くわからんというセキュリティ関連の分野に爪先だけでも入ることができたかなと思っています。
サーバーも人が作ってるんだという実感が湧く(重要)
僕にとってはこれが結構デカイです。
正直、「自宅サーバー建ててみたら?」と勧められるまで、サーバーはAmazonやGoogleと言った大企業から賜る神の御業や贈物かなにかだと思ってましたww
(けっこうガチで)でも、実際はそんなことはなく、サーバーも人の手で作られていますし、人が作れる物は大抵自分でも作れます。(そんなことない時もありますがw)
さらに、誰でも作れるように世界中の自分よりも頭も能力も優れている人たちがネット上に情報を発信してくれています。それらを使えば、広大で理解できないように思われるインターネット技術の端っこに触れることは誰にだってできるんだと改めて感じました。
小さいですが、こうゆう成功体験ができると、また作ってみたいという気持ちも湧いてきますし、この感覚は重要だと自画自賛してますw
本当に自信なかったですが、サーバー建ててみて良かったです!
皆さんも、チャレンジしてみてください!
- 投稿日:2020-01-04T18:54:02+09:00
[初心者コピペ用]LaravelをAWSのEC2へデプロイ
前提
- 2020年1月4日に確認したものです。
- AWSのアカウント作成済
- プロジェクトをGitHubにpush済
環境
- macOS Catalina 10.15.2
- Apache 2.4
- PHP 7.1.33
- MySQL 5.7
- Laravel 5.8
1. EC2インスタンスの起動
- EC2コンソールで作成(「公式チュートリアル」が分かりやすかったです)
- 基本的に無料利用枠(下記の項目以外はデフォルト値)
設定項目 設定した内容 Amazon マシンイメージ (AMI) Amazon Linux 2でなく、Amazon Linux インスタンスタイプ t2.micro
Linux2だと、手順が異なる(公式ドキュメント)
インスタンス作成の最後に、SSH接続に必要なキーペアを生成or設定
キーペア(pemファイル)は、~/.sshフォルダに入れておくと良い
2. EC2内で作業
2-1. SSHでEC2に接続
SSHとは. SSH(Secure Shell)とは、安全に通信を行って、ネットワークに接続された機器を遠隔操作するための通信手段(プロトコル)の1つ
※ 参照:初心者がSSHについて学ぶ(´・ω・`)
$ ssh -i [キーペア(pemファイル)を置いた場所のパス] ec2-user@[パブリックDNS or パブリックIP]
iオプション
で、上記で生成or設定したpemファイルを指定するec2-user
は、デフォルトのユーザー名。最初はこのユーザー名を使うパブリックDNS or パブリックIP
は、EC2コンソール画面で確認できる- 初回接続時のみ、yes/noを聞かれる
2-2. Apache, PHP, MySQLのインストール
- yumのアップデートは忘れずに!(パッケージを最新にする)
- yumは
yオプション
を付けることで、問い合わせ全てにYesと答えるため、yes/noがいちいち聞かれなくなります。$ sudo yum update -y $ sudo yum install -y httpd24 php71 php71-mbstring php71-zip php71-fpm php71-mysqlnd mysql57-server2-3. Apacheを起動
$ sudo service httpd start※ Linux2だと、systemctlコマンドが使える
この時点で、ブラウザで
パブリック IP
にアクセスすると、Apacheの画面が表示される。
(EC2コンソール画面のセキュリティグループのインバウンドで、httpの80ポートを空けておくことを忘れずに)
# システムが再起動するたびにApacheが起動するように設定 $ sudo chkconfig httpd on # 設定の確認 $ chkconfig --list httpd2-4. ec2-userのファイル操作の許可を設定
参照:公式チュートリアル
Amazon Linux Apache ドキュメントルートは /var/www/html であり、デフォルトでは root によって所有されます。
そのため、ec2-userにファイル操作の権限を設定する必要がある。
# ec2-userをapacheグループに追加 $ sudo usermod -a -G apache ec2-user # いったんログアウトして、再度ログイン $ exit $ ssh -i [キーペアのpemファイルを置いた場所のパス] ec2-user@[パブリックDNS or パブリックIP] # /var/www とそのコンテンツのグループ所有権を apache グループに変更 $ sudo chown -R ec2-user:apache /var/www # グループに、/var/wwwの書き込み許可追加 $ sudo chmod 2775 /var/www # /var/www とサブディレクトのディレクトリ許可を変更 $ find /var/www -type d -exec sudo chmod 2775 {} \; # /var/www とサブディレクトリのファイル許可を変更 $ find /var/www -type f -exec sudo chmod 0664 {} \;2-5. composer自身のインストール
& curl -sS https://getcomposer.org/installer | php # composerコマンドのパスを通す $ sudo mv composer.phar /usr/local/bin/composer # パス確認(/usr/local/bin/composerと表示されればOK) $ which composer2-6. Laravelプロジェクトをgit clone
sudo yum install git cd /var/www git clone [URL]2-7. Apacheの設定変更
http.confファイルのDocumentRootの変更
Laravelでは、プロジェクト内のpublicディレクトリをドキュメントルートに指定する必要がある
$ sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot “/var/www/html”
の箇所をDocumentRoot “/var/www/プロジェクト名/public”
に変更http.confファイルに以下のDirectoryを追加(.htaccessの有効化)
<Directory /var/www/プロジェクト名/public> AllowOverride All </Directory>Apacheの設定変更後は、再起動を忘れずに!
$ sudo service httpd restart2-8. パッケージのインストール
$ cd /var/www/[プロジェクトのフォルダ名] # composer.jsonファイルがない場合 $ composer init # vendorディレクトリが生成される $ composer install2-9. Laraveプロジェクトの設定
ディレクトリのパーミッション変更
Laravelでは、
storage
下とbootstrap/cache
ディレクトリをWebサーバから書き込み可能にする必要がある$ sudo chmod -R 777 /var/www/[プロジェクト名]/storage $ sudo chmod -R 775 /var/www/[プロジェクト名]/bootstrap/cache.envファイルの作成
cp .env.example .env # .envファイルにある「APP_KEY」(アプリケーションキー)の生成 php artisan key:generateAPP_NAME=Laravel APP_ENV=production APP_KEY=base64:xxxxxxx(php artisan key:generateで生成される) APP_DEBUG=false APP_URL=http://[パブリックIP]2-10. DBの設定、作成
MySQL側
# MySQL起動 $ sudo service mysqld start # MySQLの初期設定 $ sudo mysql_secure_installation # システムが再起動するたびにMySQLが起動するように設定 $ sudo chkconfig mysqld on # データベース作成 $ mysql -u root -p > 設定したパスワード入力 > create database [データベース名]; > show databases;
mysql_secure_installation
コマンドで聞かれること
- パスワード検証プラグインのセットアップ
- パスワード
- 匿名ユーザーアカウントの削除
- rootユーザーのリモートログインの許否
- testデータベースの削除
Laravel側
# 「DB_DATABASE」など、DB情報を設定しておく $ sudo vi .env DB_DATABASE=[作成したデータベース名] DB_USERNAME=root DB_PASSWORD=[設定したパスワード]$ php artisan migrate $ php artisan db:seed参考にさせて頂いた記事
【Laravel】AWSにLaravelをインストールする
Laravel:EC2-PHP72-Apacheで環境を作成する
MySQL5.7 にて root のパスワード変更などの初期設定をする
- 投稿日:2020-01-04T18:54:02+09:00
LaravelをAWSのEC2へデプロイする手順
前提
- 2020年1月4日に確認したものです。
- AWSのアカウント作成済
- プロジェクトをGitHubにpush済
環境
- macOS Catalina 10.15.2
- Apache 2.4
- PHP 7.1.33
- MySQL 5.7
- Laravel 5.8
1. EC2インスタンスの起動
- EC2コンソールで作成(「公式チュートリアル」が分かりやすかったです)
- 基本的に無料利用枠(下記の項目以外はデフォルト値)
設定項目 設定した内容 Amazon マシンイメージ (AMI) Amazon Linux 2でなく、Amazon Linux インスタンスタイプ t2.micro
Linux2だと、手順が異なる(公式ドキュメント)
インスタンス作成の最後に、SSH接続に必要なキーペアを生成or設定
キーペア(pemファイル)は、~/.sshフォルダに入れておくと良い
2. EC2内で作業
2-1. SSHでEC2に接続
SSHとは. SSH(Secure Shell)とは、安全に通信を行って、ネットワークに接続された機器を遠隔操作するための通信手段(プロトコル)の1つ
※ 参照:初心者がSSHについて学ぶ(´・ω・`)
$ ssh -i [キーペア(pemファイル)を置いた場所のパス] ec2-user@[パブリックDNS or パブリックIP]
iオプション
で、上記で生成or設定したpemファイルを指定するec2-user
は、デフォルトのユーザー名。最初はこのユーザー名を使うパブリックDNS or パブリックIP
は、EC2コンソール画面で確認できる- 初回接続時のみ、yes/noを聞かれる
2-2. Apache, PHP, MySQLのインストール
- yumのアップデートは忘れずに!(パッケージを最新にする)
- yumは
yオプション
を付けることで、問い合わせ全てにYesと答えるため、yes/noがいちいち聞かれなくなります。$ sudo yum update -y $ sudo yum install -y httpd24 php71 php71-mbstring php71-zip php71-fpm php71-mysqlnd mysql57-server2-3. Apacheを起動
$ sudo service httpd start※ Linux2だと、systemctlコマンドが使える
この時点で、ブラウザで
パブリック IP
にアクセスすると、Apacheの画面が表示される。
(EC2コンソール画面のセキュリティグループのインバウンドで、httpの80ポートを空けておくことを忘れずに)
# システムが再起動するたびにApacheが起動するように設定 $ sudo chkconfig httpd on # 設定の確認 $ chkconfig --list httpd2-4. ec2-userのファイル操作の許可を設定
参照:公式チュートリアル
Amazon Linux Apache ドキュメントルートは /var/www/html であり、デフォルトでは root によって所有されます。
そのため、ec2-userにファイル操作の権限を設定する必要がある。
# ec2-userをapacheグループに追加 $ sudo usermod -a -G apache ec2-user # いったんログアウトして、再度ログイン $ exit $ ssh -i [キーペアのpemファイルを置いた場所のパス] ec2-user@[パブリックDNS or パブリックIP] # /var/www とそのコンテンツのグループ所有権を apache グループに変更 $ sudo chown -R ec2-user:apache /var/www # グループに、/var/wwwの書き込み許可追加 $ sudo chmod 2775 /var/www # /var/www とサブディレクトのディレクトリ許可を変更 $ find /var/www -type d -exec sudo chmod 2775 {} \; # /var/www とサブディレクトリのファイル許可を変更 $ find /var/www -type f -exec sudo chmod 0664 {} \;2-5. composer自身のインストール
& curl -sS https://getcomposer.org/installer | php # composerコマンドのパスを通す $ sudo mv composer.phar /usr/local/bin/composer # パス確認(/usr/local/bin/composerと表示されればOK) $ which composer2-6. Laravelプロジェクトをgit clone
sudo yum install git cd /var/www git clone [URL]2-7. Apacheの設定変更
http.confファイルのDocumentRootの変更
Laravelでは、プロジェクト内のpublicディレクトリをドキュメントルートに指定する必要がある
$ sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot “/var/www/html”
の箇所をDocumentRoot “/var/www/プロジェクト名/public”
に変更http.confファイルに以下のDirectoryを追加(.htaccessの有効化)
<Directory /var/www/プロジェクト名/public> AllowOverride All </Directory>Apacheの設定変更後は、再起動を忘れずに!
$ sudo service httpd restart2-8. パッケージのインストール
$ cd /var/www/[プロジェクトのフォルダ名] # composer.jsonファイルがない場合 $ composer init # vendorディレクトリが生成される $ composer install2-9. Laraveプロジェクトの設定
ディレクトリのパーミッション変更
Laravelでは、
storage
下とbootstrap/cache
ディレクトリをWebサーバから書き込み可能にする必要がある$ sudo chmod -R 777 /var/www/[プロジェクト名]/storage $ sudo chmod -R 775 /var/www/[プロジェクト名]/bootstrap/cache.envファイルの作成
cp .env.example .env # .envファイルにある「APP_KEY」(アプリケーションキー)の生成 php artisan key:generateAPP_NAME=Laravel APP_ENV=production APP_KEY=base64:xxxxxxx(php artisan key:generateで生成される) APP_DEBUG=false APP_URL=http://[パブリックIP]2-10. DBの設定、作成
MySQL側
# MySQL起動 $ sudo service mysqld start # MySQLの初期設定 $ sudo mysql_secure_installation # システムが再起動するたびにMySQLが起動するように設定 $ sudo chkconfig mysqld on # データベース作成 $ mysql -u root -p > 設定したパスワード入力 > create database [データベース名]; > show databases;
mysql_secure_installation
コマンドで聞かれること
- パスワード検証プラグインのセットアップ
- パスワード
- 匿名ユーザーアカウントの削除
- rootユーザーのリモートログインの許否
- testデータベースの削除
Laravel側
# 「DB_DATABASE」など、DB情報を設定しておく $ sudo vi .env DB_DATABASE=[作成したデータベース名] DB_USERNAME=root DB_PASSWORD=[設定したパスワード]$ php artisan migrate $ php artisan db:seed参考にさせて頂いた記事
【Laravel】AWSにLaravelをインストールする
Laravel:EC2-PHP72-Apacheで環境を作成する
MySQL5.7 にて root のパスワード変更などの初期設定をする
- 投稿日:2020-01-04T18:54:02+09:00
LaravelをAWSのEC2へデプロイしてみた
前提
- 2020年1月4日に確認したものです。
- AWSのアカウント作成済
- プロジェクトをGitHubにpush済
環境
- macOS Catalina 10.15.2
- Apache 2.4
- PHP 7.1.33
- MySQL 5.7
- Laravel 5.8
1. EC2インスタンスの起動
- EC2コンソールで作成(「公式チュートリアル」が分かりやすかったです)
- 基本的に無料利用枠(下記の項目以外はデフォルト値)
設定項目 設定した内容 Amazon マシンイメージ (AMI) Amazon Linux 2でなく、Amazon Linux インスタンスタイプ t2.micro
Linux2だと、手順が異なる(公式ドキュメント)
インスタンス作成の最後に、SSH接続に必要なキーペアを生成or設定
キーペア(pemファイル)は、~/.sshフォルダに入れておくと良い
2. EC2内で作業
2-1. SSHでEC2に接続
SSHとは. SSH(Secure Shell)とは、安全に通信を行って、ネットワークに接続された機器を遠隔操作するための通信手段(プロトコル)の1つ
※ 参照:初心者がSSHについて学ぶ(´・ω・`)
$ ssh -i [キーペア(pemファイル)を置いた場所のパス] ec2-user@[パブリックDNS or パブリックIP]
iオプション
で、上記で生成or設定したpemファイルを指定するec2-user
は、デフォルトのユーザー名。最初はこのユーザー名を使うパブリックDNS or パブリックIP
は、EC2コンソール画面で確認できる- 初回接続時のみ、yes/noを聞かれる
2-2. Apache, PHP, MySQLのインストール
- yumのアップデートは忘れずに!(パッケージを最新にする)
- yumは
yオプション
を付けることで、問い合わせ全てにYesと答えるため、yes/noがいちいち聞かれなくなります。$ sudo yum update -y $ sudo yum install -y httpd24 php71 php71-mbstring php71-zip php71-fpm php71-mysqlnd mysql57-server2-3. Apacheを起動
$ sudo service httpd start※ Linux2だと、systemctlコマンドが使える
この時点で、ブラウザで
パブリック IP
にアクセスすると、Apacheの画面が表示される。
(EC2コンソール画面のセキュリティグループのインバウンドで、httpの80ポートを空けておくことを忘れずに)
# システムが再起動するたびにApacheが起動するように設定 $ sudo chkconfig httpd on # 設定の確認 $ chkconfig --list httpd2-4. ec2-userのファイル操作の許可を設定
参照:公式チュートリアル
Amazon Linux Apache ドキュメントルートは /var/www/html であり、デフォルトでは root によって所有されます。
そのため、ec2-userにファイル操作の権限を設定する必要がある。
# ec2-userをapacheグループに追加 $ sudo usermod -a -G apache ec2-user # いったんログアウトして、再度ログイン $ exit $ ssh -i [キーペアのpemファイルを置いた場所のパス] ec2-user@[パブリックDNS or パブリックIP] # /var/www とそのコンテンツのグループ所有権を apache グループに変更 $ sudo chown -R ec2-user:apache /var/www # グループに、/var/wwwの書き込み許可追加 $ sudo chmod 2775 /var/www # /var/www とサブディレクトのディレクトリ許可を変更 $ find /var/www -type d -exec sudo chmod 2775 {} \; # /var/www とサブディレクトリのファイル許可を変更 $ find /var/www -type f -exec sudo chmod 0664 {} \;2-5. composer自身のインストール
& curl -sS https://getcomposer.org/installer | php # composerコマンドのパスを通す $ sudo mv composer.phar /usr/local/bin/composer # パス確認(/usr/local/bin/composerと表示されればOK) $ which composer2-6. Laravelプロジェクトをgit clone
sudo yum install git cd /var/www git clone [URL]2-7. Apacheの設定変更
http.confファイルのDocumentRootの変更
Laravelでは、プロジェクト内のpublicディレクトリをドキュメントルートに指定する必要がある
$ sudo vi /etc/httpd/conf/httpd.conf
DocumentRoot “/var/www/html”
の箇所をDocumentRoot “/var/www/プロジェクト名/public”
に変更http.confファイルに以下のDirectoryを追加(.htaccessの有効化)
<Directory /var/www/プロジェクト名/public> AllowOverride All </Directory>Apacheの設定変更後は、再起動を忘れずに!
$ sudo service httpd restart2-8. パッケージのインストール
$ cd /var/www/[プロジェクトのフォルダ名] # composer.jsonファイルがない場合 $ composer init # vendorディレクトリが生成される $ composer install2-9. Laraveプロジェクトの設定
ディレクトリのパーミッション変更
Laravelでは、
storage
下とbootstrap/cache
ディレクトリをWebサーバから書き込み可能にする必要がある$ sudo chmod -R 777 /var/www/[プロジェクト名]/storage $ sudo chmod -R 775 /var/www/[プロジェクト名]/bootstrap/cache.envファイルの作成
cp .env.example .env # .envファイルにある「APP_KEY」(アプリケーションキー)の生成 php artisan key:generateAPP_NAME=Laravel APP_ENV=production APP_KEY=base64:xxxxxxx(php artisan key:generateで生成される) APP_DEBUG=false APP_URL=http://[パブリックIP]2-10. DBの設定、作成
MySQL側
# MySQL起動 $ sudo service mysqld start # MySQLの初期設定 $ sudo mysql_secure_installation # システムが再起動するたびにMySQLが起動するように設定 $ sudo chkconfig mysqld on # データベース作成 $ mysql -u root -p > 設定したパスワード入力 > create database [データベース名]; > show databases;
mysql_secure_installation
コマンドで聞かれること
- パスワード検証プラグインのセットアップ
- パスワード
- 匿名ユーザーアカウントの削除
- rootユーザーのリモートログインの許否
- testデータベースの削除
Laravel側
# 「DB_DATABASE」など、DB情報を設定しておく $ sudo vi .env DB_DATABASE=[作成したデータベース名] DB_USERNAME=root DB_PASSWORD=[設定したパスワード]$ php artisan migrate $ php artisan db:seed参考にさせて頂いた記事
【Laravel】AWSにLaravelをインストールする
Laravel:EC2-PHP72-Apacheで環境を作成する
MySQL5.7 にて root のパスワード変更などの初期設定をする
- 投稿日:2020-01-04T12:56:55+09:00
ドットインストール MySQL入門を始める手順 Mac【備忘録】
ドットインストール MySQL入門を始める手順 Mac【備忘録】
MySQL入門 #01 MySQLを使ってみようの始める手順 Mac
①Spotlight検索(右上の虫眼鏡マーク)より、terminalを起動
まずはログインする
②$ cd(ホームフォルダに移動)
③$ cd MyVagrant(仮想マシンをまとめたフォルダに移動)
④$ cd myCentOS(仮想マシンのフォルダに移動)
⑤$ vagrant up(仮想マシンが停止していれば、仮想マシンが起動する)←ちょっと時間かかる
※大体25〜30秒くらいかな。⑥$ vagrant ssh(仮想マシンにログインする)←5秒ほどかかる
⑦([vagrant@localhost ~]$ となっていたら仮想マシンにログインできている証拠)
⑧Spotlight検索から、cyberduckを立ち上げる(ファイル転送ツールを立ち上げる)
⑨ブックマークを設定している為、出てきたものをダブルクリック(仮想マシンにアクセスする)
⑩/home/vagrantに移動できているか確認
※移動出来ていなければ、▲マークの左側のボタンを押して→/home/vagrantを選択11.ここでMySQL用のフォルダを作る右クリックを押す→新規フォルダを作成→mysql_lessons
12.作ったmysql_lessonsのフォルダをダブルクリック
13.terminalに戻る
14.$ cd mysql_lessons(先ほど、作成したmysql_lessonsのフォルダにterminal上で移動する)
15.[vagrant@localhost mysql_lessons]$ となっているか確認
これで、
01 MySQLを使ってみよう
を
始められる所まで進みました。
補足.$ clear(←clearとすると、terminal内がキレイになる)
terminal内がごちゃごちゃしているのが嫌であれば、
こうやってキレイにすると見易くなります。
注意:設定が消えた訳ではないので、安心して下さい
ここから、MySQLの学習を始めればOKです。
補足2 学習を正常に終えたい場合
サーバーが開いていない場合
①$ exit(これで仮想マシンからログアウトできて、mbpの操作に戻る)※mbpはMacBook Proのことです
②$ vagrant suspend(これで仮想マシンを停止させることができる)←5、6秒かかります
③$ exit(これでターミナルを終了させることができる)
④終わり
今回は以上です。