MySQL Community サーバ のインストール,データベース作成,テーブル定義とレコード挿入,各種設定(Windows 上)
Windows環境でのMySQLのインストールと初期設定について説明する.MySQL インストーラ(GUIツール)を使用したインストール手順,データベース管理者(root)としての接続方法,データベースの作成と権限設定,テーブル定義とレコード挿入の例を具体的に説明している.さらに,コマンドプロンプト(Windows のコマンドライン環境)を使用したMySQL操作,管理者パスワードの設定,キャラクタセットの設定方法など,MySQLの基本的な操作と設定について順を追って説明している.
【目次】
あらかじめ決めておく事項
- MySQL データベース管理者 (root) パスワード
MySQL のデータベース管理者は,データベースへのあらゆる操作を許されたユーザである. データベース管理者には,rootという名前が付いている(変更も可能). そのパスワードは,自由に設定できる. パスワードは,必ず,適切に設定すること.
- 既定(デフォルト)のキャラクタセット:
既定(デフォルト)のキャラクタセット: cp932またはutf8
MySQL インストーラのインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 次のコマンドを実行
次のコマンドは,MySQL をインストールするものである.
winget install --scope machine Oracle.MySQL
【関連する外部ページ】
- MySQL の公式ページ: https://www.mysql.com/jp/
MySQL のインストール
- スタートメニューの「MySQL Installer - Community」を実行
- 種類を選び,「Next」をクリック
- Check Requirements が表示された場合には,「Execute」をクリック.
- ライセンス条項の確認
- インストールの確認.
「Execute」をクリック.
- インストール終了の確認
「Next」をクリック.
- 設定開始の画面
「Next」をクリック.
- 次の画面(高可用性 (High Availability) についての設定)が出た場合には設定を行う.
選択したら,「Next」をクリック.
- 設定画面
問題がなければ,既定(デフォルト)のままでよい. 「Next」をクリック.
- 認証設定の画面
問題がなければ,既定(デフォルト)のままでよい. 「Next」をクリック.
- MySQL データベース管理者のパスワード,ユーザアカウントの設定
設定したら,「Next」をクリック.
- Windows サービスの設定
問題がなければ,既定(デフォルト)のままでよい. 「Next」をクリック.
- Server File Permission の設定の開始
問題がなければ, 「Next」をクリック.
- 設定の開始
問題がなければ, 「Execute」をクリック.
- 終了の確認
問題がなければ, 「Finish」をクリック.
- MySQL ルータの設定開始
「Next」をクリック.
- MySQL ルータの設定開始
問題がなければ,MySQL ルータは使わないことにする. 「Finish」をクリック.
- サンプルとドキュメントに関する設定開始
「Next」をクリック.
- 接続テスト
MySQL データベース管理者のパスワードを入れ, 「Check」をクリック.
- テスト終了の確認
「Connection Succeeded.」の表示を確認する.問題がなければ, 「Next」をクリック.
- 設定開始
「Execute」をクリック.
- 終了の確認
「Finish」をクリック.
- 設定の開始
「Next」をクリック.
- 設定の開始
「Finish」をクリック.
- MySQL シェルが開くので確認する
「\quit」で終了.
MySQL に,データベース管理者として接続
- Windows で,コマンドプロンプトを管理者権限で起動する(例:Windowsキーを押し,「cmd」と入力し,「管理者として実行」を選択)
- 次のコマンドを実行することにより,C:\Program Files\MySQL\MySQL Server 8.0\bin をシステム環境変数 PATH に追加し,
mysql.exe にパスを通す.
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";C:\Program Files\MySQL\MySQL Server 8.0\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
- 新しく,Windows で,コマンドプロンプトを実行
- MySQL データベース管理者(root) でログイン
MySQL データベース管理者(root) でログインしたいので,次のように,-u のあとに「root」と書く.
mysql -u root -p
- このあと,MySQL データベース管理者のパスワードを入力してログインする.
画面にパスワードが表示されないのは正常動作.
実行後,エラーメッセージが出ないことを確認
- 「\quit」で終了する.
データベースの作成と権限の設定 (Windows 上)
データベースを作成するために,SQL の create database コマンドを使用する.
- Windows で,コマンドプロンプトを実行
- MySQL データベース管理者(root) でログイン
MySQL データベース管理者(root) でログインしたいので,次のように,-u のあとに「root」と書く.
mysql -u root -p
- このあと,MySQL データベース管理者のパスワードを入力してログインする.
画面にパスワードが表示されないのは正常動作.
実行後,エラーメッセージが出ないことを確認
- データベース生成
utf8 の場合の生成例
create database testdb default character set utf8 collate utf8_unicode_ci;
cp932 の場合の生成例
create database testdb default character set cp932 collate cp932_japanese_ci;
- 「show databases;」で,データベースが生成されたことを確認
show databases;
- 「\quit」で終了.
\quit
テーブル定義とレコード挿入
- Windows で,コマンドプロンプトを実行
- 「mysql -u root -p -D testdb」により,MySQL データベース管理者でログイン
「root」は MySQL データベース管理者のユーザ名, 「testdb」はデータベース名.
mysql -u root -p -D testdb
- このあと,MySQL データベース管理者のパスワードを入力してログインする.
画面にパスワードが表示されないのは正常動作.
実行後,エラーメッセージが出ないことを確認
- SQL を用いたテーブル定義
create table order_records ( id integer primary key not null, year integer not null CHECK ( year > 2008 ), month integer not null CHECK ( month >= 1 AND month <= 12 ), day integer not null CHECK ( day >= 1 AND day <= 31 ), customer_name text not null, product_name text not null, unit_price real not null check ( unit_price > 0 ), qty integer not null default 1 check ( qty > 0 ), created_at timestamp not null default current_timestamp, updated_at timestamp not null default current_timestamp on update current_timestamp, check ( ( unit_price * qty ) < 200000 ) );
- SQL を用いたレコード挿入
start transaction; insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 1, 2023, 7, 26, 'kaneko', 'orange A', 1.2, 10 ); insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 2, 2023, 7, 26, 'miyamoto', 'Apple M', 2.5, 2 ); insert into order_records (id, year, month, day, customer_name, product_name, unit_price, qty) values( 3, 2023, 7, 27, 'kaneko', 'orange B', 1.2, 8 ); insert into order_records (id, year, month, day, customer_name, product_name, unit_price) values( 4, 2023, 7, 28, 'miyamoto', 'Apple L', 3 ); commit;
- 更新し確認表示
start transaction; update order_records set unit_price = 11.2 where id = 1; commit; select * from order_records;
- 確認表示
select * from order_records;
- テーブル一覧の表示
show tables;
- 「\quit」で終了.
\quit
MySQL データベース管理者 (root) パスワードの設定
次の手順でパスワードを変更できる.
- MySQL が稼働した状態にする
- すでにパスワードを設定済みで,変更をしたい場合は,次のように操作.
mysqladmin --user=root --password=(古いパスワード) password "(新しいパスワード)"
キャラクタセットに関する設定
既定(デフォルト)のキャラクタセットとして, cp932やutf8 などを以下の手順で設定しておく.
- 「my.ini」をエディタで開く
my.ini は, C:\ProgramData\MySQL\MySQL Server 8.0 のようなディレクトリにある.
- 次の3箇所を追加する
* 文字コードをcp932にしたい場合には,次のように my.ini を書きかえる.
もし,すでに,「default-character-set=latin」のような行が存在する場合には, 「cp932」のように書き換える
- [mysqld]部分
character-set-server=cp932
- [mysql]部分
default-character-set=cp932
* 文字コードをutf8にしたい場合には,次のように my.ini を書きかえる.
- [mysqld]部分
character-set-server=utf8
- [mysql]部分
default-character-set=utf8
- [mysqld]部分
- 書き換えた後は,MySQL サーバを再起動
- status コマンドを使い,キャラクタセット(character set) の設定が「cp932」になっていることを確認.
【まとめ】WindowsでのMySQLのインストールから初期設定,基本操作までを説明.