原因
在工作中需要验证各数据库下的查询语句,故在此记录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命令后续我也会总结。