欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:postgresql 讀寫分離

柚子快報(bào)邀請(qǐng)碼778899分享:postgresql 讀寫分離

http://yzkb.51969.com/

一、postgresql數(shù)據(jù)庫(kù)安裝

1.數(shù)據(jù)庫(kù)安裝包下載(本次使用12.2版本)

Index of /pub/source/v12.2/

2.數(shù)據(jù)庫(kù)安裝包依賴下載安裝

yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

3.創(chuàng)建pgsql文件夾,將下載的數(shù)據(jù)庫(kù)安裝包移動(dòng)到目錄中

#創(chuàng)建文件夾目錄

mkdir /opt/module/pgsql

#文件上傳通過(guò)命令 rz 選擇上傳文件

#文件上傳通過(guò)ftp

#直接將數(shù)據(jù)庫(kù)安裝包拖動(dòng)到對(duì)應(yīng)目錄中

4.解壓數(shù)據(jù)庫(kù)壓縮包

tar -zxvf postgresql-12.2.tar.gz

5.編譯postgres源碼

#進(jìn)入解壓后文件目錄

cd /opt/module/pgsql/postgresql-12.2

#設(shè)置配置文件

./configure --prefix=/opt/module/pgsql/postgresql

6.編譯安裝

make

make install

二、數(shù)據(jù)庫(kù)配置

1.創(chuàng)建用戶組postgres并創(chuàng)建用戶postgres

#添加用戶組

groupadd postgres

#添加用戶并設(shè)置密碼

useradd -g postgres postgres

#查詢用戶

id postgres

2.創(chuàng)建postgres數(shù)據(jù)庫(kù)的數(shù)據(jù)主目錄并修改文件所有者

#進(jìn)入數(shù)據(jù)庫(kù)配置主目錄

cd /opt/module/pgsql/

#創(chuàng)建數(shù)據(jù)主目錄

mkdir data

#修改文件所有者

chown postgres:postgres data

3.配置環(huán)境變量

#打開(kāi)配置文件

vi /etc/profile

#添加以下內(nèi)容

export PGHOME=/opt/module/pgsql/postgresql?

export PGDATA=/opt/module/pgsql/data

export PGPORT=5432

export PATH=$PATH:$PGHOME/bin

#保存并退出配置文件,執(zhí)行下方命令刷新配置文件使其生效

source /etc/profile

4.初始化數(shù)據(jù)庫(kù)

#切換到postgres用戶

su?-?postgres

#初始化數(shù)據(jù)庫(kù)

initdb

#切換到數(shù)據(jù)庫(kù)數(shù)據(jù)主目錄

cd /opt/module/pgsql/data

5.配置服務(wù)

#修改/opt/module/pgsql/data目錄下的兩個(gè)文件

#postgresql.conf ? 配置PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器的相應(yīng)的參數(shù) #pg_hba.conf ? ? ? 配置對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限

vi postgresql.conf

#參數(shù)“l(fā)isten_addresses”表示監(jiān)聽(tīng)的IP地址,默認(rèn)是在localhost處監(jiān)聽(tīng), #也就是127.0.0.1的ip地址上監(jiān)聽(tīng),

#只接受來(lái)自本機(jī)localhost的連接請(qǐng)求,

#這會(huì)讓遠(yuǎn)程的主機(jī)無(wú)法登陸這臺(tái)數(shù)據(jù)庫(kù),

#如果想從其他的機(jī)器上登陸這臺(tái)數(shù)據(jù)庫(kù),

#需要把監(jiān)聽(tīng)地址改為實(shí)際網(wǎng)絡(luò)的地址,

#一種簡(jiǎn)單的方法是,將行開(kāi)頭的#去掉,把這個(gè)地址改為*,

#表示在本地的所有地址上監(jiān)聽(tīng)。

listen_addresses = '*'

vi pg_hba.conf?

#添加以下內(nèi)容,這樣局域網(wǎng)的人才能訪問(wèn)

# IPv4 remote address connections:

host ???all ????????????all ????????????0.0.0.0/0 ??????????????trust?

6.設(shè)置開(kāi)機(jī)自啟動(dòng)

6.1.進(jìn)入腳本目錄

cd /opt/module/pgsql/postgresql-12.2/contrib/start-scripts

6.2.切換為root用戶,修改linux文件屬性,添加X(jué)屬性

chmod a+x linux

6.3.復(fù)制linux文件到/etc/init.d目錄下,更名為postgresql

cp linux /etc/init.d/postgresql

6.4.修改/etc/init.d/postgresql文件的兩個(gè)變量

prefix設(shè)置為postgresql的安裝路徑:/opt/module/pgsql/postgresql

PGDATA設(shè)置為postgresql的數(shù)據(jù)目錄路徑:/opt/module/pgsql/data

6.5.設(shè)置postgresql服務(wù)開(kāi)機(jī)自啟動(dòng)

chkconfig --add postgresql

6.6、查看開(kāi)機(jī)自啟動(dòng)服務(wù)設(shè)置成功

chkconfig

請(qǐng)與以下信息進(jìn)行對(duì)比:

postgresql ? ? ? ? 0:關(guān)閉 ? ?1:關(guān)閉 ? ?2:啟用 ? ?3:啟用 ? ?4:啟用 ? ?5:啟用 ? ?6:關(guān)閉

6.7.開(kāi)放5432端口 (若需開(kāi)啟防火墻)

firewall-cmd --zone=public --add-port=5432/tcp --permanent

6.8.重啟防火墻

firewall-cmd --reload

6.9.查看防火墻開(kāi)放端口

firewall-cmd --zone=public --list-ports

數(shù)據(jù)庫(kù)讀寫分離

(一)前期準(zhǔn)備工作

1.主機(jī)選擇

192.168.70.52?master

192.168.70.40?slave

2.修改主機(jī)名稱

#將主備庫(kù)的主機(jī)名修改為master,slave(可以自定義)修改如下文件的主機(jī)名

主從庫(kù)都需要配置

[postgres@master ~]$ vim /etc/hosts

192.168.70.52 master ????#主機(jī)中的配置

192.168.70.40 slave ?????#從機(jī)中的配置

主庫(kù)機(jī)器配置

[root@master ~]$ vim /etc/hostname

master

從庫(kù)機(jī)器配置

[root@slave ~]# vim /etc/hostname

slave

#查看主機(jī)名

hostname ; hostname -i

3.ssh互信免密操作

3.1自動(dòng)方式

(1) 創(chuàng)建服務(wù)器公鑰以及密鑰(主從都需要)

#執(zhí)行命令生成id_rsa.pub文件

ssh-keygen -t rsa -P ''

(2) 發(fā)送公鑰至登陸服務(wù)器?(若以下命令執(zhí)行失敗,請(qǐng)按照3.2手動(dòng)方式進(jìn)行配置)

#執(zhí)行ssh-copy-id命令將/root/.ssh/目錄下的id_rsa.pub公鑰文件發(fā)送到登陸服務(wù)器中

ssh-copy-id -i?/root/.ssh/id_rsa.pub root@192.168.70.40??#主機(jī)操作

ssh-copy-id -i?/root/.ssh/id_rsa.pub root@192.168.70.52 ?#從機(jī)操作

(3) 測(cè)試免密登錄

ssh root@192.168.70.40?#主機(jī)操作

ssh root@192.168.70.52 #從機(jī)操作

3.2手動(dòng)方式

在主機(jī)和從機(jī)上分別創(chuàng)建服務(wù)器公鑰以及密鑰

#執(zhí)行命令生成id_rsa.pub文件

ssh-keygen -t rsa -P ''

在主機(jī)和從機(jī)上分別創(chuàng)建authorized_keys文件

#進(jìn)入 /root/.ssh目錄

cd /root/.ssh

#執(zhí)行命令創(chuàng)建文件 authorized_keys

touch authorized_keys

主從機(jī)交換公鑰信息

將主機(jī)的id_rsa.pub文件內(nèi)容附加到從機(jī)的authorized_keys

將從機(jī)的id_rsa.pub文件內(nèi)容附加到主機(jī)的authorized_keys

測(cè)試免密登錄

ssh root@192.168.70.40?#主機(jī)操作

ssh root@192.168.70.52 #從機(jī)操作

(二)master主機(jī)操作

1、修改配置文件

#設(shè)置好用于復(fù)制的訪問(wèn)權(quán)限非常重要,這樣只有受信的用戶可以讀取 WAL 流,

#因?yàn)楹苋菀讖?WAL 流中抽取出需要特權(quán)才能訪問(wèn)的信息。

#后備服務(wù)器必須作為一個(gè)超級(jí)用戶或一個(gè)具有REPLICATION特權(quán)的賬戶向主服務(wù)器認(rèn)證。

#推薦為復(fù)制創(chuàng)建一個(gè)專用的具有REPLICATION和LOGIN特權(quán)的用戶賬戶。

#雖然REPLICATION特權(quán)給出了非常高的權(quán)限,但它不允許用戶修改主系統(tǒng)上的任何數(shù)據(jù),

#而SUPERUSER特權(quán)則可以。

cd /opt/module/pgsql/data

vim pg_hba.conf

#向文件中添加配置,如下:

host ???replication ????all ????????????192.168.70.52/32 ??????trust

#修改配置postgresql.conf以下幾處 內(nèi)存大小按需求更改

vi postgresql.conf

#主要修改

listen_addresses = '*'

port = 5432

wal_level = hot_standby

wal_log_hints = on

max_wal_senders = 10

hot_standby = on

logging_collector = on

log_directory = 'pg_log'

archive_mode =on

archive_command ='DATE=`date +%Y%m%d`;DIR="/opt/module/pgsql/postgresql/arch/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f'

2、創(chuàng)建歸檔路徑(路徑與上方archive_command中DIR對(duì)應(yīng))

mkdir ?-p /opt/module/pgsql/postgresql/arch/

chown -R postgres:postgres /opt/module/pgsql/postgresql/arch/

3、主庫(kù)中創(chuàng)建流復(fù)制用戶和pgpool用戶

#這里的流復(fù)制用戶要和上面pg_hba.conf里面寫的相同。

#PGPool用戶是在之后用到的,在這里先創(chuàng)建了

#進(jìn)入數(shù)據(jù)庫(kù)

psql postgres

CREATE USER stream_replication replication LOGIN CONNECTION LIMIT 5 ENCRYPTED PASSWORD '1qaz@WSX3edc';

CREATE USER pgpool replication LOGIN CONNECTION LIMIT 5 ENCRYPTED PASSWORD '1qaz@WSX3edc';

4、重啟數(shù)據(jù)庫(kù)

#切換到postgres用戶

su postgres

#重啟數(shù)據(jù)庫(kù)服務(wù)

pg_ctl -D ?/opt/module/pgsql/data/?restart

(三)slave?從機(jī)操作

1、基礎(chǔ)備份復(fù)制到備份服務(wù)器

#用戶切換

su postgres

#停止數(shù)據(jù)庫(kù)服務(wù)

pg_ctl ?-D /opt/module/pgsql/data/ ?stop

#刪除從庫(kù)數(shù)據(jù)文件

rm -rf /opt/module/pgsql/data # 如果沒(méi)有重要數(shù)據(jù)可操作,主要為同步主庫(kù)路徑

#如果postgres用戶沒(méi)有新建文件夾權(quán)限則需要用root用戶創(chuàng)建一個(gè)新的data文件夾

mkdir /opt/module/pgsql/data

#修改所屬組

chown -R postgres:postgres?/opt/module/pgsql

#從主庫(kù)拉取數(shù)據(jù)文件

pg_basebackup -h 192.168.70.52?-U stream_replication ?-F p ?-P -R -D /opt/module/pgsql/data

2、配置文件修改

su postgres

vi postgresql.conf

#修改以下內(nèi)容,主庫(kù)如果已經(jīng)自選修改過(guò)以后無(wú)需修改

hot_standby = on

3、主庫(kù)信息查看

#postgresql.auto.conf里面存放了主庫(kù)連接信息

vi /opt/module/pgsql/data/postgresql.auto.conf

4、啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)

#啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)

pg_ctl -D /opt/module/pgsql/data/ start

可能遇到的錯(cuò)誤:

#報(bào)錯(cuò)內(nèi)容

waiting for server to start....2023-02-01 09:54:36.742 CST [6406] FATAL: ?data directory "/opt/module/pgsql/data" has invalid permissions

2023-02-01 09:54:36.742 CST [6406] DETAIL: ?Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).

?stopped waiting

pg_ctl: could not start server

Examine the log output.

#解決方案

#修改權(quán)限,再啟動(dòng)即可

chmod 0750 /opt/module/pgsql/data/

pg_ctl -D /opt/module/pgsql/data/ start

5、流復(fù)制信息查看

#查看流復(fù)制的信息可以使用主庫(kù)上的視圖

select pid,state,client_addr,sync_priority,sync_state from pg_stat_replication;

柚子快報(bào)邀請(qǐng)碼778899分享:postgresql 讀寫分離

http://yzkb.51969.com/

相關(guān)文章

評(píng)論可見(jiàn),查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18837967.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問(wèn)

文章目錄