MySQL の操作

Posted by muchag | Shell Script,さくらインターネット |
初回投稿:2015-12-10 (木) 11:35:33 | 最終更新:2015-12-12 (土) 16:29:20

【環境】
さくらインターネット:プレミアム
エラー
Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’

こんなエラーが出たとき
他の場合であれば、ちゃんとした対応が必要みたいだけど
さくらインターネットの場合は、MySQL が別サーバーになっているため
ホストの設定をしていないと、このエラーが出る。

つまり、ホストの設定を追加してあげればよいだけ。

ログイン
  1. $ mysql -h mysql***.db.sakura.ne.jp -u user_name -p
mysqldump
保存場所

mysqldump コマンドを実行したときのデフォルトの保存場所は

/home/user_name

なので、mysqldump などというディレクトリを1つ追加して
そちらへ保存されるようにする。

保存ファイル名

当然、指定するファイル名にも、パスを追加。

mysqldump/hoge.dump
コマンド
  1. $ mysqldump -h(ホスト名)-u(DB ユーザー名)-p(データベース名)(テーブル名:省略可)> mysqldump/hoge.dump
  2.  
  3. $ mysqldump -h mysql***.db.sakura.ne.jp -u user_name -p database_name > mysqldump/hoge.dump
Posted by muchag | Shell Script,さくらインターネット |
初回投稿:2015-12-10 (木) 11:35:33 | 最終更新:2015-12-12 (土) 16:29:20

CLI -> 基本

Posted by muchag | MySQL,コマンドプロンプト |
初回投稿:2015-05-22 (金) 11:41:07 | 最終更新:2015-05-22 (金) 13:43:32

MySQL のコマンドラインからの操作。

【環境】
MySQL:5.5.27
XAMPP:1.8.3
開始

私は MySQL を XAMPP から利用しているので
MySQL も XAMPP 内にある。

コマンドプロンプトを開いたら、下記3種の利用方法がある。

  • そのまま記述(環境変数を登録している場合)
  • MySQL\bin まで cd
  • フルパスで記述
コマンドラインツールの起動
  1. $ mysql -u ユーザ名 -p

これでパスワードの入力を促されるので
パスワードを入力し、認証が通ったら
ツールを利用できるようになる。

  1. mysql>

プロンプトが上記のようになれば、起動成功。

パスワードも含めて起動
  1. $ mysql -u ユーザ名 -pパスワード

-p オプション指定の直後にパスワードを記述する。
スペースを開けずに記述する ところがミソ。

データベースを指定して起動
  1. $ mysql -u ユーザ名 -D データベース名 -p
データベースの選択
  1. mysql> use データベース名
テーブル一覧表示
  1. mysql> show tables
終了
  1. mysql> quit
  2.  
  3. または
  4.  
  5. mysql> \q
書式
文末

SQL 文の最後に ;(セミコロン)を付けること。
なぜって、下記のようにカスケード記述ができるから?

カスケード記述

長い SQL 文を分割して入力できる。

  1. mysql> SELECT a, b, c, d, e FROM table_a, table_b WHERE table_a.id = table_b.table_a_id AND table_a.id = 1;
  2.  
  3. // 途中で Enter キーを押下すると、継続して SQL 文を記述できる
  4. mysql> SELECT a, b, c, d, e(Enter)
  5.     -> FROM table_a, table_b(Enter)
  6.     -> WHERE table_a.id = table_b.table_a_id(Enter)
  7.     -> AND table_a.id = 1;

というわけで、文末にセミコロンを付けないと、永遠に -> が出てくる。 🙄

メモ
コマンドエイリアス
コマンド エイリアス
quit \q
Posted by muchag | MySQL,コマンドプロンプト |
初回投稿:2015-05-22 (金) 11:41:07 | 最終更新:2015-05-22 (金) 13:43:32

tree コマンド

Posted by muchag | Windows,コマンドプロンプト |
初回投稿:2015-03-18 (水) 23:51:59 | 最終更新:2018-12-05 (水) 16:35:04

ちょー便利なコマンドを発見!

【環境】
Windows:7 Home Premium 64bit SP1
状況

今まで、Wordpress へディレクトリ構成を投稿する度に
下記のような書き方をしていた。

(openpne)\plugins\opMyPlugin
◇┣ apps ← アプリケーション格納用
◇┣ lib ← プラグイン独自クラス格納用
◇┣ test
◇┃◇┣ bootstrap
◇┃◇┃◇┣ database.php
◇┃◇┃◇┣ functional.php
◇┃◇┃◇┗ unit.php
◇┃◇┣ fixtures
◇┃◇┃◇┗ test_data.yml
◇┃◇┣ functional
◇┃◇┃◇┣ mobile_frontend
◇┃◇┃◇┃◇┗ skeletonActionsTest.php
◇┃◇┃◇┗ pc_frontend
◇┃◇┃◇◇◇┗ skeletonActionsTest.php
◇┃◇┗ unit
◇┃◇┃◇┗ model
◇┃◇◇◇◇◇┗ SkeletonTest.php
◇┗ dependencies.yml.sample

非常に面倒くさい。。。
 

出力結果

あまりにも面倒なので、何かないか Google 先生へ質問したところ
tree コマンドなるものを見つけた♪

結果はこんな感じ。


├─config
│      filters.yml
│      routing.yml
│
└─modules
   └─like
       ├─actions
       │      actions.class.php
       │
       └─templates
               deleteSuccess.php
               listSuccess.php
               postSuccess.php
               searchSuccess.php

なんと便利な・・・。

ただ、Wordpress の場合は、スペースを抜かれてしまうので
iG:Syntax Hiliter に一役買ってもらって表示。
 

書式
当該ディレクトリ

取得したいディレクトリまで移動すれば、とてもシンプル。


tree

これでコマンドプロンプト上に表示される。
 

ディレクトリ指定

ディレクトリを指定したい場合は、下記の通り。


tree [path to directory]
ファイルも取得

ファイル名も取得したい場合は、オプションを付ける。


tree /f
テキスト保存

テキストファイルに落としたい場合は、下記のように。


tree > result.txt
保存場所を指定

テキストファイルの保存場所を指定したければ、フルパスで記述。


tree > [path to textfile]

tree C:\Users\[username]\Downloads /f > C:\Users\[username]\Documents\result.txt

これで、ダウンロードディレクトリの中身(ディレクトリとファイル)のツリーを
マイドキュメントに result.txt というファイル名で保存。
 

参考サイト

インストラクターのネタ帳
フォルダの階層構造をツリー状に−TREEコマンド
フォルダ構造・ファイル一覧をツリー状に−TREEコマンド

Posted by muchag | Windows,コマンドプロンプト |
初回投稿:2015-03-18 (水) 23:51:59 | 最終更新:2018-12-05 (水) 16:35:04

シンボリック リンク

Posted by muchag | Windows,コマンドプロンプト |
初回投稿:2015-01-01 (木) 15:09:53 | 最終更新:2019-12-05 (木) 19:16:54

長らくプロジェクトディレクトリと作業ディレクトリを分けていて、面倒だな~と思っていた。
今日、突然、「そうだ! シンボリック リンク を張ればいいんでないかしら」と思った。(遅

【環境】
[Windows] 7 Home SP1

グーグル先生に質問をしてみたところ

  • ハードリンク
  • ソフトリンク
    • ジャンクション
    • シンボリック リンク

という種類があるとのこと。

Windows では mklink というコマンドを使うらしい。

1回読んだだけでは、ピンとはこなかったけど
一応ちこっとだけ書き込み。
後々追記。
 

ハードリンク

1つの実態に複数のパスを登録するもの。
1つ目はもちろんデフォルトのパス。
その他に疑似パスを Windows へ登録しておくものみたい。

同一ボリューム上のファイルにのみ有効。
 

ソフトリンク
ジャンクション

同一PC上のフォルダにのみ有効。
 

シンボリック リンク

この機能が実装されたのはWindows Vista/Windows Server 2008以降。
管理者権限 で実行すること。


// ファイルの場合
$ mklink リンク ターゲット

// フォルダの場合
$ mklink /D リンク ターゲット

※リンク=虚体、ターゲット=実体

注意点

リンク側を、先に Windows 上で作成してしまうとエラーになる。
ファイルを先に作るようなことはないかもしれないけど、フォルダも作っておいてはいけない。

 

スペース文字

パスを記述する際に、Program Files など、半角スペースの入ったディレクトリ名やらファイル名があると、コマンド実行時にエラーになる。
その時は、パスを “”(ダブルクォーテーション)で括ってやれば OK !

Linux 風

参考サイトを読む限り、下記で上手くいくと思ったんだけど
残念ながら、ダメ だった。。。

寧ろ、Windows 書式のままで読み込んだ。
ん~、前の時は、Windows 書式だとダメだった気がするんだけどな~。

サーバーOS:Linux
ローカルOS:Windows
というときに、パスの書式が異なるので困ることがある。

そういうときは、シンボリックリンクを利用して、Windows 書式を Linux 書式に変換することができる。
便利~♪


// OK
# mklink /d hoge C:\hoge

// NG
# mklink /d hoge/moge C:\hoge

但し、/(スラッシュ)は使えないので、対象ディレクトリに名前を付けるイメージ。

参考サイト

+++ 上野メモ帳 +++:WindowsだけどLinux風のパスを使いたい(2010-10-20)

参考元サイト

Windowsでシンボリックリンクを作る
@IT:シンボリック・リンクとジャンクションとハードリンクの違い
 

2015-01-23 追記
削除

// ファイルの場合(未検証)
$ del リンク

// フォルダの場合
$ rmdir リンク

※リンク=虚体

でも、普通にGUIで削除してよいらしい。。。(未検証)

Posted by muchag | Windows,コマンドプロンプト |
初回投稿:2015-01-01 (木) 15:09:53 | 最終更新:2019-12-05 (木) 19:16:54

Subversion .svn ディレクトリの削除

Posted by muchag | コマンドプロンプト |
初回投稿:2012-04-02 (月) 12:45:12 | 最終更新:2015-02-25 (水) 13:24:28