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

一. 创建虚拟机并安装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 和密码登录。

...

相关推荐
千层冷面3 分钟前
Redis 的内存回收机制
数据库·redis·缓存
jllllyuz4 分钟前
Redis 5 种基础数据结构?
redis
XiaoCCCcCCccCcccC2 小时前
MySQL 表内容的增删查改 -- CRUD操作,聚合函数,group by 子句
数据库·mysql
码农捻旧2 小时前
MySQL 9.3 超详细下载安装教程(Windows版)附图文说明
数据库·windows·mysql·adb·程序员创富
SofterICer2 小时前
8.7 基于EAP-AKA的订阅转移
linux·服务器·数据库
stormsha3 小时前
GO语言进阶:掌握进程OS操作与高效编码数据转换
开发语言·数据库·后端·golang·go语言·源代码管理
尘埃不入你眼眸4 小时前
MySQL的基础操作
数据库·mysql
yzlAurora4 小时前
MySQL问题:MVCC是什么?
数据库·oracle
Always_away5 小时前
26考研|高等代数:λ-矩阵
笔记·学习·线性代数·矩阵
图梓灵5 小时前
Maven与Spring核心技术解析:构建管理、依赖注入与应用实践
java·笔记·spring·maven