コマンドラインでMySQLを操作するまとめ(復習)

phpMyAdminなどで運用中心にやっているとコマンドラインを忘れがち。
なのでここにざっと書き出していく。
MySQL起動
mysql.server start
MySQL停止
mysql.server stop
ログイン
mysql -uroot
どんなDBが入っているの?
DB一覧を出してみる。
mysql> show databases;
| 1 2 3 4 5 6 7 8 9 | +--------------------+ | Database           | +--------------------+ | information_schema | | ekikore            | | mysql              | | performance_schema | | test               | +--------------------+ | 
作業するDBを選択する。
例えばekikoreというDBを使う場合は
mysql> USE ekikore;
そのDBに入っているテーブル一覧を表示する。
mysql> show tables;
| 1 2 3 4 5 6 7 | +--------------+ | ekikore    | +--------------+ | aaaaaa       | | bbbbbb       | | cccccc       | +--------------+ | 
aaaaaaというテーブルはどんな構造をしているか?
mysql> SHOW columns FROM aaaaaa;
aaaaaaというテーブルのインデックスを見る。
mysql> SHOW index FROM aaaaaa;
インデックスの貼り方
CREATE INDEX インデックス名 ON テーブル名(カラム名);
インデックス名規約はいろいろポリシーあると思うけど、これが一般的と思う。
「テーブル名」+「_」+「カラム名」+「_index」
例)ekikoreテーブルのuseridカラムにekikore_userid_indexという名前のインデックスを貼る。
mysql> CREATE INDEX ekikore_userid_index ON ekikore(userid);
インデックス削除方法
ALTER TABLE テーブル名 DROP INDEX インデックス名;
バックアップと復元
いずれもmysqlからログアウトした状態で行う場合は、こう。
バックアップ
mysqldump -u root -p -x --all-databases > dump.sql
dump.sqlはコマンドを実行した時にいたディレクトリに吐かれる。
復元
コマンドを実行するディレクトリにあらかじめdump.sqlを置いておく。
 mysql -u root -p < dump.sql
MySQLにログインして行う場合はこんな感じ。
dump.sqlをデスクトップのworkという名前のフォルダに放り込む。
そしてMySQLにログインしてからこんなのを実行。
mysql> source ~/Desktop/work/dump.sql;
adpc
adpc
関連記事
-  
              
- 
      MySQLをチューニング1:DB構造を見直すデータベースが重いからMySQLをチューニングするに書いた四天王の最初のヤツ「D … 
-  
              
- 
      TJCT!プロセスの暗殺教室ブラウザ上で巨大なデータを扱ったら、応答が返ってこない・・・・ ブラウザを閉じた … 
-  
              
- 
      マイグレーション~DB構造の変遷を共有するPHPファイルをローカルで作業してテストして、gitでcommitする。 これは … 
-  
              
- 
      MBAにLaravelな開発環境を構築してみる(中編)-これまでのあらすじ- パルチザンが環境構築を終えてサーバ起動したらエラーになっ … 
-  
              
- 
      MBAにLaravelな開発環境を構築してみる(後編)-これまでのあらすじ- php -v 「ワタシハPHP5.5デス」 phpinf … 
-  
              
- 
      【ファントムシャットダウン】slaveのレプリケーションが止まる原因【エラー1053】これまでのあらすじ slaveのレプリケーションが止まったらザ・ワールドであるこ … 
-  
              
- 
      AWSの最適化とか設定を検討しながら作業メモがてら意識の高い雑談AWSが非常に優れたベストプラクティスでサステイナブルなソリューションでありアク … 
-  
              
- 
      MBAにLaravelな開発環境を構築してみる(前編)Laravelを使います。 今世界中で注目されているフレームワークです。 まず響 … 
-  
              
- 
      slaveのレプリケーションが止まったら時間操作系のスタンドで直すことができるMySQLがあって、masterのDBとslaveのDBがあって、masterか … 
-  
              
- 
      データベースが重いからMySQLをチューニングするむかーしむかし、あるところにMySQLがありました。 おじいさんは(炎上案件の) … 

