業務で使用することになったのでMySQL(MariaDB)のパワーシェル(コマンドプロンプトの上位プログラム)から実行できるコマンドをまとめてみました。
実行環境
OS:Windows10 Home
XAMPP:v3.2.2
MySQL(MariaDB):10.1.35-MariaDB
実行コマンド
・rootパスワード設定
二つ方法があります。
①mysqladmin -u root password
②ログインした後、set passwordコマンドを実行する
set password for root@localhost = password('パスワード');
・使用可能文字コード一覧
show character set;
・文字コード一覧
show variables like 'char%';
・UTF-8設定
"C:\xampp\mysql\bin\my.ini"を開いて赤枠のようにコメントアウト(#)を外す。
・ログイン
mysql -u root -p
・使用可能ストレージエンジン一覧
show engines \G;
・データベース一覧
show databases;
・データベース(ログイン後)
use データベース名;
・データベース(未ログインから)
mysql -u ユーザー名 -p データベース名
・テーブル一覧
show tables;
・テーブル詳細
show create table テーブル名 \G;
・テーブル列一覧
show columns from テーブル名
・ユーザ一覧
select Host, User, Password from mysql.user;
データベース作成
作成権限のあるユーザでログイン後データベースを作成して権限を付加する。
create database namelistdebug;
grant all privileges on namelistdebug.* to mysql@localhost identified by 'mysql';
ファイル入出力
CSV
■エクスポート
指定テーブルのCSVファイルを指定文字コード(sjis)で出力
指定DBに接続後
SELECT * FROM ftable
INTO OUTFILE 'd:\ファイル名.csv'
CHARACTER SET 'sjis'
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"';
■インポート(インデックスは無視される?)
LOAD DATA LOCAL
INFILE 'd:\ファイル名.csv'
INTO TABLE ftable
CHARACTER SET 'sjis'
FIELDS TERMINATED BY ','
ENCLOSED BY '"';
XML
■エクスポート
mysql -u root -p firstdb --csv -e "select * from ftable" > 'd:\ftable.xml'
HTML
■エクスポート
mysql -u root -p firstdb --html -e "select * from ftable" > 'd:\ftable.html'
バックアップ&リストア
コマンドを打つときはパワーシェルではなくコマンドプロンプトを使用しないと文字コードのエラーが発生します。
バックアップ
mysqldump -u ユーザ名 -p データベース名 > ファイル名.sql
リストア
データベースの作成(リストア先のデータベースがない場合は以下コマンドを実行)
mysqladmin -u root -p CREATE データベース名
リストア実行
mysql -u root -p データベース名 < ./ファイル名.sql