Linux搭建SQLserver数据库和Orical数据库

搭建标题中的两个数据库,同样采用docker的搭建方式,说时候docker实在是好用,搭建起来的服务完全一个个的独立,相互之间没有任何影响,镜像很多都是现成的,比较稳定的镜像,唯一的缺点其实就是占用存储空间大,但是这点其实也没有什么,毕竟现场存储价格便宜,使用简单方便,存储大些也是可以接受的。我搭建使用的服务器是Centos7。

1、前提

docker部署容器首先得安装好docker软件,然后检测是否安装了docker compose,有些版本用docker-compose,有些用docker compose,有些区别,需要自行去确定。然后确定docker源是否可用,现在好多源都不能用了,需要寻找一个可用的docker源,如果docker源不可用,那么到时候拉取镜像的时候就会失败。

2、docker-compose文件

按照如下的方式编辑好docker compose的yml文件,内容如下所示:docker-compose.yml

bash 复制代码
services:
  # Oracle 服务配置
  oracle:
    image: gvenzl/oracle-xe:18.4.0  # 使用轻量级的Oracle XE版本
    container_name: oracle_db
    network_mode: bridge
    user: "54321:54321"
    environment:
      - ORACLE_PASSWORD=jelly!123  # SYS, SYSTEM和PDBADMIN用户的密码
      - ORACLE_DATABASE=ORCLCDB  # 数据库名称
      - ORACLE_PDB=ORCLCDB1  # 可插拔数据库名称
    ports:
      - "1521:1521"  # Oracle默认端口
      - "5500:5500"  # EM Express端口
    volumes:
      - ./oracle_data:/opt/oracle/oradata  # 数据持久化卷
    restart: unless-stopped

  # SQL Server 服务配置
  sqlserver:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: sqlserver_db
    network_mode: bridge
    user: root
    environment:
      - ACCEPT_EULA=Y
      - SA_PASSWORD=jelly!123  # 密码必须符合复杂性要求
      - MSSQL_PID=Express  # 使用Express版本,可选:Developer, Enterprise等
    ports:
      - "1433:1433"  # 映射主机端口到容器端口
    volumes:
      - ./sqlserver_data:/var/opt/mssql  # 数据持久化卷
    restart: unless-stopped  # 除非手动停止,否则总是重启容器

从yml文件可以看到我两个数据库的登录密码都是jelly!123,后面在验证数据的时候就使用该密码进行数据的连接和登录测试。

3、创建容器

根据上面的yml文件,在同一级别目录创建两个文件夹,分别为oracle_data和sqlserver_data,然后使用命令将两个目录的权限置为777,命令操作如下:

bash 复制代码
chmod -R 777 oracle_data
chmod -R 777 sqlserver_data

上面的操作是为了让映射的目录到时候有读写权限,测试为了方便设置成777,如果是生产环境根据实际情况设置成755或者其他权限,也需要保证容器到时候对映射目录有读写权限。然后再yml文件的的同级目录下面执行命令:docker compose up -d即可创建容器,创建容器需要拉取镜像,可能比较慢,可能会失败,如果失败排查docker镜像源是否可以正常访问。

运行完成后入下面所示,可以看到对应的镜像和运行的容器

对应的镜像:可以看到这两个镜像都比较大,大小都是上G

运行的容器:

4、验证数据库

如果上面创建容器正常的话就可以使用数据库工具或者写个脚本代码连接数据库看数据库是否可以正常连接,我使用的是数据库工具,用的是DBeaver,

4.1 验证sqlserver数据库:

按照上面的配置信息连接配置,ip地址是你宿主机的ip地址,密码就是用yml文件配置的密码,用户名填sa而不是yml文件的root,很奇怪,估计是该数据库自己的特性,如果有同学知道为什么可以子啊评论区留言,指导指导。配置好后,点击左边的测试连接:如果连接正常则会显示如下界面:

4.2 验证oracal数据库

验证也是使用DBeaver,使用如下的配置连接:

用户名使用的是system,估计和上面的sqlserver一样,都是默认的账户,配置好后,点击左边的测试连接,如果配置正常,会有如下的弹窗信息:

到此两个数据库的容器创建和连接测试都完成了,可以进行数据库的使用了。

相关推荐
银发控、1 小时前
MySQL联合索引
数据库·mysql
予枫的编程笔记1 小时前
【MySQL修炼篇】从踩坑到精通:事务隔离级别的3大异常(脏读/幻读/不可重复读)解决方案
数据库·mysql·后端开发·数据库事务·事务隔离级别·rr级别·脏读幻读不可重复读
Chen放放2 小时前
【华三】VXLAN-三层集中式网关配置
运维·网络
碎梦归途2 小时前
思科网络设备配置命令大全,涵盖从交换机到路由器的核心配置命令
linux·运维·服务器·网络·网络协议·路由器·交换机
七维大脑虚拟机2 小时前
飞牛NAS公网IPv6+DDNS远程访问零延迟教程
运维·服务器·网络
小天源2 小时前
nginx在centos7上热升级步骤
linux·服务器·nginx
AZ996ZA3 小时前
自学linux第十八天:【Linux运维实战】系统性能优化与安全加固精要
linux·运维·安全·性能优化
一起养小猫3 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
世界尽头与你3 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试
韩立学长3 小时前
【开题答辩实录分享】以《智能大学宿舍管理系统的设计与实现》为例进行选题答辩实录分享
数据库·spring boot·后端