docker 安装mysql、postgres、oracle及相关问题的解决方法

mysql

1.下载mysql镜像,以5.7版本为例,也可不指定版本默认下载最新的

指定版本命令:docker pull mysql:5.7
不指定版本命令:docker pull mysql

2.查看下载容器

docker images

3.启动和数据挂载,启动方式二选一

数据挂载并启动:
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data: /var/lib/mysql -e MYSQL_ROOT_PASSWORD=1234 --name mysql01 mysql:5.7

注:/home/mysql/conf、/home/mysql/data 这个两个没有文件需要创建
不挂载启动:
docker run -d -p 3310:3306  -e MYSQL_ROOT_PASSWORD=1234 --name mysql01 mysql:5.7
# 命令解析
--name mysql01 mysql:5.7 指定容器的名称,原始容器名称
-e POSTGRES_PASSWORD=postgres  设置环境变量,指定数据库的用户名和密码,用户名为postgres,密码为:postgres
-p 3306:3306指定端口:前面为映射的端口号,后面为镜像的端口号
-v /home/mysql/data: /var/lib/mysql 指定宿主机的目录和原数据目录
-d postgres:12  指定镜像名称以及版本号

4.查看启动的镜像

docker ps
docker ps -a 查看全部镜像

5.进入容器中,下图表示已进入容器中

docker exec -it cd312a957787 /bin/bash

cd312a957787 是4的镜像id

postgres

1.下载postgres镜像,以9.6版本为例,也可不指定版本默认下载最新的

指定版本命令:docker pull postgres:9.6
不指定版本命令:docker pull postgres

2.启动和数据挂载

docker run -d -p 54321:5432 -e POSTGRES_PASSWORD=1234 -v /home/data-volume/postgresql/data:/var/lib/postgresql/data --name postgres9.6 postgres:9.6

3.查看容器和进入容器和mysql类似

oracle

1.下载oracle镜像,不指定版本默认下载最新的

不指定版本命令:docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2.创建挂载文件的文件夹

mkdir -p /home/oracle/data/

3.启动oracle并数据挂载

4.进入容器

5.进行软连接

sqlplus /nolog

发现没有该命令,所以切换root用户。
su root 
输入密码:helowin

7.编辑profile文件配置ORACLE环境变量 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

8.保存后加载环境变量

source /etc/profile

9.创建软连接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

10.切换到oracle 用户

1.alter user system identified by system ;--修改system用户账号密码(有可能出现坑1);
2.alter user sys identified by sys ;--修改sys用户账号密码;
3.create user test identified by test; -- 创建内部管理员账号密码;
4.grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码;
5.ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --设置密码永不过期(有可能出现坑2):
6.alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;

11.有可能出现坑的解决方法 10中的坑1 注意了:这里也许还会提示 : ORA-01507: database not mounted 解决办法:

输入:alter database mount; 
输入 :alter database open;

10中的坑2 改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 刷新下表 exit 是退休sql 软连接

12.客户端连接oracle

14 PLSQL+Developer 客户端 配置tnsnames.ora文件

localhost =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.87.128)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = helowin)
    )
  )
经验分享 程序员 微信小程序 职场和发展