ラベル MySQL の投稿を表示しています。 すべての投稿を表示
ラベル MySQL の投稿を表示しています。 すべての投稿を表示

2011/07/29

MySQLのダンプ

下記の感じでOK
mysqldump --password='password' -A > dump.sql

戻すときはリダイレクトで。
mysql < ./dump.sql

MySQL自動データベースバック

バックアップスクリプトの作成
vi mysql-backup.sh

内容は下記の通り

#!/bin/bash

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

権限を変更してcronに設定。
chmod 700 mysql-backup.sh
echo "0 5 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup 

参考:http://centossrv.com/mysql-backup.shtml

戻すときはディレクトリごとコピーする
/bin/cp -Rf /backup/mysql/test/ /var/lib/mysql/ 

2011/04/16

MacPortで入れたMySQLの自動起動設定

MacPortsで入れたMySQLの自動起動設定。システム環境設定からやる方法もあるけどこっちの方が好き。
MacOS 10.6.7環境
$ sudo mkdir -p /opt/local/etc/LaunchDaemons/org.macports.mysql5
$ cd /opt/local/etc/LaunchDaemons/org.macports.mysql5
$ sudo curl -O http://robwilkerson.org/_resources/hotlink/blog/mysql5.wrapper
$ sudo curl -O http://robwilkerson.org/_resources/hotlink/blog/org.macports.mysql5.plist
$ sudo chown root:wheel /opt/local/etc/LaunchDaemons/org.macports.mysql5/*
$ sudo chmod 755 /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper
$ sudo chmod 644 /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist
$ sudo ln -s /opt/local/etc/LaunchDaemons/org.macports.mysql5/org.macports.mysql5.plist /Library/LaunchDaemons/org.macports.mysql5.plist

参考:
http://d.hatena.ne.jp/solitary_shell/20100107/1262874052

2011/03/05

Serversmanのwordpressインストール

mysqlのインストール
yum install -y mysql mysql-server

文字コードの設定
vim /etc/my.cnf
下記を追記
default-character-set=utf8

MySQLを再起動、起動設定
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on

DBの作成(MySQLで)
create database wordpress;
grant all privileges on wordpress.* to wordpress@localhost identified by 'パスワード';

Worpressをダウンロードして、解凍、設定(DBの設定は作ったDBの設定を入力)
wget http://ja.wordpress.org/wordpress-3.1-ja.zip
unzip wordpress-3.1-ja.zip
mv wordpress-3.1-ja /var/www/
chown -R apache:apache /var/www/wordpress/
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
vim /var/www/wordpress/wp-config.php

あとはSendmainlのインストールと起動設定
yum install sendmail
/etc/rc.d/init.d/sendmail start
chkconfig sendmail on

2011/02/27

MacPortsで入れたmysqlの文字化け

MacPortsで入れたmysqlがnavicatやphpadminなどで文字化けする場合
my.cnfで文字コード指定をしてやる必要があります。
まず最初にmy.cnfがない場合はコピーしてきます。
sudo cp /opt/local/share/mysql5/mysql/my-small.cnf /opt/local/etc/mysql5/my.cnf
んでできたmy.cnfに下記の設定
sudo vi /opt/local/etc/mysql5/my.cnf
[mysqld]
default-character-set = utf8
skip-character-set-client-handshake
あとはmysqlの再起動。

それでも文字化けが出るようであればnavicatやphpadminの設定確認。
該当するdatabaseを右クリックしてdatabase propertiesを確認。

2010/06/26

MySQLのユーザー管理コマンドまとめ

MySQLのユーザー管理コマンドをまとめておきます。

ユーザーの作成
GRANT 権限 ON *.* TO ユーザ名 IDENTIFIED BY 'パスワード' WITH GRANT OPTION;
ユーザーの確認
SELECT host,user FROM mysql.user;
パスワードの変更
SET PASSWORD FOR ユーザ名@"ホスト名"=password('変更後のパスワード');
ユーザーの削除
DELETE FROM mysql.user WHERE user='ユーザ名';

2010/06/22

MySQLのインストールと自動起動

MySQLのインストールと自動起動は基本ですが念のため。
yum -y install mysql-server
/etc/init.d/mysqld start
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld //確認

ついでにデータベースの作成と削除
CREATE database データベース名; //作成 
DROP databae データベース名;  //削除

テーブルの作成(CakePHPのチュートリアルから)
CREATE TABLE posts (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50),
body TEXT,
created DATETIME DEFAULT NULL,
modified DATETIME DEFAULT NULL
);
テストデータ投入(CakePHPのチュートリアルから)
INSERT INTO posts (title,body,created)
VALUES ('タイトル', 'これは、記事の本文です。', NOW());
INSERT INTO posts (title,body,created)
VALUES ('またタイトル', 'そこに本文が続きます。', NOW());
INSERT INTO posts (title,body,created)
VALUES ('タイトルの逆襲', 'こりゃ本当に面白そう!うそ。', NOW());

2010/06/15

Wordpressのインストールの仕方

WordpressはCMSとして大変便利でサイト制作によく使われます。インストールの仕方も極めて簡単です。
  1. zip ファイルを空のディレクトリに展開します。
  2. WordPad などのテキストエディタで wp-config-sample.php を開き、データベースの接続情報 (データベース名、ユーザー名、パスワード、およびホスト名) を記入します。
  3. このファイルの名前を wp-config.php として保存します。
  4. すべてのファイルをアップロードします。
  5. /wp-admin/install.php をブラウザで開きます。これによりあなたのブログに必要なデータベースのテーブルが設定されるはずです。もしエラーが発生するようなら wp-config.php ファイルをもう一度確認し、再度このインストーラを試してください。それでも失敗する場合は、できるだけ多くのデータを集めてサポートフォーラムに行ってください。
  6. パスワードが自動的に生成され表示されます。これをメモしてください。
  7. その後、このインストールスクリプトはあなたをログインページに案内するはずです。ユーザ名 admin と、インストール中に生成されてメモしたパスワードを使ってログインしてください。このパスワードはログイン後、管理画面の「ユーザー」をクリックして変 更することができます。
公式サイトより

事前準備としてデータベースを用意しておく必要があります。データベースの作成の仕方は次の通り。


mysql> CREATE DATABASE databasename;
Query OK, 1 row affected (0.00 sec)
 
mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname"
    -> IDENTIFIED BY "password";
Query OK, 0 rows affected (0.00 sec)
  
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> EXIT
Bye

簡単ですね。なれれば10分くらいでインストールできます。

2010/06/11

MySQLのログファイルの管理について

GAEを使っているとKey-Value Storeの方に慣れてしまいますが、MySQLのログを管理する機会があったのでまとめておきます。


mysql-bin.xxxxxx
    レプリケーション設定のために保存される「mysql-bin.xxxxxx」ファイルが有りますが、この末尾の番号は世代管理になります。よってレプリケーションに必要な物は最新(番号が大きいもの)があれば問題ありません。


    ホスト名-slow.log
      実行に long_query_time 秒より長くかかった SQL コマンドがすべてログファイルに書き込まれるファイルです。パフォーマンスチューニングを行うときに参考になります。

      また、ログファイルは放っておくとどんどん肥大化していくので適宜ログローテートをした方が良いです。強制的にログファイルの入れ替えをするには下記のコマンドすれば良いです。


      mysql > FLUSH LOGS;
      


      ログデータは放置しておくと意外とストレージ容量を圧迫しますので、定期的に確認した方が良いでしょう。