Linux下MySQLベース使用コマンド


www.mysql.公式サイト
communlty serverコミュニティ版無料
システムに付属するmysqlパッケージを表示
yum list | grep mysql
インストールmysql:
yum install -y mysql-server mysql mysql-devel
参照バージョン:
rpm -qi mysql-server
初期化:
service mysqld start    /restart
パスワードの設定:
mysqladmin-u root password'パスワード'
起動時:
chkconfig mysqld on
プロファイル:/etc/my.cnf 
データファイル:/var/lib/mysql/
ログファイル:/var/log/
mysald.logログ
リモート接続ポート:tcp 3306
MySQL mysqlにログイン(-h 192.168.0.1)-u root-p
MySQLバージョンSELECT VERSION();
システム日付の表示SELECT CURRENT_DATE;
システムのバージョンと日付を同時に表示
                 SELECT VERSION(),CURRENT_DATE;
簡単な計算SELECT 4*4;
                 SELECT 4+4;
既存のデータベースSHOW DATABASESを表示します.
データベースCREARE DATABASESデータベース名を作成します.
データベースDROP DATABASESデータベース名を削除します.
データベースUSEデータベース名を使用します.
SQL言語ベース
SELECT  UPDATE DELETE INSERT WHERE
表のすべてのデータSELECT*FROM表名を表示します.
データベースCREARE DATABASEデータベース名を作成します.
データベースDROP DATABASEデータベース名を削除します.
各カラムはプロパティです.   
各行は記録です.
データ型
integer(size),int(size),smallint(size),tinyint(size)は整数データを格納する
decima(size,d),numeric(size,d)は浮動小数点数データを格納する
char(sie)固定長文字列を格納
varchar(size)は可変長文字列を格納する
date(yyyyyymmdd)格納日
表の作成
CREARE TABLEテーブル名(カラム名1データ型、
カラム名2データ型、
列名3データ型
                     );
すべてのテーブルSHOW TABLESを表示します.
テーブルの構造DESCRIBEテーブル名を表示します.
テーブルDROP TABLEテーブル名を削除します.
テーブル名の変更
ALTER TABSE表名RENAME新表名;
テーブルに列を追加
ALTER TABLEテーブル名ADDカラム名はカラムデータ型と称する.
テーブルの列の削除
ALTER TABLE表名DROP COLUMN列名;
列のデータ型の変更
ALTER TABLE表名MODIFY列列列列データ型;
列の名前を変更
ALTER TABLE表名CHANGE COLUMN列名新列名新列データ型;
表にレコードを挿入
INSERT INTO表名VALES(値1、値2、...);
または
INSERT INTO表名(列1,列2)VALES(値1,値2);
テーブルからレコードを問い合わせる
SELECT列名1,列明称2...FROMは、 
または
SELECT*FROMは
テーブルから条件に従ってレコードをクエリーする
SELECT列名FROM表名WHERE列演算子値;
テーブルからレコードを削除
DELETE FROM表名WHERE列演算子値;
または
DELERE*FROMテーブル名;
レコードを更新
UPDATEテーブル名SETカラム名=新値WHEREカラム=値;
結果を返す重複を削除
SELECT DISTINCT列名称FROM表名称;
where条件での論理組合せの使用
SELECT*FROM表名称WHERE条件1 AND条件2;
SELECT*FROM表名称WHERE条件1 OR条件2;
クエリー結果を指定した列でソート
SELECT*FROM表名称ORDER BY列名称;
SELECT*FROM表名称ORDER BY列名称DESC;
MYSQLユーザー管理
デフォルトではrootユーザーは1人しかいません
デフォルトはuserテーブルに保存されます
新規ユーザーの作成:
CREATE USERユーザー名IDENTIFIED BY'パスワード';
権限が設定されていないため、直接作成してから直接ログインすることはできません.
ユーザーの削除:
DROP USERユーザー名;
ユーザー名の変更:
RENAME USER元ユーザー名TO新ユーザー名;
現在のユーザーパスワードを変更するには、次の手順に従います.
SET PASSWORD=PASSWORD('新パスワード');
指定したユーザーパスワードを変更するには、次の手順に従います.
SET PASSWORD FORユーザー名=PASSWORD('新しいパスワード');
mysql権限システム
権限制御の2つのフェーズ
1ユーザーがリンクできるかどうかを確認する.
2ユーザーがすべてのアクションを実行する権限を持っているかどうかを確認します.
ユーザー権限を付与:
GRANT ALL PRIVILEGES ONレベルtoユーザー名@ホストIDENTIFIED BYパスワード;
eg:
nash_を付与suユーザーグローバルレベルのすべての権限
GRANT ALL PRIVILEGES ON *.* to 'nash_su'@'%'IDENTIFIED BY 'linuxcase';
 
nash_を付与suユーザーはlinuxcastデータベースのすべての権限を持っています.
GRANT ALL PRIVILEGES ON linuxcase.* to 'nash_su'@'%'IDENTIFIED BY 'linuxcase';
ユーザー権限を取り消します.
REVOKE ALL PRIVILEGES FROMユーザー名;
%ホスト%は、どのホストへのアクセスを制限しません.
IPアドレスまたはホスト名を使用できます.
「*」ワイルドカードの使用
セグメントを指定できます.
lockhostを設定できます.ローカル接続;
rootリモートログインにも上の権限が必要です.開くことは推奨されません.
MYSQLの簡単なバックアップとリカバリ
最も広範なバックアップ・リカバリ・ツールmysqldump
指定したデータベースをバックアップします.
mysqldump-u root-pデータベース名>バックアップファイル.sql
バックアップされたのは純粋なテキストのsqlファイルで、修正して他のデータベースデータとして使用できます.
バックアップされたSQLファイルから指定されたデータベースを復元します.
mysqldump-u root-pデータベース名<バックアップファイル.sql
データベースエンコーディングの設定
符号化は主に以下の2つの側面に影響する.
1、データベースは同じ内容を保存するのに使う空間の大きさ;
2、データベースとクライアントの通信;
システムのエンコーディング設定を表示します.
SHOW CHARACTER SET;
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
データベースを作成するときは、コマンドを使用してエンコーディングを指定できます.
CREATE DATABASEA linuxcase
    DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_general_cl;
データベースのエンコーディングを変更することもできます.
ALTER DATABASE linuxcase CHARACTER SET utf8 COLLATEU utf8_general_cl;
デフォルトのエンコーディングの設定
/etc/my.cnfファイル
{client}
default-character-set=utf8
{mysql}
default-character-set=utf8
{mysqld}
default-character-set=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server=utf8
変更後、MySQLサービスを再起動し、下のコマンドでデフォルトのエンコーディングを表示します.
SHOW VARIABLES LIKE 'character_set%';