MacでMySQLの環境構築に利用するコマンドを整理しています。
私はMacではMySQL WorkbenchというGUIのクライアントソフトを利用しています。ほぼそれで完結するのですが、CUIの方が操作が早いという利点があります。
初心者がいきなりCUIを使うと面食らうので、GUIからスタートするのもアリです。その後クライアントソフトでDDLを参照すればCUIで打つコマンドが分かりますので、雰囲気をつかみながら学習していくと良いでしょう。
Unix(Linux)コマンド
MySQLの起動/終了/状態確認
mysql.server [start/stop/status]
MySQLは消費電力が多い気がするので、ラップトップで利用している場合はこまめに終了した方が良さそうです。
MySQLへのログイン
mysql -u [ユーザ名] -p
mysql -h [ホスト名] -u [データベース名] -p
「-p」はパスワードの略で、パスワードを入力してログインします。
HomebrewでMySQLをインストールした場合はrootユーザが作成されますが、初期状態ではパスワードが設定されていません。rootで入る場合は忘れずにパスワードを設定しましょう。
mysql -u root
mysql> ALTER USER 'root'@'localhost' identified BY '任意のパスワード';
ログアウトする場合は「exit」と入力します。
mysql> exit
Bye
MySQLコマンド
ユーザ作成・権限設定
create user [データベース名]@[ホスト名] identified by '任意のパスワード';
# 例
# create user ubawaretai_user@localhost idenfified by '任意のパスワード';
データベース作成
MySQLでは「データベース」と「スキーマ」と同じ意味で使われています。
下の2つの例は同じ動作をします。後者はMySQL Workbenchでデータベースを作る際に表示されるコマンドです。
CREATE DATABASE [データベース名] CHARACTER SET [文字コード];
# 例
# CREATE DATABASE ubawaretai_db CHARACTER SET sjis;
# CREATE SCHEMA `ubawaretai_db` DEFAULT CHARACTER SET sjis ;
データベースを一覧で表示したいときは以下のコマンドを入力します。ログイン中のユーザが参照できるデータベースのみ表示されます。
SHOW DATABASES;
続けて、先ほど作成したユーザに権限を設定します。
grant all on *.* to ubawaretai_user;
Database指定
USE [データベース名]
テーブル作成
CREATE TABLE [データベース名].[テーブル名] ([カラム名] [型]);
# 例
# create table teimon_db.timetable (race_code int, race_name varchar(45));
MySQL Workbenchでテーブルを作成すると、最初のカラムにNOT NULLとPRIMARY KEYの指定が自動で入ります。
CREATE TABLE `teimon_db`.`timetable` (
`race_code` INT NOT NULL,
`race_name` VARCHAR(45) NULL,
PRIMARY KEY (`race_code`));
テーブル確認
SHOW TABLES;
クライアントとサーバの文字コード確認
show variables like "chara%";
メモ
設定
my.cnfで行う。
文字コード
データベースの文字コードは作成時に設定できる。
Xserverではデータベース作成時に文字コードの設定可。