在服務器linux\CentOS上安裝mimic數據庫

mimic數據庫

mimic數據庫是目前最大的公開醫療數據庫,可以做醫療領域的數據挖掘和機器學習。
看這篇之前你需要拿到mimic的csv文件以及四個postgreSQL文件
四個SQL文件分別是:
postgres_create_tables.sql
postgres_load_data.sql
postgres_add_indexes.sql
postgres_checks.sql

在服務器上安裝mimic

服務器

這裏使用的服務器系統是CentOS6.幾。

(重要)官方指導

Install MIMIC(UNIX,MAC) 結合官方tutorials配合這篇來安裝mimic

步驟

1.在服務器上裝PostgreSQL數據庫

(推薦)使用二進制安裝

*用yum命令裝數據庫遇到的坑較多,推薦使用二進制安裝(參考:Linux系統二進制安裝PostgreSQL

yum命令安裝:

官方網站:postgreSQL download
在這裏選擇系統、版本(我選擇的版本是12)等等,我這裏使用yum命令安裝,我這裏的命令是:

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-6-x86_64/pgdg-redhat-repo-latest.noarch.rpm

yum install postgresql12

service postgresql-12 initdb
chkconfig postgresql-12 on
service postgresql-12 start

坑1-報錯"Couldn’t resolve host ‘apt.sw.be’"

運行以下命令後重試

cd /etc/yum.repos.d/
mv rpmforge.repo rpmforge.repo.bak

yum clean all

yum install 

坑2-報錯[Errno 14] problem making ssl connection

參考
this
這篇
這一篇
基本思路是缺少SSL證書,先禁用相關倉庫、安裝證書、再啓用
參考命令

cd /etc/yum.repos.d/
vi /etc/yum.repos.d/pgdg-redhat-all.repo  //找到enabled參數選項,改爲0,即把這個倉庫禁用掉,等安裝完證書再改爲1
// 安裝證書
yum install ca-certificates
// 更新證書
yum update ca-certificates

坑3-開啓遠程訪問和信任鏈接

改配置文件

vi /var/lib/pgsql/12/data/pg_hba.conf
# Accept from anywhere
host all all 0.0.0.0/0 md5

# Accept from trusted subnet
host all all 192.168.18.0/24 md5
vi /var/lib/pgsql/12/data/postgresql.conf

往下拉
listen_addresses = '*'  // 所有用戶,也可指定爲唯一IP

*坑4-遷移數據庫data路徑

rpm是默認安裝到系統盤的。我們都知道,數據庫系統的數據通常都比較大,所以這裏需要把數據庫的data做一下遷移,遷移到數據盤(/home)。
參考:postgresql 數據庫路徑遷移1
參考:postgresql 數據庫路徑遷移2

默認的數據庫路徑是/var/lib/pgsql/版本號/data

新建一個路徑放數據如/home/pgdata 並賦權
sudo mkdir /home/pgdata
sudo chown -R postgres:postgres /home/pgdata
sudo chmod 700 /home/pgdata
拷貝,先停服務
// (停服務)有的是這個命令
sudo systemctl stop postgresql
// (停服務)我的是這個命令
service postgresql-12 stop
sudo su - postgres
// 把數據複製過去
cp -rf /var/lib/pgsql/版本號/data/* /home/pgdata
修改pgsql的啓動腳本
vi /etc/init.d/postgresql-12
修改PGDATA=/home/pgdata
重啓服務
service postgresql-12 start
查看PG的數據庫目錄
su - postgres
psql
show data_directory

這裏就應該是/home/pgdata了

然後我使用的是默認用戶postgres、建立mimic數據庫、建mimiciii Schema

ALTER USER postgres WITH PASSWORD 'postgres';// 修改默認用戶postgres密碼
// 建數據庫
DROP DATABASE IF EXISTS mimic; 
CREATE DATABASE mimic OWNER postgres;
// 建Schema
\c mimic;
CREATE SCHEMA mimiciii;

2、把mimic所需要的csv及SQL文件都放在數據盤,用命令打開到放sql的目錄下,分別執行官方的四個SQL文件。

以下命令行都需要在服務器terminal運行,可以通過ssh遠程連接。(這裏本來以爲Navicat可以執行命令行,試了後發現不行,Navicat只可以用來執行SQL語句)

這裏有個坑~執行命令行需要穩定的ssh連接,如果使用ssh root@ip,一段時間沒有操作的話就會broken,所以建議使用
ssh -o ServerAliveInterval=60 root@ip

打開相應的SQL目錄命令:

cd /home/common/mimic_data/PostgreSQL_scripts

然後在此執行-createTable,這一步很快

psql 'dbname=mimic user=postgres options=--search_path=mimiciii' -f postgres_create_tables.sql

然後loadData,超級慢,懷疑人生的慢。。。因爲有events表有多個子表,有三億多行。這裏一定要保持穩定的連接。至少需要六個小時吧

psql 'dbname=mimic user=postgres options=--search_path=mimiciii' -f postgres_load_data.sql -v mimic_data_dir="/home/common/mimic_data/TEMP/"

接下來加索引,挺快的

psql 'dbname=mimic user=postgres options=--search_path=mimiciii' -f postgres_add_indexes.sql

最後是驗證,這一步也是挺慢的,耐心等待哈

psql 'dbname=mimic user=postgres options=--search_path=mimiciii' -f postgres_checks.sql

我們最終會得到這樣一個結果,都是PASSED則說明安裝成功,如果有FAILED就再次load data,指導check通過
在這裏插入圖片描述
撒花✿✿ヽ(°▽°)ノ✿
安裝成功~

進入psql看看有哪些表吧

psql 'dbname=mimic user=postgres options=--search_path=mimiciii'
或者su - postgres

出來 -bash-4.1$
psql

\c mimic
\d

在這裏插入圖片描述
執行SQL驗證下~

select count(subject_id) from patients;

3.(重要)請創建一個新的數據庫用戶,讓它只可以查數據,不能改或者加數據

附上相應的命令哈,分別執行

CREATE USER mimicuser WITH PASSWORD ‘mimic’;
grant select on all tables in schema mimiciii to mimicuser;
grant usage on schema mimiciii to mimicuser;
grant connect on database mimic to mimicuser;

//  執行以下命令進入驗證
psql 'dbname=mimic user=mimicuser options=--search_path=mimiciii'

4.用Navicat premium遠程連接數據庫

用Navicat premium新建PostgreSQL連接,用SSH連接,填入主機ip、用戶名、密碼等
在這裏插入圖片描述
然後在常規tab中依次填入連接名等等,點擊確定即可。
在這裏插入圖片描述

參考
How To Install PostgreSQL 12 on CentOS 7 / CentOS 8
https://github.com/MIT-LCP/mimic-code/issues/296
centos7 安裝最新版postgresql10

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章