Linux

mysql

mysql server backup

command backup

mysqldump --opt --all-databases --events --default-character-set=binary -u root --password=password > /backupDirectory/mysqlDump.sql

backup script

[root@centos ~]# vi mysql-backup.sh作成
#!/bin/bash

PATH=$PATH:/usr/local/sbin:/usr/bin:/bin

# バックアップ先ディレクトリ
BACKDIR=/backup/mysql

# MySQLrootパスワード
ROOTPASS=xxxxxxxx

# バックアップ先ディレクトリ再作成
rm  -rf $BACKDIR
mkdir -p $BACKDIR

# データベース名取得
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

# データベースごとにバックアップ
for dbname in $DBLIST
do
   table_count=`mysql -u root -p $ROOTPASS -B -e "show tables" $dbname|wc -l`
   [ $table_count -ne 0 ] &&
   mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done

[root@centos ~]# chmod 700 mysql-backup.sh

その他

csv ファイル出力

SELECT * FROM テーブル名 INTO OUTFILE "ファイル名" FIELDS TERMINATED BY  ',' OPTIONALLY ENCLOSED BY '囲み文字の指定';

グループしたカウントを条件に指定(group, count, mysql)

テーブルの作成_Create_Table

例1

create table testm (
  key1           char(008)     primary key,
  data1          int8,
  data2          int8,
  data3          int8
) type=InnoDB;

例2 AUTO_INCREMENT, AUTO INCREMENT, PRIMARY KEY

CREATE TABLE book2
    (
    id INT(11) NOT NULL AUTO_INCREMENT,
    title VARCHAR(64),
    author_name VARCHAR(32),
    detail TEXT,
    image VARCHAR(64),
    PRIMARY KEY (id)
    );

例3(合わせ技), DB TYPE, DB CHARSET, ENCODE

CREATE TABLE book2
    (
    id INT(11) NOT NULL AUTO_INCREMENT,
    title VARCHAR(64),
    author_name VARCHAR(32),
    detail TEXT,
    image VARCHAR(64),
    PRIMARY KEY (id)
    ) type=InnoDB DEFAULT CHARSET=utf8;

テーブル構造の変更

カラムの追加

alter table personal add new_col_name varchar(20) after col_name;

カラムの型変更

not exists の高速化


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS