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