ボス級社内SEのお役立ち技術情報

社内SEのシステム開発について。メインプログラム言語C#

【MySQL(MariaDB)】基本的なことをまとめてみた

業務で使用することになったのでMySQL(MariaDB)のパワーシェル(コマンドプロンプトの上位プログラム)から実行できるコマンドをまとめてみました。

 

実行環境

OS:Windows10 Home

XAMPP:v3.2.2

MySQL(MariaDB):10.1.35-MariaDB

 

実行コマンド

・rootパスワード設定

二つ方法があります。

①mysqladmin -u root password

f:id:HLSE:20190104105815j:plain

 

②ログインした後、set passwordコマンドを実行する

set password for root@localhost = password('パスワード');

f:id:HLSE:20190104110150j:plain

・使用可能文字コード一覧

show character set;

・文字コード一覧

show variables like 'char%';

・UTF-8設定

"C:\xampp\mysql\bin\my.ini"を開いて赤枠のようにコメントアウト(#)を外す。

f:id:HLSE:20190104120210j:plain

・ログイン

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'

 

バックアップ&リストア

コマンドを打つときはパワーシェルではなくコマンドプロンプトを使用しないと文字コードのエラーが発生します。

teratail.com

 

バックアップ

mysqldump -u ユーザ名 -p データベース名 > ファイル名.sql

 

リストア

データベースの作成(リストア先のデータベースがない場合は以下コマンドを実行)

mysqladmin -u root -p CREATE データベース名

 

リストア実行

mysql -u root -p データベース名 < ./ファイル名.sql

 

 

 

できるPRO MySQL できるPROシリーズ

できるPRO MySQL できるPROシリーズ