Powered By Blogger
ラベル DB の投稿を表示しています。 すべての投稿を表示
ラベル DB の投稿を表示しています。 すべての投稿を表示

2013年5月10日金曜日

別ポートのPostgreSQLを操作する

起動など

pg_ctl -D データディレクトリ -P ポート番号 startなど
例)pg_ctl -D /home/hoge/data -P 5433 start

ユーザ作成

createuser -a -d -U ユーザ名 -P ユーザ名(パスワード入力プロンプト表示) --port=ポート番号;
例)createuser -a -d -U hoge -P hoge --port=5433 ;

データベース作成

createdb -E UTF-8 -O 所有者 -U 接続するユーザ名 データベース名 --port=5433;
例)createdb -E UTF-8 -O hoge -U fuga hoge --port=ポート番号;

MySQLインストール

CentOS6.3に対してインストールを行います。

インストール

yum install mysql-server

起動

service mysqld start

自動起動設定

chkconfig mysqld on

chkconfig --list | grep mysqld

管理者パスワードの設定

mysqladmin -u root password 任意のパスワード

mysqladmin -u root -h サーバのホスト名 password 任意のパスワード

mysqladmin -u root password 任意のパスワード

スキーマ作成

GRANT ALL privileges ON *.* TO hoge_db@localhost IDENTIFIED BY 'hoge_db' WITH GRANT OPTION;
CREATE DATABASE hoge_db CHARACTER SET utf8;
FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON *.* TO hoge_db@"172.17.%" IDENTIFIED BY 'hoge_db';
GRANT ALL PRIVILEGES ON *.* TO hoge_db@"192.168.%" IDENTIFIED BY 'hoge_db';
FLUSH PRIVILEGES;

Oracle XEインストール

CentOS6.3に対してインストールを行います。

ダウンロード

このページからアーカイブをダウンロードする。

解凍

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

リポジトリの追加

cd Disk1

sudo rpm -ihv oracle-xe-11.2.0-1.0.x86_64.rpm

環境設定

sudo /etc/init.d/oracle-xe configure

Oracle Database 11g Express Edition Configuration
-------------------------------------------------
・・・
Specify the HTTP port that will be used for Oracle Application Express [8080]:
・・・
8080はTomcatとぶつかるので適当なポートに変更してください。その他はデフォルトで。

oracleユーザのホームディレクトリ変更

id oracle

grep oracle /etc/passwd

sudo mkdir -m 700 /home/oracle

sudo chown oracle:dba /home/oracle/

ll -d /home/oracle/

sudo usermod -d /home/oracle oracle
起動中の場合は下記コマンドで停止する。
ps -ef | grep ora

sudo service oracle-xe stop

パスワード設定とユーザログイン

sudo passwd oracle

プロファイル作成

oracleユーザでログインし、以下の設定をします。
vi .bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/xe
export ORACLE_SID=XE
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib/:/lib:/usr/lib
export NLS_LANG=Japanese_Japan.AL32UTF8

echo $PATH

接続確認

sqlplus / as sysdba

起動設定

vi /etc/oratab
末尾を"Y"に変更します。
chkconfig --list | grep ora

スキーマ作成

${ORACLE_HOME}/apexに移動します。
cd ${ORACLE_HOME}/apex
管理画面へアクセスするための管理者権限パスワードを変更します。
sqlplus sys/[パスワード]@xe as sysdba

SQL> @apxchpwd
パスワードを入力します。 この操作後、http://[サーバー]:[ポート]/apex/apex_adminにアクセスし、 ユーザーID:admin パスワード:@apxchpwdで設定したパスワードでログインします。 パスワードの変更画面が表示されますので、新しいパスワードを設定します。

2013年5月9日木曜日

PostgreSQLインストール

CentOS6.3に対してインストールを行います。 事前にデフォルトでインストールされているPostgreSQLは削除しておいてください。

リポジトリの追加とインストール

rpm -ivh http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-centos92-9.2-6.noarch.rpm

yum install --enablerepo=pgdg92 postgresql92*

初期化

service postgresql-9.2 initdb

起動

service postgresql-9.2 start

自動起動と確認

chkconfig postgresql-9.2 on

chkconfig --list | grep postgresql-9.2

postgresユーザのパスワード設定

passwd postgres

データベースユーザの作成、データベースの作成

su - postgres

createuser -a -d -U postgres -P ユーザ名

createdb -E UTF-8 -O オーナー -U postgres データベース名

PostgreSQLのバックアップ/リストア

バックアップ

pg_dump データベース名 -b -o -Fc > バックアップファイル名
例)pg_dump hogedb -b -o -Fc > hogedb20130509.pgdmp


  • -b・・・ラージオブジェクトをダンプに含める
  • -o・・・各テーブルのオブジェクト識別子(OID)をデータの一部としてダンプする
  • -Fc・・・custom形式で出力

リストア

データベースごとリストアする
pg_restore -U "データベースユーザ名" -d "データベース名" --no-password -v -F c "バックアップファイル名"
例)pg_restore -U "fugauser" -d "hogedb" --no-password -v -F c "hogedb20130509.pgdmp"
特定のテーブルをリストアする
pg_restore -U "データベースユーザ名" -d "データベース名" --no-password -t "テーブル名" -v -F c -a "バックアップファイル名"
例)pg_restore -U "fugauser" -d "hogedb" --no-password -t "footable" -v -F c -a "hogedb20130509.pgdmp"

特定のテーブルをリストアする際にはまったポイントとしては
テーブル名の大文字小文字。リストアされず困っていたらテーブル名が大文字でした。。

もうひとつ大事なポイントとして、「a」オプションです。
これはリストアする際にデータのみリストアするというもの。スキーマごとリストアする場合、インデックス等が生成されないので注意が必要です。