概要
Windows7に開発・検証目的用にMySQL Community Server 5.6をインストールし、初歩的な設定を行うまでの作業メモです。
MySQLはZIP Archiveを使用します。
環境
この記事の内容は下記のバージョンで動作確認を行いました。
- Windows7 (64bit)
- MySQL Community Server 5.6.25
参考サイト
下記のサイトの内容を参考にしました。
インストール
アーカイブファイルのダウンロード
ダウンロードページよりアーカイブファイルをダウンロードします。
今回ダウンロードしたファイルはmysql-5.6.25-winx64.zip
です。
アーカイブファイルの展開
アーカイブファイルを適当な場所(D:/dev/mysql-5.6.25-winx64
にしました)へ展開します。
また、次のディレクトリを作成します。
D:/dev/mysql-5.6.25-winx64/logs
D:/dev/mysql-5.6.25-winx64/tmp
my.iniの準備
D:/dev/mysql-5.6.25-winx64/my-default.ini
というテンプレートファイルをmy.ini
へリネームし、下記のように修正します。
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
- # innodb_buffer_pool_size = 128M
+ innodb_buffer_pool_size = 64M
+ innodb_file_per_table = 1
+ innodb-status-output = 1
+ innodb-status-output-locks = 1
+
+ default-storage-engine = innodb
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
- # log_bin
+ log_bin = mysql-bin
# These are commonly set, remove the # and set as required.
- # basedir = .....
- # datadir = .....
- # port = .....
- # server_id = .....
+ basedir = "D:/dev/mysql-5.6.25-winx64"
+ datadir = "D:/dev/mysql-5.6.25-winx64/data"
+ tmpdir = "D:/dev/mysql-5.6.25-winx64/tmp"
+ port = 3306
+ server_id = 1
+
+ character-set-server = utf8
+ collation-server = utf8_general_ci
+
+ transaction-isolation = REPEATABLE-READ
+
+ # Logging
+ log_output = FILE
+ log_warnings = 1
+ log_error = "D:/dev/mysql-5.6.25-winx64/logs/mysqld_error.log
+ general_log = 1
+ general_log_file = "D:/dev/mysql-5.6.25-winx64/logs/general_query_all.log"
+ log-slow-admin-statements = 1
+ log-queries-not-using-indexes = 1
+ slow_query_log = 1
+ long_query_time = 1
+ slow_query_log_file = "D:/dev/mysql-5.6.25-winx64/logs/slow_query.log"
+
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
+
+ #autocommit = 0
+ explicit_defaults_for_timestamp = true
+
+ [mysql]
+ default-character-set = utf8
+ show-warnings
mysql serverの起動と接続
起動
> D:\dev\mysql-5.6.25-winx64\bin\mysqld.exe --defaults-file=D:\dev\mysql-5.6.25-winx64\my.ini --console
rootユーザーでログイン
> D:\dev\mysql-5.6.25-winx64\bin\mysql.exe -u root -p
停止
> D:\dev\mysql-5.6.25-winx64\bin\mysqladmin.exe -u root -p shutdown
mysqldのオプションの確認と設定値の出力
(結果が長いのでtextファイルに出力しています。)
> D:\dev\mysql-5.6.25-winx64\bin\mysqld.exe --help --verbose > option_dump.txt
インストール後の設定
rootユーザーのパスワード設定
rootユーザーでログイン
> D:\dev\mysql-5.6.25-winx64\bin\mysql.exe -u root -p
rootユーザーのパスワードを変更(パスワードは伏せています)
mysql> set password for 'root'@'localhost' = password('******');
不要なユーザーの削除
使用しないユーザーは削除します。
mysql> drop user ''@'localhost';
mysql> drop user 'root'@'127.0.0.1'
mysql> drop user 'root'@'::1'
コマンド実行サンプル
データベース
データベースの一覧
mysql> show databases;
データベースの作成
mysql> create database if not exists sample_db
default character set utf8
default collate utf8_general_ci;
Manual - CREATE DATABASE Syntax
データベースの削除
mysql> drop database sample_db;
カレントデータベースの変更
mysql> use sample_db
INNODB
mysql> show engine innodb status;
mysql> show variables like "innodb%";
ユーザーの作成と権限の付与
ユーザーの確認
mysql> select user,host from mysql.user;
ユーザーの作成
mysql> create user 'test_user'@'localhost' identified by 'test_user';
ユーザーの削除
mysql> drop user 'test_user'@'localhost';
ユーザーへ権限の付与
mysql> grant all on sample_db.* to 'test_user'@'localhost';
ユーザーの権限を取り消す
mysql> revoke insert on sample_db.* from 'test_user'@'localhost'
ユーザーの権限をすべて取り消す
mysql> revoke all privileges, grant option from 'test_user'@'localhost';
ユーザーの権限を確認
mysql> show grants for 'test_user'@'localhost'
現在接続しているユーザーの権限を確認
mysql> show grants;
テーブル
テーブルの一覧
mysql> show tables;
テーブルの作成
mysql> create table if not exists sample_tbl (
id int(11) not null auto_increment,
name varchar(20),
primary key(id)
);
テーブル定義の確認
mysql> desc sample_tbl;
カラムの追加
mysql> alter table sample_tbl add column address varchar(256);
カラムの削除
mysql> alter table sample_tbl drop column address;
テーブルの削除
mysql> drop table sample_tbl;
インデックス
インデックスの一覧
mysql> show index from sample_tbl;
インデックスの作成
mysql> create index sample_tbl_idx01 on sample_tbl(address(64) asc);
インデックスの削除
mysql> drop index sample_tbl_idx01 on sample_tbl;
キャラクターセット
利用できるキャラクターセットの一覧
mysql> show character set;
一部抜粋です。
Charset | Description | |
---|---|---|
cp850 |
DOS West European | |
latin1 |
cp1252 West European | |
latin2 |
ISO 8859-2 Central European | |
ascii |
US ASCII | |
ujis |
EUC-JP Japanese | |
sjis |
Shift-JIS Japanese | |
greek |
ISO 8859-7 Greek | |
cp1250 |
Windows Central European | |
latin5 |
ISO 8859-9 Turkish | |
utf8 |
UTF-8 Unicode | |
ucs2 |
UCS-2 Unicode | |
cp852 |
DOS Central European | |
latin7 |
ISO 8859-13 Baltic | |
utf8mb4 |
UTF-8 Unicode | |
utf16 |
UTF-16 Unicode | |
utf16le |
UTF-16LE Unicode | |
cp1256 |
Windows Arabic | |
cp1257 |
Windows Baltic | |
utf32 |
UTF-32 Unicode | |
cp932 |
SJIS for Windows Japanese | |
eucjpms |
UJIS for Windows Japanese |
mysql> show variables like "char%";
+--------------------------+--------------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:\dev\mysql-5.6.25-winx64\share\charsets\ |
+--------------------------+--------------------------------------------+
8 rows in set (0.00 sec)
その他
環境変数
mysql> show variables;
mysql> show variables like "slow%";
+---------------------+------------------------------------------------+
| Variable_name | Value |
+---------------------+------------------------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | D:/dev/mysql-5.6.25-winx64/logs/slow_query.log |
+---------------------+------------------------------------------------+
3 rows in set (0.00 sec)
mysql> select @@slow_query_log_file;
+------------------------------------------------+
| @@slow_query_log_file |
+------------------------------------------------+
| D:/dev/mysql-5.6.25-winx64/logs/slow_query.log |
+------------------------------------------------+
1 row in set (0.00 sec)
status
mysql> status
help
mysql> help