DB周りのメモ(mysql)
DB設定
mysqlに接続
- 接続
$ mysql -u <UserName> -p
- 'Enter password:'と聞かれるのでパスワードを入力する
Enter password: <Password>
- 切断
mysql> quit;
ユーザ
- ユーザの確認
mysql> select User,Host from mysql.user;
+---------+-----------+ | User | Host | +---------+-----------+ | root | 127.0.0.1 | | root | ::1 | | root | localhost | +---------+-----------+ 3 rows in set (0.00 sec)
- ユーザ作成 ホスト名を省略すると'<ユーザ名>'@''%(ワイルドカード)'と記述したものとして扱われる
mysql> create user '<UserName>'@'<HostName>' identified by '<Password>';
- ユーザの削除 間違えたコマンドで不要なユーザが大量生産されたので削除しましたw
mysql> drop user '<UserName>'@'<HostName>';
- 権限付与
GRANT <操作名> ON <データベース名>.<テーブル名>TO <ユーザ名>@<ホスト名> IDENTIFIED BY '<パスワード>';
データベース
- データベースの確認
mysql> show databases;
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | +--------------------+ 3 rows in set (0.00 sec)
- データベース作成
mysql> create database <DatabaseName>;
- 操作するデータベースを選択
mysql> use <DatabaseName>;
テーブル
- テーブルの確認
mysql> show tables;
+---------------------------+ | Tables_in_mysql | +---------------------------+ | columns_priv | | db | | event | | func | | general_log | ============================= | time_zone_transition | | time_zone_transition_type | | user | +---------------------------+ 28 rows in set (0.00 sec)
マイグレーション
- マイグレーションファイル作成
$ php artisan make:migration <マイグレーションファイル名> --create=<作成したいテーブル名>
- マイグレーションファイルに詳細を記述
<?php use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsersTable extends Migration { /** * Run the migrations. * テーブル作成の手続きを記述 * * @return void */ public function up() { Schema::create('<作成したいテーブル名>', function (Blueprint $table) { //下記に作成したいカラムを記述 $table->increments('id'); $table->string('name'); $table->string('email')->unique(); $table->string('password'); $table->rememberToken(); $table->timestamps(); }); } /** * Reverse the migrations. * upメソッドの内容を元に戻す手続きを記述 * * @return void */ public function down() { Schema::drop('<作成したいテーブル名>'); } }
- マイグレーションの実行
$ php artisan migrate
シーダー
db:seed
コマンドで実行されるdatabase/seeds/DatabaseSeeder.phpを編集
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { //テーブルごとのSeederクラスをcallメソッドで呼ぶ $this->call(UsersTableSeeder::class); } }
- 各テーブルごとのシーダーファイル作成
$ php make:seeder <シーダーファイル名>
- 作成されたシーダーファイル内のrunメソッドにデータ挿入処理を記述
<?php use Illuminate\Database\Seeder; class UsersTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { //データクリア DB::table('users')->delete(); //データ挿入処理 $users = []; for($i = 1; $i <= 20; $i++){ $users[] = [ 'name' => '名前'.$i, 'email' => 'mail'.$i.'@email.com', 'password' => 'pass'.$i ]; } foreach($users as $user){ DB::table('users')->insert($user); } } }
- シーダーの実行
$ php artisan db:seed
Seeded: UsersTableSeeder
- なにしても動かなかったから下記コマンド実行したら動いためも
$ composer dump-autoload
vagrantを使った仮想環境で新規laravelプロジェクトを作成、Gitの設定までしてみた(Windows)
はじめに
やりたいこと
- 仮想環境の構築
- laravelを使った新規プロジェクト作成
- GitHubでプロジェクトを管理
実行環境
- Windows8.1
事前準備
- VirtualBox
- Vagrant
- VagrantBox
- CentOS
- Nginx
- TeraTerm
仮想環境の構築
vagrantの導入(ホスト側)
- ディレクトリを作成、そのディレクトリに移動
> mkdir .\Users\<ユーザ名>\vagrant\Develop > cd .\Users\<ユーザ名>\vagrant\Develop
- vagrantBoxを追加
> vagrant box add <Box名> <Boxのurl>
- Boxの確認
> vagrant box list
- 追加したvagrantBoxを使ってVagrantfileを生成
> vagrant init develop
- ホストを自動で追加削除してくれるプラグインをインストール
> vagrant plugin install vagrant-hostsupdater
# -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure(2) do |config| config.vm.box = "develop" //ここは自動で書かれていたものを残す config.vm.hostname = "develop" config.vm.network "private_network", ip: "192.168.33.10" config.hostsupdater.aliases = ["develop","develop"] config.vm.synced_folder ".", "/vagrant", mount_options: ['dmode=777','fmode=777'] end
- 起動
> vagrant up
マウントに失敗するときは下記のプラグインをインストール
> vagrant plugin install vagrant-vbguest
TeraTermでssh接続
nginxの設定(ゲスト側)
- ディレクトリ移動
$ cd /etc/nginx/conf.d/
- confファイル作成
$ sudo vi <Vagrantfileに記載したバーチャルホスト名>.conf
- 下記に書き換えて編集
server { # listenするポート番号を記述する listen 80; # バーチャルホスト名を記述する server_name <Vagrantfileに記載したバーチャルホスト名>; # ドキュメントパスを記述する root /vagrant/<任意のディレクトリ名>/public; # デフォルト要求ファイル名を記述する index index.php; # 末尾が.phpの要求を対象とする設定 location ~* \.php$ { # /usr/local/php7/etc/php-fpm.d/www.confに設定しているIPとポートを指定する # (例)listen = 127.0.0.1:9000 fastcgi_pass 127.0.0.1:9000; # FastCGIサーバは自動index付与をサポートしていない # その為、Nginx側が末尾が"/"だった場合fastcgi_indexの値を末尾に付与する fastcgi_index index.php; # PHP-FPMに渡されるドキュメントパス fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # その他のFastCGI関連の設定は以下に追加 include fastcgi_params; } location / { try_files $uri $uri/ /index.php?$query_string; } }
laravelで新規プロジェクト作成
composerのインストール
- composerをインストール
$ curl -sS https://getcomposer.org/installer | php
- composerを移動
$ sudo mv composer.phar /usr/local/bin/composer
laravelプロジェクトをインストール
composer create-project laravel/laravel --prefer-dist <任意のプロジェクト名>
GitHubでプロジェクト管理
gitの設定
github側でリポジトリ作成
- ■のところに任意のリポジトリ名をいれて「Create repository」をクリック
ゲスト側でgitの設定
$ echo "# develop" >> README.md
- .git作成
$ git init
- gitの設定
$ git config --global user.name "<ユーザ名>" $ git config --global user.email "<メールアドレス>"
- gitコマンドの表示に色を付ける設定
$ git config --global color.ui auto
- コミットファイルにreadme.mdを追加
$ git add readme.md
- laravelもデフォルトファイルも全部コミットファイルに追加
$ git add <必死に全ファイル>
(ぜっったいにもっといい手法あります) - 変更内容をコミット
$ git commit -m "first commit"
- リモートリポジトリを追加
$ git remote add origin https://github.com/<チーム名>/<リポジトリ名>.git
- コミット履歴をリモートにプッシュ
$ git push -u origin master
最後に
- できた
- よろしくない手順とか設定不足とかあります(気づいてないが絶対・・・)
とりあえずコマンド一覧
構築
ディレクトリを作成する - ルートディレクトリに移動
> cd /
- ディレクトリ作成
> mkdir User/<user name>/vagrant/<プロジェクト名>
- 作成したディレクトリに移動
> cd User/<user name>/vagrant/<プロジェクト名>
- vagrantBox追加
> vagrant add <Box名> <Boxまでのパス>
- VagrantFileの作成
> vagrant init <Box名>
- vagrant起動
> vagrant up
- 起動した仮想環境に接続
- GitHubのプロジェクトをクーロンする
$ sudo git clone <GitHubのプロジェクト(httpsかssh)>
- composerをインストール
$ sudo curl -sS https://getcomposer.org/installer | php
- composerを移動
$ sudo mv composer.phar /usr/local/bin/composer
- composerコマンドでlaravelプロジェクト作成
composer create-project laravel/laravel --prefer-dist <プロジェクト名>
memo
- vagrantの確認
vagrant -v
- vagrantBoxの確認
vagrant box list
環境構築(の準備)
今回の目的
- 環境構築する前に必要なものを列挙してみる
- 自分が使っているもの(またはおすすめのみ)書いてませう
VirtualBox
- VirtualBox-5.0.8 -> こちら
Vagrant
VagrantBox
- VagrantBox
- 今回は大先輩から頂いた神Boxを使わせていただきますorz
Gitアカウント
IDE
ssh接続(windowsの場合)
足りないものは随時更新(予定)
SSHの公開鍵を作成してGitHubに登録してみる
はじめに
今回の目的
- GitへのSSH接続を簡単に
- PUSHするときにいちいちパスワード入力しなくて済む
実行環境
- CentOS7
事前準備
- Gitアカウント
SSH認証の公開鍵と秘密鍵を作成
すでに作成されていないか確認
$ cd ~/.ssh $ ls
- 下記のファイルが存在していた場合はすでに作成済み
id_rsa id_rsa.pub
ちなみに「.pub」のファイルが公開鍵
秘密鍵と公開鍵を作成する
- 下記コマンドを実行
// "your_email@example.com"はご自身のメールアドレスに変更 $ ssh-keygen -t rsa -C "your_email@example.com"
- 以下の3つの入力が求められるがすべてEnterでおk
// 鍵ファイルを保存する場所 Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
// パスフレーズ Enter passphrase (empty for no passphrase):
// パスフレーズ(確認) Enter same passphrase again:
作成できているか確認
- 下記コマンドを実行
$ ls ~/.ssh
- 以下のファイルが作成されていれば成功
id_rsa id_rsa.pub
ちなみに「.pub」のファイルが公開鍵
公開鍵をGitに登録する
公開鍵の内容をコピー
$ clip < ~/.ssh/id_rsa.pub
$ pbcopy < ~/.ssh/id_rsa.pub
- 何かしらのエディタで開いてコピー(例:vim)
$ vim id_rsa.pub
いざ登録
- Gitにアクセスし、画面右上の「上記画像①」をクリック
- 開かれたメニューウインドウで「上記画像②」をクリック
- 「上記画像①」のSSH Keysをクリック
- 「上記画像②」のAdd SSH keyをクリック
- 「上記画像③」に自分でわかるようにタイトルを入力
- 「上記画像④」に先ほどコピーした公開鍵を貼り付け
- 「上記画像」に映ってないですが下にあるAdd keyをクリックして登録
試しに接続してみる
- 下記コマンドを実行
$ ssh -T git@github.com
- 以下の表示がされたら一旦深呼吸、からの
yes
The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)?
- 接続に成功すると以下の表示になります
Hi <username>! You've successfully authenticated, but GitHub does not provide shell access.
さいごに
- これでpushやらpullやらが楽ちんに!!
- なにか訂正やもっと簡単な方法あればご指導願いますorz
では(・ω・)ノ
黒い画面でGitインストールからクローンまでやってみたの巻
はじめに
- やること
- Gitのインストール
- Gitアカウントを設定
- リモートリポジトリをローカルに複製
今回の目的
- Gitの使い方に慣れるための準備
- 黒い画面()に少しでも慣れる
実行環境
- CentOS7
事前準備
- Gitアカウント
- リポジトリ
インストール
Gitをインストール
- 下記コマンドを実行
$ sudo yum install git
- インストールが完了したら
$ git --version
- Gitのバージョンが表示されれば成功
git version 1.8.3.1
Gitの設定
Gitアカウントを設定
- 事前に登録してあるアカウント情報を登録する
- ユーザ名
$ git config --global user.name "<ユーザ名>"
- メールアドレス
$ git config --global user.email "<メールアドレス>"
既存リポジトリを自分の環境に複製
$ cd <リポジトリを複製したいディレクトリ> $ git clone <複製したいリポジトリのURL>
- 確認
$ ls
複製したいリポジトリのファイルが表示されていれば成功
さいごに
- Gitのインストール→アカウント設定→リモートリポジトリの複製 はこれで完了
- 足りてないことがある気がするので追記します
アクセス解析をしてみたい!~Google Analytics 調べてみた~
今回の目標
- Google Analyticsについて知る
Google Analyticsとは
だそうです。
Google Analyticsで出来ること
- 分析ツール
- 様々なレポートを作成できる
- コンテンツの分析
- 人気のページなどが分析できる
- ソーシャル解析
- FaceBookのいいねなどの効果を解析できる
- モバイルアクセス解析
- モバイルからのアクセスを解析できる
- コンバージョン解析
- 関心の高いユーザの数や売り上げ、サイトでのユーザの行動などを解析できる
- 広告の分析
- 広告掲載の成果を総体的に把握することができる
と、いろいろできるみたいです(読んで察したと思いますがほとんど理解できていない)
まとめ(挫折)
- Google Analyticsは便利で無料なアクセス解析ツール ということがわかった
- Googleアカウントをもっていれば誰でも使えるということを知れた
そう。Googleアカウントあれば誰でも使えるんです! ということで
次回の目標
- Google Analyticsを使えるように設定
- あわゆくば少し動かしてみたい
導入の参考にこの記事いかが?といった神様的ささやきお待ちしております(・ω・)ノ