Skip to content

部署数据库环境

安装PostgreSQL

Linux下PostgreSQL安装部署详细步骤

安装方法

安装方法参考官方文档:https://www.postgresql.org/download/linux/redhat/

部署目录

名称目录位置
PG数据库安装目录/home/postgres/FlyingDB15.4
PG数据库数据目录/home/postgres/pgdata
PG数据库日志目录/home/postgres/pgdata/log

创建 postgres 系统用户

bash
(root)
$ useradd -m postgres
$ passwd postgres
postgres@123

$ cat /etc/passwd | grep /bin/bash
root:x:0:0:root:/root:/bin/bash
postgres:x:1000:1000::/home/postgres:/bin/bash

切换到 postgres 用户,上传数据库包,并解压数据库包

bash
(postgres)
$ pwd
/home/postgres
$ mkdir FlyingDB15.4
$ tar -zxvf FlyingDB15.4.tar.gz -C FlyingDB15.4/
$ mkdir pgdata
$ chmod 0700 pgdata

搭建主库

  1. 配置环境变量

    bash
    $ vim ~/.bash_profile
    export PGHOME=/home/postgres/FlyingDB15.4
    export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
    export PATH=$PGHOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
    export PGDATA=/home/postgres/pgdata
    export PGDATABASE=postgres
    export PGUSER=postgres
    export PGPORT=5432
    export PGHOST=localhost
    export MANPATH=$PGHOME/share/man:$MANPATH
    export LANG=en_US.utf8
    export DATE=`date +"%Y%m%d%H%M"`
    
    $ source ~/.bash_profile
  2. 初始化数据库

    bash
    $ initdb -D /home/postgres/pgdata -E UTF8 --locale=C -U postgres

    image-20231122100831718

  3. 配置允许访问的 IP,允许所有 IP 以 md5 方式访问

    bash
    $ vim /home/postgres/pgdata/pg_hba.conf
    host    all             all             0.0.0.0/0               md5
  4. 启动数据库

    bash
    $ pg_ctl start
    $ pg_ctl stop
    $ pg_ctl restart
    $ pg_ctl status

修改密码

修改数据库密码

bash
$ psql
alter user postgres with password 'your password';

退出 sql 命令行

bash
$ \q

检查是否启动成功

image-20231124084635609

修改配置

如果想要暴露数据库到外面,需要修改 postgresql.conf 文件

bash
$ vim /home/postgres/pgdata/postgresql.conf
listen_addresses = '0.0.0.0'
port = 5432
$ pg_ctl restart

之后再去云服务器把对应安全组放开,即可拿 sql 工具进行访问

  • 连接之后就可以创建对应表、对应模式,之后执行初始化 sql 脚本了

开机自启×

不推荐

查看 postgres 安装路径,之后根据对应目录编辑配置文件

bash
$ which postgres
~/FlyingDB15.4/bin/postgres

$ vim /lib/systemd/system/postgres15.service
[Unit]
Description=PostgreSQLV15 database server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/home/postgres/FlyingDB15.4/bin/pg_ctl start
ExecStop=/home/postgres/FlyingDB15.4/bin/pg_ctl stop
ExecReload=/home/postgres/FlyingDB15.4/bin/pg_ctl reload
[Install]
WantedBy=multi-user.target

设置可执行权限

bash
$ chmod 755 /lib/systemd/system/postgres15.service

添加开机自启动

bash
$ systemctl enable postgres15.service

安装MySQL

安装方法

安装 mysql

bash
$ yum install -y mysql-server

如果没有可用软件包 mysql-server,可以使用如下方法

bash
# 下载mysql的repo源
$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# 安装rpm包,之后就有mysql repo源了
$ rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 即可安装
$ yum install -y mysql-server

启动 mysql 服务

bash
# 启动服务
$ systemctl start mysqld
# 停止服务
$ systemctl stop mysqld
# 添加开机自启动
$ systemctl enable mysqld
# 重启服务
$ systemctl restart mysqld

修改密码

我这个版本 mysql 没有初始密码,如果有初始密码,可以通过如下命令去查看

bash
$ find / -name mysqld.log
/var/log/mysql/mysqld.log
$ cat /var/log/mysql/mysqld.log | grep password

image-20231127095213798

登录,没有密码直接按回车即可登录

bash
$ mysql -u root -p

登录之后更新 root 密码,之后并创建 admin 用户,并授权表和远程访问权限,授权完就可以使用 Navicat 进行连接了

sql
# mysql8.0版本更新密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'mysql@123';
# 创建admin用户
CREATE USER 'admin'@'%' IDENTIFIED BY 'admin@123';
# 授权访问表
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';
# 授权远程访问
ALTER USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY 'admin@123';
# 刷新
FLUSH PRIVILEGES;

# mysql5.6版本更新密码
UPDATE user SET Password = PASSWORD('mysql@123') WHERE user = 'root';
FLUSH PRIVILEGES;

查看版本

sql
SELECT @@version;
+-----------+
| @@version |
+-----------+
| 8.0.32    |
+-----------+
1 row in set (0.00 sec)

修改配置

bash
# 查询msql安装路径
$ which mysql
/usr/bin/mysql
# 在查询出来的路径后面加如下参数
$ /usr/bin/mysql --verbose --help | grep -A 1 'Default options'
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
$ vim /etc/my.cnf
[client]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置3306端口
port = 3306
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 设置sql_mode,关闭ONLY_FULL_GROUP_BY,避免使用group by函数导致1055错误
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

安装MongoDB

安装方法

去官网选择对应版本进行下载

image-20231127105256517

bash
$ tar -zxvf mongodb-linux-x86_64-rhel80-3.6.23.tgz

创建 logs 和 data 目录,创建 mongodb.log 文件

bash
$ cd /usr/local/
$ mkdir -p mongodb/logs mongodb/data
$ touch /usr/local/mongodb/logs/mongodb.log

将解压的目前移动到 /usr/local/mongodb 目录下

bash
$ mv mongodb-linux-x86_64-rhel80-3.6.23/* /usr/local/mongodb/

修改环境变量

bash
$ vim /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
$ source /etc/profile

修改配置

编辑 mongodb.conf 文件

bash
$ vim /etc/mongodb.conf
# 指定数据库路径
dbpath=/usr/local/mongodb/data
# 指定MongoDB日志文件
logpath=/usr/local/mongodb/logs/mongodb.log
# 使用追加的方式写日志
logappend=true
# 端口号
port=27017 
# 方便外网访问
bind_ip=0.0.0.0
# 以守护进程的方式运行MongoDB,创建服务器进程
fork=true

启动 mongodb

bash
$ mongod -f /etc/mongodb.conf
# 关闭
$ mongod --shutdown -f /etc/mongodb.conf

修改密码

登录 mongodb,默认没有密码直接登录

bash
$ mongo

创建用户

sql
use admin;
db.createUser({user:'root', pwd:'mongo@123', roles:[{role:'root', db:'admin'}]});
db.createUser({user:'admin',pwd:'admin@123',roles:[{role:'root',db:'admin'}]});

# 验证账号是否授权成功, 1 验证成功,0 验证失败
db.auth("root","mongo@123");
db.auth("admin","admin@123");

开机自启

查看 mongodb 安装路径,之后根据对应目录编辑配置文件

bash
$ which mongo
/usr/local/mongodb/bin/mongo

$ vim /lib/systemd/system/mongodb.service
[Unit]
Description=Mongodb database server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
# 修改为你的 monogodb 安装目录,与你的 mongodb.conf 配置路径
ExecStart=/usr/local/mongodb/bin/mongod --config /etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /etc/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target

设置可执行权限

bash
$ chmod 755 /lib/systemd/system/mongodb.service

添加开机自启动

bash
$ systemctl enable mongodb.service

安装Redis

redis 是 c 语言开发,安装 redis 需要先将官网下载的源码进行编译,编译依赖 gcc 环境

bash
$ yum install -y gcc gcc-c++

去官网下载或者使用 wget 下载到指定目录

bash
$ wget http://download.redis.io/releases/redis-4.0.6.tar.gz

解压 redis 包

bash
$ tar -zxvf redis-4.0.6.tar.gz

编译

bash
$ cd redis-4.0.6
$ make

安装

bash
$ make PREFIX=/usr/local/redis install

将 redis.conf 文件移动到

bash
$ cp /home/software/redis-4.0.6/redis.conf /usr/local/redis/bin/

启动

bash
$ cd /usr/local/redis/bin
# 启动服务器
$ ./redis.server redis.conf
# 启动redis客户端
$ ./redis-cli

image-20231124083928737

常备不懈,才能有备无患