俺のひとり言

Icon

一人外人の世界観、価値観、恋愛観の適当話

DBバックアップ(mysql,postgresql)

簡単なバックアップとリストアをメモします。。。

・mysqlバックアップ

[root@centos ~]# mysqldump -u root -p testdb > testdb.sql
Enter password: 

・mysqlリストア

[root@centos ~]# mysql -u root -p -B testdb < testdb.sql
Enter password: 

・postgresqlバックアップ

[root@centos ~]# pg_dump -U postgres testdb > testdb.sql

・postgresqlリストア

[root@centos ~]# psql -U postgres -d testdb < testdb.sql 

postgresqlインストール・初期設定

・パッケージをインストールする ※PHP対応必要があれば php-pgsqlもインストール

[root@centos ~]# yum -y install postgresql postgresql-server php-pgsql

・サービス開始、自動起動設定

[root@centos ~]# /etc/init.d/postgresql start
[root@centos ~]# chkconfig postgresql on
[root@centos ~]# chkconfig --list postgresql

・postgresユーザ確認・パスワード設定

[root@centos ~]# id postgres
uid=26(postgres) gid=26(postgres) 所属グループ=26(postgres)
[root@centos ~]# passwd postgres

・psql接続/データベース確認

[root@centos ~]# su - postgres
-bash-3.2$ psql -l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+----------
 postgres  | postgres | UTF8
 template0 | postgres | UTF8
 template1 | postgres | UTF8
(3 rows)

・ユーザ確認

-bash-3.2$ psql
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

postgres=# \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 postgres  | yes       | yes         | yes       | no limit    |
(1 row)

・外部より接続制限設定
※pg_hba.confの詳細はこちら

[root@centos ~]# su - postgres
-bash-3.2$ vi /var/lib/pgsql/data/postgresql.conf
#listen_addresses = 'localhost'         # what IP address(es) to listen on;
↓
listen_addresses = '*'          # what IP address(es) to listen on;

-bash-3.2$ vi /var/lib/pgsql/data/pg_hba.conf
※最終へ追加
local   all         all                      trust 
※↑ ローカルからのアクセスは無条件許可※危険
host   all         all     192.168.1.0/24    trust 
※↑ 192.168.1.0/24からのアクセスは無条件許可
host   all         all      0.0.0.0/0     password  
※↑ 上記以外のすべてはpasswordより認証が必要

-bash-3.2$ exit
logout
[root@centos ~]# /etc/init.d/postgresql restart
postgresql サービスを停止中:                               [  OK  ]
postgresql サービスを開始中:                               [  OK  ]
[root@centos ~]# 

・新規ユーザ作成 ※Linuxのユーザーは一致する必要がある

[root@centos ~]# useradd testdb
[root@centos ~]# passwd testdb
[root@centos ~]# createuser -U postgres -P testdb
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
CREATE ROLE

・作成ユーザを確認

[root@centos ~]# su - postgres
-bash-3.2$ psql
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit
postgres-# \du
                               List of roles
 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 postgres  | yes       | yes         | yes       | no limit    |
 testdb    | no        | yes         | yes       | no limit    |
(2 rows)
postgres-# \q
-bash-3.2$ exit
logout

・データベース新規作成
※ユーザとデータベースの名前を統一すると管理しやすい

[root@centos ~]# createdb -E UTF-8 -O testdb -U testdb testdb
CREATE DATABASE

※オプション
-E [エンコーディング名] 文字エンコードを指定
-O [オーナ名] 所有者となるユーザを指定
-U [接続ユーザ名] PostgreSQLに接続するユーザ名を指定

・作成したデータベースを確認

[root@centos ~]# su - postgres
-bash-3.2$ psql -l
        List of databases
   Name    |  Owner   | Encoding
-----------+----------+----------
 postgres  | postgres | UTF8
 template0 | postgres | UTF8
 template1 | postgres | UTF8
 testdb    | testdb   | UTF8
(4 rows)

・接続テスト

[root@centos ~]# psql testdb -U testdb -W
Password for user testdb: 
Welcome to psql 8.1.18, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

testdb=> 

アンケート

Xperia Z Ultra と Honami ならどっちを買う?

View Results

Loading ... Loading ...
2017年12月
« 8月    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

 


俺のひとり言トップ | Xperia云々 | 俺のアンケート | 俺の独り言 | 俺のツール | 俺のつぶやき | Linuxサーバ構築 | Windowsサーバ構築 | シンクライアント