MySQL - user000422/0 GitHub Wiki

基本情報

Ver セキュリティサポート(Extended Support)
5.7 2023年10月
8.0 2026年4月

設定ファイル … my.ini(Windows)、my.cnf(Unix)

初期からあるデータベースは文字コードの設定が不適切な場合があるため 作成したデータベースで作業を行うこと(日本語が文字化けするデータベースになっていたりする) Oracleは文字列を示す場合はシングルクォーテーションで囲む必要がある

操作(Unix)

■設定ファイル(RHEL6)(RHEL8)/etc/my.cnf 設定ファイル変更手順 : MySQL停止 > ファイル編集 > MySQL起動

# ステータス確認(RHEL8)
systemctl status mysqld

# 起動(RHEL8)
systemctl start mysqld

# 接続
# -h : ホスト, -u : ユーザ, -p パスワード, -D データベース名
mysql -hlocalhost  -u sample_user -p -D sample_db

# 再起動(RHEL6 MySQL5)
/etc/init.d/mysqld restart
# ■接続後

# 文字コード確認
SHOW VARIABLES LIKE 'char%';

# 一覧表示
SHOW databases; # データベース一覧
SHOW tables;    # テーブル一覧
SHOW INDEX FROM sample_table; # インデックス

# 使用するデータベースを設定
use sample_db;
# ユーザ一覧表示(カラム数が多いため下記のように絞ること)
SELECT user, host FROM mysql.user;

# データベースの作成
CREATE DATABASE sample_db;

# ユーザの作成
CREATE USER 'sample_user'@'localhost' IDENTIFIED BY 'password';
# ユーザの削除
DROP USER sample_user@localhost;

# データベースの操作権限をユーザに付与
GRANT ALL PRIVILEGES ON sample_db.* TO 'sample_user'@'localhost';

# テーブル作成
# オプションはスペース区切り
# サンプルとしてすべてのオプション例
CREATE TABLE m_car_model(
  sample_col varchar(10) COLLATE ujis_japanese_ci NOT NULL PRIMARY KEY DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  sample_num int(5) DEFAULT 0
);

# テーブル定義確認
SHOW FULL COLUMNS FROM sample_table;

# 外部キーを削除
ALTER TABLE sample_table DROP FOREIGN KEY sample_key;

■ダンプ

# mysqlコマンドではなく Unixコマンド(mysqlから抜けておく)
mysqldump -u sample_user -p -h localhost sample_db sample_table > /tmp/sample_table_dump.sql

設定ファイル

/etc/my.cnf

[mysqld]
datadir=
user=mysql

[client]