【MySQL】クエリの入力途中でキャンセルする
mysql> update user set authentication_string=PASSWORD(“") where User='root'; "> (ここでCtrl+C入力後Enter押下) ^C mysql>
【MySQL】The server quit without updating PID file
事象
MySQLを起動すると以下のエラーが表示される
$ sudo mysql.server start Starting MySQL ... ERROR! The server quit without updating PID file (/usr/local/var/mysql/user.local.pid).
対応
エラーファイル確認
$ tail /usr/local/var/mysql/user.local.err ..... [ERROR] [MY-010270] [Server] Can't start server : Bind on unix socket: Address already in use [ERROR] [MY-010258] [Server] Do you already have another mysqld server running on socket: /tmp/mysql.sock ?
/tmp/mysql.sock削除
$ rm /tmp/mysql.sock
削除後に起動して成功
以下はエラーログ確認前に試したこと(結果は変わらず)
mysqlに権限がないため、所有者権限を追加する
sudo chown -R _mysql:_mysql /usr/local/var/mysql
-Rオプションは指定ディレクトリ配下のファイルやディレクトリにも権限を付与する
参考
mysqlの再インストール
$ brew uninstall mysql
$ brew reinstall mysql
/usr/local/var/mysql削除
$ sudo rm -rf /usr/local/var/mysql $ brew uninstall mysql $ brew install mysql
pidファイル作成
$ touch /usr/local/var/mysql/satouseiyanoMacBook-Pro.local.pid
【MySQL】ユーザー作成・権限付与コマンド
- ユーザー作成
CREATE USER 'username'@'from_domain(ipaddress)' IDENTIFIED BY 'password';
例(ユーザー名:hoge@localhost パスワード:hogeのユーザーを登録する)
CREATE USER 'hoge'@'localhost' IDENTIFIED BY 'hoge';
- 権限付与
GRANT 権限 ON レベル(対象DB or Table) TO 対象ユーザー;
- 主な権限
- all / ALL PRIVIREGES...全ての権限を与える
- create...テーブルを作成する権限を付与する
- alter...テーブルを変更する権限を付与する
- drop...テーブルを削除する権限を付与する
- index...インデックスを作成/削除する権限を付与する
- select,update,insert,delete,truncate...各テーブル操作の権限を付与する
例(hoge@localhostというユーザーがhogeというパスワードでアクセスしてきたら、hogeというDB内の全てのリソースに全ての権限を与える)
GRANT ALL ON hoge.* TO hoge@localhost IDENTIFIED BY 'hoge';
- 補足
MySQL8.0からは未作成のユーザーに権限付与することは出来ない。 MySQL5.7まではGRANT文でユーザー作成も可能だったが、MySQL8.0で実行するとエラー(1064 (42000))となる。
参考
Amazon Web Services 基礎からのネットワーク&サーバー構築 復習
Chapter1
通常はどのリージョンの幾つのアベイラビリティーゾーンにサーバーを構築するか検討する
Amazon Virtual Private Could(VPC)
- 仮想的なネットワーク
- 領域内に自由なネットワークを作成可能
Amazon Elastic Compute Cloud(EC2)
- 仮想サーバー
- インスタンス=仮想的なサーバー
Chapter3
- パブリックIPアドレス
- インターネットに接続する際に用いるIPアドレス
プライベートIPアドレス
- 自由に使え、社内LANを構築するときや実験に使う
ホスト
CIDR(サイダー)表記
サブネットマスク表記
- プレフィックスのビット数だけ2進数の1を並べて、残りは0で記述
- 192.168.1.0/255.255.255.0
- プレフィックスのビット数だけ2進数の1を並べて、残りは0で記述
サブネット
- 細分化したCIDRブロック
- 細分化する理由
- 物理的な隔離
- フロア別に分けたいときや障害時の影響を縮小するため
- セキュリティ上の理由
- 別のネットワーク設定することが出来るため、ネットワーク別にアクセス制御が出来る
- 物理的な隔離
パブリックサブネット
- インターネットからアクセスするためのサブネット
プラベートサブネット
- インターネットから隔離したサブネット
インターネットゲートウェイ
- ゲートウェイを通じてインターネットを接続するもの
- 自分のネットワークにインターネット回線を引き込む
ルーティング設定
-
- デフォルトの転送先
- 転送先が何も設定されていない場合の設定値
Chapter3
-
- Amazon EC2で作成した仮想サーバー
- 2種類のIPを持つ
ルーティングプロトコル
- ルーティングテーブルの情報をやりとりするプロトコル
EGP
- ISP(インターネットサービスプロバイダー)やAWSなどの大きなネットワークはネットワーク管理するためのAS番号を持っている
- EGPはAS番号をやりとりしてどのネットワークの先にどのネットワークが接続されているかをやりとりする
IGP
ポート
ウェルノウンポート番号
- 代表的なアプリケーションが利用するポート番号
- ポート番号の指定が不要
エフェメラルポート
- クライアント側で使用される一時的なランダムなポート番号
- サーバーからクライアントに向けてデータを送信する際に必要
パケットフィルタリング
SSH通信
- Secure Shell、セキュリティの強固な通信方法
Chapter4
-
- サーバーをwebサーバーとして機能させるwebサーバーソフト
ドメイン名
- インターネットの住所
- IPアドレスと同様に一意に設定する
- ピリオドで区切られた部分をラベルと呼ぶ
- 一番右側のラベルをトップレベルドメインと呼ぶ-
nslookup
Chapter5
HTTP
リクエスト
- リクエストライン
- 要求コマンド
- ヘッダー
- ブラウザの種類や対応言語などブラウザからの追加情報
- ボディ
- データをサーバーに送信すPOSTメソッドで使用する
- リクエストライン
レスポンス
- ステータスライン
- 要求の成否
- ヘッダー
- 追加情報
- ボディ
- 要求されたコンテンツデータ
- ステータスライン
HTTPメソッド
- コンテンツに対する操作コマンド
- GET
- URLからアクセス、画像を参照などコンテンツを取得する際に使用
- POST
- 入力フォームでデータを送信する時に使用、ボディ部に付与される
-
- 結果の成否を示す値
リクエストヘッダー
レズポンスヘッダー
-
- リモートコンピュータと通信するプロトコル
- 接続先ポート番号を変えることで手動でHTTPのやりとりが出来る
Chapter6
- プライベートサブネット
- インターネットから接続できないサブネット
Chapter7
A successful Git branching model まとめ
使用するブランチ
- メインブランチ
- master
- develop
- サポートブランチ
- feature
- release
- hotfix
master
- リリース可能な状態だけを管理するブランチ
- コミットにタグ付けし、リリース番号を記録する
- リリースしたものが最新から過去まで確認できる
develop
- featureブランチを統合するためのブランチ
- 最新の開発環境を管理する
- 他の人が参画した際はdevelopをクローンすればすぐに開発に入れる
feature
- 新機能の開発を行う際にdevelopから分岐するブランチ
- バグが発生した場合に特定がしやすくなる
- Fast Forwardを使用せずマージすることで、featureブランチで行ったコミットが分かりやすくなる
release
- 開発が完了し、マスターに反映する準備のためのブランチ
- バグ修正など最終調整が完了したら、masterへタグ付きでマージする
- masterへのマージ後にreleaseブランチでの修正を取り込むため、developにもマージする
hotfix
- リリース後に緊急で修正するためのブランチ
- developからmasterまでリリースするまでは時間が掛かるため、masterからブランチを作成しマージする
- masterへのマージ後、修正を反映させるためdevelopブランチ(あればreleaseにも)にマージする
尚、サポートブランチはmasterやdevelopにマージして役割を終えたら削除する
参考
もう怖くないGit!チーム開発で必要なGitを完全マスター セクション10復習
セクション10:スタッシュで作業を一次避難しよう
作業を一時避難しよう
- 作業途中でコミットしたくないが、別ブランチで作業するとき、一時避難する
git stash
- ワークツリーとステージの変更をstashに一時避難し、変更をないことにする
避難した作業を確認しよう
git stash list
- 避難した回数分の変更を確認できる
避難した作業を復元しよう
git stash apply
- 最新の避難した変更を元に戻す
git stash apply --index
...ステージの状況も復元するgit stash apply スタッシュ名
避難した作業を削除しよう
git stash drop
- 最新の一時避難した作業を削除する
git stash drop スタッシュ名
...特定の作業を削除するgit stash clear
...全作業を削除する