在服务器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

Mimic数据库表格是一个在医学领域中广泛使用的模拟数据库。该数据库包含了从2999年至2012年的各种临床环境中的真实患者信息。Mimic数据库表格可以用于进行医学研究、临床实践和医学数据分析。 在Mimic数据库表格中,包含了多个表格,每个表格代表不同类型的数据。其中最重要的表格是PATIENTS表格,它包含了与每个患者相关的基本信息,例如患者的ID、出生日期、性别和入院时间等。另一个重要的表格是ADMISSIONS表格,它包含了每次患者入院的详细信息,如入院时间、出院时间、诊断等。这些表格提供了基本的患者人口学和临床信息。 除了基本信息外,Mimic数据库还包含了许多其他表格,如LABEVENTS表格、PRESCRIPTIONS表格和NOTEEVENTS表格等。这些表格包含了患者在医院期间的实验室检查、药物处方和医疗记录等详细信息。通过这些表格,研究人员可以深入了解患者的疾病进展、治疗情况和医疗过程。 使用Mimic数据库表格可以进行各种医学研究。例如,研究人员可以通过分析患者入院时间和出院时间的数据,评估不同疾病的住院时间和治疗效果;通过分析实验室检查和药物处方的数据,探索不同疾病的诊断标志物和治疗方法;通过分析医疗记录的数据,了解医生在不同疾病管理中的决策过程等等。 总之,Mimic数据库表格是一个包含了真实患者信息的模拟数据库,可以用于医学研究、临床实践和医学数据分析。通过分析Mimic数据库表格中的数据,可以深入了解患者的个体特征、疾病过程和治疗情况,为医学领域的进一步发展提供有力的支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值