LoginSignup
5

More than 5 years have passed since last update.

MYSQLの覚書

Last updated at Posted at 2015-03-03

MYSQLの操作をコマンドラインで出来るようになる

/etc/my.cnfの編集

文字コードをUTF-8にする下記を追記

[mysqld]
character-set-server=utf8

[mysql]
default-character-set=utf8

[mysqldump]
default-character-set=utf8

MySQLでターミナル上のコマンド保管を有効にする

コマンドで有効にする場合

mysql -uユーザー名 -p --auto-rehash

オプションで--auto-rehashを付けてmysqlコマンドを実行

/etc/my.cnfの変更する場合

[mysql]
suto-rehash

[mysql]の項目にauto-rehashを追加

MYSQLのrootのパスワードの設定

mysqladmin -u root password パスワード

MYSQLコンソールでの作業

mysql -u root -p

rootでログインする際にログインパスワードを聞かれるので入力
正しければログインでき作業ができる

MYSQLの一般ユーザの作成と権限付与、ユーザーの削除

ユーザの作成

GRANT select,insert,delete,update,create,drop,alter,index
ON データベース名.*
TO ユーザー名 IDENTIFIED BY 'パスワード';

権限について

  • 特殊な権限
    • ALL PRIVILEGES / ALL :GRANT権限以外すべて付与
    • USAGE:何の権限も付与しない
  • データ操作
    • SELECT
    • DELETE
    • UPDATE
    • INSERT
  • スキーマ変更
    • CREATE:データベース、テーブルの作成が可能
    • DROP:データベース、テーブルの削除が可能
    • ALTER:フィールドの変更とテーブル名の変更が可能
    • INDEX:INDEXの作成と削除が可能
    • FILE:ファイルへのアクセス権限を付与
  • データベース管理
    • PROCESS:プロセスの権限を付与
    • RELOAD:リロード権限の付与
    • SHUTDOWN:シャットダウン権限の付与

ユーザの削除

DROP USER ユーザ名;

ユーザ一覧

SELECT Host, User, Password from mysql.user;

ユーザ権限表示

SHOW GRANTS FOR ユーザ名;

データベースを作ったり、削除してみる

データベースの作成

CREATE DATABASE データベース名;

データベース削除

DROP DATABASE データベース名;

データベース一覧

SHOW DATABASES;

作業データベースの変更

USE データベース名;

 テーブルの作成と削除

テーブルの作成

CREATE TABLE データベース名.テーブル名(
ID CHAR(4),
NAME VARCHAR(40),
HOGE TEXT
);

型について

数値型

型名 バイト
TINYINT 1バイト整数
SMALLINT 2バイト整数
MEDIUMINT 3バイト整数
INT, INTEGER 4バイト整数
BIGINT 8バイト整数
FLOAT 浮動小数点
FLOAT(X) 小さい浮動小数点
DOUBLE(M,D) 通常の浮動小数点
DECIMAL(M,D), numeric(M,D) パック無し浮動小数点

日付・時刻型

型名 説明
DATE 日付
DATETIME 日付+時刻
TIMESTAMP タイムスタンプ
TIME 時間
YEAR

文字列型

型名 説明
CHAR(M) 固定長文字列。テーブル作成時に定義された長さに固定され、格納時には必ず指定された長さまで右側に空白が埋められる。取り出す場合には、後方の空白スペースは削除される。
VARCHAR(M) 可変長文字列(任意の長さ指定可)。CHAR型と違い、埋め込み処理は行われない。
TINYBLOB, TINYTEXT,BLOB, TEXT, MEDIUMBLOB, MEDIUMTEXT, LONGBLOB, LONGTEXT, ENUM('値1','値2',...), SET('値1','値2',...) 可変長文字列(任意の長さ指定可)。BLOB型はデータをバイナリとして格納。TEXT型はデータを文字列として格納。VARCHAR型とほぼ同じですが、最大長の記憶容量が異なる。また、TEXT型のカラムには、主キーやインデックスを設定不可。
ENUM('値1','値2',...) テーブル作成時に列挙された格納可能な値のリストから、値が選択される文字列オブジェクト。
SET('値1','値2',...) ゼロ以上の値を有する文字列オブジェクト。テーブル作成時に格納可能な値のリストを指定。複数の要素を指定する場合は、カンマ区切りで指定。そのためSET要素の値にカンマは使用不可。

テーブルの削除

DROP TABLE テーブル名;

テーブルの詳細表示

DESC テーブル名;

テーブル一覧

SHOW TABLES FROM データベース名;

テーブルにデータを投入や、選択削除

登録

INSERT INTO テーブル名(フォールド名,フィールド名) VALUES(, );

表示

SELECT フィール名 FROM テーブル名

削除

WHEREで絞り込んでから使用する(無しでもいけるが事故の元になるので気をつける)

DELETE FROM テーブル名 WHERE フィールド名 = ;

更新

WHEREで絞り込んでから使用する(無しでもいけるが事故の元になるので気をつける)

UPDATE テーブル名 SET フィールド名 =  WHERE フィールド名 = ;

phpMyAdminのインストールとPHPと繋がることを確認

EPELの導入

wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

sudo rpm -ivh epel-release-6-8.noarch.rpm

phpMyAdminとphp-mysql、php-mcryptをEPELポジトリを有効にしてインストール

yum --enablerepo=epel install -y phpMyAdmin php-mysql php-mcrypt

アクセス権を変更するためにphpMyAdmin.confの編集

/etc/httpd/conf.d/phpMyAdmin.conf

ブラウザで確認

下記のようなURLでアクセス可能

http://localhost/phpmyadmin

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5