数据库安装集合 PostgreSQL 10 + PostGIS & MySQL & MongoDB

本文是个人总结的数据库安装文档。如有错误,欢迎指出!谢谢

更新yum包

yum update -y

PostgreSQL

安装

官网介绍:https://www.postgresql.org/download/linux/redhat/

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

安装数据库

yum install -y postgresql10-server

初始化数据库

/usr/pgsql-10/bin/postgresql-10-setup initdb

开机启动 postgresql

systemctl enable postgresql-10

启动 postgresql 服务

systemctl start postgresql-10

systemctl stop postgresql-10

systemctl status postgresql-10

查看 postgresql 服务状态

systemctl status postgresql-10

连接PostgreSQL数据库

PostgreSQL会自动创建postgres用户, 创建数据库之前, 要用postgres用户或root用户登录并重置postgres用户密码.

su -l postgres

连接数据库, psql命令会激活PostgreSQL数据库终端:

psql

重置postgres用户密码

alter user postgres with password 'sensingterra';

登出

\q

exit

允许外网连接

1. 修改postgresql.conf

postgresql.conf存放位置在/var/lib/pgsql/10/data/下,

vim /var/lib/pgsql/10/data/pg_hba.conf

翻到文件最后,将最后三行注释,并添加一行代码

host all all 0.0.0.0/0 md5

2. 编辑postgresql.conf文件

将listen_addresses修改为 listen_addresses = ‘*’

vim /var/lib/pgsql/10/data/postgresql.conf

listen_addresses = ‘*’

重启服务

systemctl restart postgresql-10

PostGIS

安装gdal

#安装epel-release
yum -y install epel-release

yum -y install cmake cmake-gui
yum -y install cairo-devel libcurl-devel

yum -y install gdal-devel geos-devel openssl-devel libpqxx-devel proj-devel gtk3-devel wxGTK3-devel libcanberra-gtk3 --skip-broken

yum -y install gdal

将EPEL存储库添加到CentOS 7

#安装postgis,无需GDAL
yum -y install postgis25_10 postgis25_10-devel postgis25_10-client postgis25_10-debuginfo postgis25_10-utils

#安装ogr_fdw10扩展
yum -y install ogr_fdw10 pgrouting_10

yum安装软件时报错libmysqlclient.so.18()(64bit)

缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm这个包

wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm 

MySQL

关闭SELinux

vi /etc/selinux/config

SELINUX=disabled

安装第三方依赖库

yum install perl net-tools -y

安装前,我们可以检测系统是否自带安装 MySQL:

rpm -qa | grep mysql
rpm -qa | grep mariadb

如果你系统有安装,那可以选择进行卸载:

rpm -e mysql  // 普通删除模式
rpm -e mariadb // 删除 mariadb 
rpm -e --nodeps mysql  // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除

rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64

到官网 https://dev.mysql.com/downloads/mysql/5.7.html 下载 5.7 的MySQL rpm包

rpm -ivh /opt/mysql-community-common-5.7.32-1.el7.x86_64.rpm
rpm -ivh /opt/mysql-community-libs-5.7.32-1.el7.x86_64.rpm
rpm -ivh /opt/mysql-community-client-5.7.32-1.el7.x86_64.rpm
rpm -ivh /opt/mysql-community-server-5.7.32-1.el7.x86_64.rpm

权限设置:

chown mysql:mysql -R /var/lib/mysql

初始化 MySQL:

mysqld --initialize

启动 MySQL:

systemctl start mysqld

查看 MySQL 运行状态:

systemctl status mysqld

验证 MySQL 安装

mysqladmin --version

创建root账号密码

# 查看密码
grep 'temporary passwor' /var/log/mysqld.log

//根据查询到的密码进行登录
mysql -u root -p

修改root密码

# 修改最短密码长度
set global validate_password_length=6;
set global validate_password_policy=0;

alter user user() identified by '981231';

use mysql;
update user set host = '%' where user = 'root';

flush privileges;

运行远程登录

# 修改/etc/my.cnf配置文件,加入以下内容

vim /etc/my.cnf

character_set_server = utf8
bind-address=0.0.0.0

# 重启
service mysqld restart

MongoDB

解压文件

tar -zxvf mongodb-linux-x86_64-rhel70-3.6.20.tgz -C /opt/module

配置系统文件profile

vim /etc/profile

export MONGODB_HOME=/opt/module/mongodb-linux-x86_64-rhel70-3.6.20
export PATH=$PATH:$MONGODB_HOME/bin

source /etc/profile

创建用于存放数据和日志文件的文件夹

cd /opt/module/mongodb-linux-x86_64-rhel70-3.6.20
mkdir -p data/db
sudo chmod -r 777 data/db

mkdir logs
cd logs
touch mongodb.log

进入到bin目录,增加一个配置文件:

cd /opt/module/mongodb-linux-x86_64-rhel70-3.6.20/bin
vim mongodb.conf

dbpath = /opt/module/mongodb-linux-x86_64-rhel70-3.6.20/data/db
# 日志文件存放目录
logpath = /opt/module/mongodb-linux-x86_64-rhel70-3.6.20/logs/mongodb.log
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
auth = true
bind_ip = 0.0.0.0

启动mongod数据库服务,以配置文件的方式启动

cd /opt/module/mongodb-linux-x86_64-rhel70-3.6.20/bin
./mongod -f mongodb.conf

查看是否成功

ps -ef|grep mongodb
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL+PostGIS 相对于 Oracle Spatial 在以下几个方面具有优势: 1. 开源和免费:PostgreSQL+PostGIS 是开源的数据库系统,可以免费使用,并且在开源社区中有广泛的支持和贡献。相比之下,Oracle Spatial 是商业数据库产品,可能需要支付高额的许可费用。 2. 社区支持和生态系统:PostgreSQL+PostGIS 有庞大的开源社区支持,许多开发者和组织都在为其开发新功能、解决问题和提供支持。这意味着用户可以从活跃的社区中获取帮助、学习和分享经验。 3. 扩展性和灵活性:PostgreSQL 是一个高度可扩展的数据库系统,可以轻松处理大规模数据集。PostGIS 扩展为 PostgreSQL 提供了丰富的地理空间功能,包括拓扑关系查询、空间索引、几何运算等。用户可以根据自己的需求选择性地安装和配置 PostGIS 扩展,使其更适合特定的应用场景。 4. 标准兼容性:PostgreSQL+PostGIS 遵循 SQL 和 OGC(Open Geospatial Consortium)的标准,支持标准的地理空间数据模型和函数。这使得它与其他遵循相同标准的地理空间数据系统具有良好的互操作性。 5. 可定制性和开发灵活性:开源的 PostgreSQL+PostGIS 提供了许多扩展和插件,用户可以根据自己的需求进行定制和开发。这使得用户可以根据具体应用的要求,灵活地扩展和定制地理空间功能。 需要注意的是,选择使用 PostgreSQL+PostGIS 还是 Oracle Spatial 取决于具体的需求和环境。如果对性能、功能全面性和与商业软件集成有较高要求,以及有相应的预算支持,那么 Oracle Spatial 可能更适合。而如果希望免费使用、享受开源社区支持、具备灵活性和可定制性,那么 PostgreSQL+PostGIS 是一个更好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值