原因

在工作中需要验证各数据库下的查询语句,故在此记录Docker中安装数据库的步骤,以防遗忘,也为后续发生意外时可快速对照安装 🥲。

mysql安装

拉取镜像

docker pull daocloud.io/library/mysql:5.7.5-m15

查看镜像

docker images

结果:
在这里插入图片描述

修改REPOOSITORY名称

⚠️ 非必须,该条为个人习惯

docker tag 6448ea6ff3b5 mysql:5.7.5-m15
# 6448ea6ff3b5为镜像ID,mysql为修改后的REPOOSITORY,5.7.5-m15为镜像标签(版本)
# 该镜像REPOOSITORY更改前名称为:daocloud.io/library/mysql,太长了(强迫症发作)

修改后:
在这里插入图片描述

启动一个容器

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.5-m15
# mysql-zlh 指定了该容器的名字(可自己随意更换)
# -p指定开放端口3306进行映射(-P是随机的端口映射,后面就不需要加端口号,直接是 --name mysql-zlh -P -e XXX)
# 123456 指定了 root 用户的密码(可自己随意更换)

查看运行中容器

docker ps

结果:
在这里插入图片描述

进入容器

docker exec -it mysql-test bash 
# docker exec -it mysql env LANG=C.UTF-8 /bin/bash
# 为了解决docker内运行mysql无法输入中文的问题

命令行进入mysql

mysql -uroot -p123456
# 用户名为root,密码为123456

结果:
在这里插入图片描述

输入SQL语句

在这里插入图片描述
🐷 在该命令行页面exit 2次才返回原服务器终端

可视化工具连接mysql

我用的是datagrip
在这里插入图片描述
🇨🇳mysql常用命令后续补充~

sql server安装

拉取镜像

docker pull mcr.microsoft.com/mssql/server:latest

查看镜像

docker images

修改REPOOSITORY名称

⚠️ 非必须,该条为个人习惯

docker tag 镜像id sqlserver:latest

启动一个容器

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Pass@w0rd" -p 1433:1433 --name sqlserver-zlh -d sqlserver:latest
# 密码一定要设置强密码,不然容器会打开就挂掉

查看运行中容器

docker ps

结果:
在这里插入图片描述

进入容器

docker exec -it sqlserver-zlh /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P Pass@w0rd

结果:
在这里插入图片描述
出现1> 则可直接执行sql命令。
⚠️ 需要注意的是,go结尾才能正确执行。
🐷 在该命令行页面exit 1次则可返回原服务器终端

可视化工具连接sql server

在这里插入图片描述

oracle安装

拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

⚠️ 镜像比较大,下载时间些微会长一些,6.85G

查看镜像

docker images

修改REPOOSITORY名称

⚠️ 非必须,该条为个人习惯

docker tag 镜像id oracle:latest

启动一个容器

docker run -d -p 1521:1521 --name oracle-zlh oracle:latest

查看运行中容器

docker ps

进入容器

docker exec -it oracle-zlh /bin/bash

连接数据库及前置操作

sqlplus /nolog

⚠️ 此时会报错“command not found”,不要着急,往下走

切换到root
su - root
# 密码:helowin
配置环境变量
vi /etc/profile

编辑该文件,在最下方输入以下数据后保存

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
生效环境变量
source /etc/profile
创建软链接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到oracle用户
su - oracle

连接数据库及后置操作

连接数据库
sqlplus /nolog
以超级管理员的身份登陆
conn /as sysdba
修改用户密码
修改system
alter user system identified by system;
修改sys
alter user sys identified by sys;
创建新用户
create user test identified by 123456;
# 用户名为test,密码为123456(可自行修改)
为该用户赋予权限
grant connect,resource,dba to test;
# 赋予权限给用户test

🐷 以上是首次进入oracle的过程,下面给出后续进入步骤

docker exec -it oracle-zlh /bin/bash

# 进入容器后
su - root  # 密码 helowin
su  - oracle
sqlplus /nolog

# 连接数据库后
conn /as sysdba

🐷 需要exit3次才可回到服务器终端页面

可视化工具连接

在这里插入图片描述

疑问

目前数据库返回数据中文乱码,待我查询相关文档后再作补充~如有大神直接告知也可
不同数据库下的sql命令后续我也会总结。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐