[学习笔记] 从零开始虚拟化搭建数据库服务器

一. 创建虚拟机并安装CentOS 7

硬件参数根据需求进行设置

CD/DVD 源选择CentOS7的 ISO 镜像

安装过程略...

二. 安装VMware Tools

等待安装结束,从菜单中选择安装VMware Tools,此时

CD/DVD 源会自动挂载到虚拟机中。

从虚拟机进入CentOS 7 系统

运行,创建挂载目录

复制代码
sudo mkdir -p /mnt/cdrom

运行

复制代码
lsblk

查看CD/DVD驱动器设备:

运行命令,挂载CD/DVD驱动器

复制代码
sudo mount /dev/sr0 /mnt/cdrom

执行结果如下,表明挂载成功

进入挂载目录,解压VMware Tools安装包

复制代码
cp /mnt/cdrom/VMwareTools-*.tar.gz /tmp/
cd /tmp
tar -zxvf VMwareTools-*.tar.gz

如果缺少编译工具和内核头文件,可以运行以下命令安装:

复制代码
yum install -y gcc make perl kernel-devel kernel-headers

进入解压后的目录,运行以下命令安装VMware Tools:

复制代码
cd vmware-tools-distrib
sudo ./vmware-install.pl

执行一路回车即可,安装完成后会提示:

安装成功结果:

三. 安装常用工具

确保联网

当前没有任何网络工具,如何确定系统已经接入互联网?

以访问百度为例,运行以下命令:

复制代码
echo > /dev/tcp/www.baidu.com/80 && echo "ok" || echo "not ok"

显示ok,则表明已经联网。

因为CentOS7已停止维护,所以需要手动添加 repo 源。运行:

安装网络工具

bash 复制代码
yum install -y wget curl net-tools vim epel-release

配置网络

将虚拟机自动获取的IP地址改为静态IP地址。

开放ssh的22端口

打开sshd

bash 复制代码
sudo systemctl start sshd
sudo systemctl enable sshd

打开防火墙,运行

复制代码
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

运行结结果:

此时可以通过ssh登录了,接下来可以安装SQL-Server、Redis等服务。

四. 安装服务

配置SELinux,打开码编辑器,并将SELINUX=enforcing 改为 SELINUX=permissive

复制代码
vi /etc/selinux/config

安装 SQL Server 2017

复制代码
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
sudo yum install -y mssql-server
sudo /opt/mssql/bin/mssql-conf setup
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
sudo firewall-cmd --reload
systemctl status mssql-server
systemctl enable mssql-server

安装 OpenSSL

复制代码
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
tar -xvf openssl-1.1.1.tar.gz
cd openssl-1.1.1
./config --prefix=/usr/local/openssl shared zlib
make && make install
sudo ldconfig
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

安装 Redis

复制代码
tar -zxvf redis-7.4.0.tar.gz
cd redis-7.4.0
make && make install
ln -s /usr/local/bin/redis-server /usr/bin/redis-server
cp redis.conf /etc/redis/
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent
sudo firewall-cmd --reload

新建redis启动脚本

复制代码
vi /usr/lib/systemd/system/redis.service
ini 复制代码
[Unit]
Description=Redis persistent key-value database
After=network.target

[Service]
LimitNOFILE=10032
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf --supervised systemd
ExecStop=/usr/libexec/redis-shutdown
Type=simple
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

执行命令

复制代码
systemctl daemon-reload
systemctl start redis
systemctl enable redis

安装 RabbitMQ

安装Erlang

复制代码
cd /tmp/
curl -sfL -O https://github.com/rabbitmq/erlang-rpm/releases/download/v26.2.5.11/erlang-26.2.5.11-1.el7.x86_64.rpm
yum install -y erlang-26.2.5.11-1.el7.x86_64.rpm

安装RabbitMQ

复制代码
curl -sfL -O https://github.com/rabbitmq/rabbitmq-server/releases/download/v4.1.0/rabbitmq-server-4.1.0-1.el8.noarch.rpm
yum install rabbitmq-server-4.1.0-1.el8.noarch.rpm

添加防火墙

复制代码
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent

sudo firewall-cmd --zone=public --add-port=25672/tcp --permanent

sudo firewall-cmd --zone=public --add-port=4369/tcp --permanent

配置外部访问的用户

复制代码
# 1. 添加用户 sa,并设置密码(将 yourpassword 替换成你实际使用的密码)
sudo rabbitmqctl add_user sa yourpassword

# 2. 给用户 sa 设置为管理员角色
sudo rabbitmqctl set_user_tags sa administrator

# 3. 设置该用户对默认虚拟主机 "/" 拥有全部权限
sudo rabbitmqctl set_permissions -p / sa ".*" ".*" ".*"

启动RabbitMQ的Web管理插件

复制代码
sudo rabbitmq-plugins list | grep management
sudo rabbitmq-plugins enable rabbitmq_management
sudo systemctl restart rabbitmq-server

运行结果:

访问RabbitMQ管理界面,默认地址为 http://127.0.0.1:15672,使用刚才创建的用户 sa 和密码登录。

...

相关推荐
欢呼的太阳1 天前
数据库设计Step by Step (10)——范式化
服务器·数据库·oracle
千寻xun1 天前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
喜欢的名字被抢了1 天前
MySQL基础入门:从零理解数据库与SQL
数据库·mysql·教程
Elastic 中国社区官方博客1 天前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
DLYSB_1 天前
生命通道:如何用 HIS 医疗系统直连网络声光终端,打造“零延误”的危急值响应网关?
java·网络·数据库·报警灯
儒雅的大叔1 天前
MySQL数据库InnoDB数据恢复工具使用总结
数据库·mysql·adb
观远数据1 天前
ChatBI选型对比:从意图识别到SQL修复,六个维度打分决定是否值得投产
数据库·人工智能·sql
嘉&年华1 天前
【第008篇】通过dexp和dimp命令导出和导入dmp文件(适用于达梦数据库)
数据库·sql
Tim_Van1 天前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
哥是强混1 天前
Means:基于 .NET 10 打造的开源自部署 S3 兼容对象存储服务
网络·数据库·.net