sheng的学习笔记-docker部署数据库oracle,mysql

部署目录:sheng的学习笔记-部署-目录-CSDN博客

docker基础知识可参考   sheng的学习笔记-docker部署,原理图,命令,用idea设置docker

docker安装数据库

  • mac版本

  • 安装oracle

  • 下载oracle镜像

打开终端,输入

docker search oracle

我这里下载的是 oracle-xe-11g,在终端中输入

 sudo docker pull deepdiver/docker-oracle-xe-11g

来拉取镜像,等下载好了以后,输入

docker images

来查看镜像,可以看到刚下载的镜像

  • 创建容器,运行Oracle 

sudo docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g

来创建容器并运行,其中1521:1521中前面的1521表示本机的端口号,后面的1521表示Docker中映射的端口号(!!!注意:后面那个1521端口号一定不能更改,只能根据自己的需求更改前面的端口号,作者建议不要更改,因为Oracle没有Mac版本所以一般不会出现端口冲突)

  • 来查看容器的运行情况

输入

docker ps

然后复制id,我这里的ID是640f1e53bb05,然后在终端中输入

sudo docker exec -it 640f1e53bb05 /bin/bash 

进入shell容器,这里-it后面的就是我们刚刚复制的id

  • 调试Oralce 

进入shell容器以后输入

sqlplus system/oracle

出现如下图所示表示成功

  • 创建一个用户,并授权
create user JYL identified by a;
我的是 create user lzs1 identified by lzs;
grant connect,resource to lzs1;这里JYL可以替换成自己的用户名,a可以替换成自己的密码;这两个东西之后链接数据库的时候需要用到。
提示User created.说明用户创建成功。
使用select * from all_users;就可以看到刚刚创建好的用户。
然后我们为这个用户授权grant connect,resource to JACK;,注意这里的用户名必须全部大写。
提示Grant succeeded.之后说明授权成功。

  • 测试数据库

我用的是DBeaver连接数据库

如果第一次下载,会要求安装驱动

 注意:这里的服务名是:XE,与Windows有区别,填写完所有信息以后点击左下角的“测试连接”,显示连接成功以后点击右下角的确定即可

  • 创建表测试 
CREATE TABLE student (id NUMBER(5) PRIMARY KEY,name VARCHAR2(30),age NUMBER(3) CHECK (age >= 0 AND age <= 100)
);
INSERT INTO STUDENT s (id,name,age) values(1,'zhangsan',20)SELECT * FROM student;

   

安装mysql

  • 下载mysql镜像

打开终端,输入

docker search mysql

终端输入

docker pull mysql:latest

来拉取镜像,等下载好了以后,输入

docker images

来查看镜像,可以看到刚下载的镜像

  • 创建容器,运行mysql

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql

–name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:后台运行容器,保证在退出终端后容器继续运行

  • 来查看容器的运行情况

输入docker ps

复制id,我这里是24624966d8c8,

输入

docker exec -it 24624966d8c8 /bin/bash

这将打开 Bash 终端,并把你放在正在运行的 MySQL 容器中。在容器中,您可以执行各种 MySQL 命令,包括创建用户、授权和配置等 

  • 调试mysql

接下来,我们需要登录 MySQL 并进行一些配置。使用以下命令打开 MySQL:

mysql -u root -p

输入密码,密码是创建容器的命令中的密码

  • 创建一个用户,并授权

然后输入您之前设置的密码。登录成功后,我们需要创建一个新用户,并授予该用户适当的权限。使用以下命令创建名为 `remote_user` 的新用户:

CREATE USER 'lzs_mysql'@'%' IDENTIFIED BY 'your_password';

其中,`remote_user` 是您自己设置的用户名,`your_password` 是该用户的密码。`%` 是通配符,表示任何 IP 地址都可以连接到 MySQL 服务器。接下来,使用以下命令为该用户授予适当的权限 

GRANT ALL ON *.* TO 'lzs_mysql'@'%'; 

此命令授予 `remote_user` 用户对 MySQL 服务器上所有数据库和表的完全访问权限。

  • 测试数据库

有报错

 Public Key Retrieval is not allowed:不允许进行公钥检索

解决方案:

在编辑连接中找到allowPublicKeyRetrieval 设置成TRUE

 

点击测试连接,可以看下能否连接成功

  • 创建表测试
CREATE TABLE student (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(255),age INT UNSIGNED NOT NULL
);
INSERT INTO student(name,age) values('zhangsan',20)
select * from student ;

参考

Mac如何安装Oracle?Mac如何配置Docker?手把手教你配置Docker并配置Oracle_oracle mac-CSDN博客

Docker 如何安装 MySQL 并实现远程连接 - 知乎 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/465217.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【java】笔记10:类与对象——本章练习

题目1&#xff1a; 代码如下&#xff1a; import java.util.Scanner; public class Input{public static void main(String[]args){Circle cnew Circle();PassObject yuannew PassObject();System.out.println("r""\t""times");yuan.printAreas…

bert-vits2本地部署报错疑难问题汇总

环境&#xff1a; bert-vits2.3 win 和wsl 问题描述&#xff1a; bert-vits2本地部署报错疑难问题汇总 解决方案&#xff1a; 问题1: Conda安装requirements里面依赖出现ERROR: No matching distribution found for opencc1.1.6 解决方法 需要在 Python 3.11 上使用 Op…

Github 2024-02-09 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-02-09统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4Go项目2Scala项目1PLpgSQL项目1Ruby项目1HTML项目1Solidity项目1Lua项目1 开源个人理财应用 Mayb…

【Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)】

Linux环境基础开发工具的使用yum、vim、gcc、g、gdb、make/Makefile Linux软件包管理器- yumLinux下安装软件的方式认识yum查找软件包安装软件如何实现本地机器和云服务器之间的文件互传卸载软件 Linux编辑器 - vimvim的基本概念vim下各模式的切换vim命令模式各命令汇总vim底行…

JAVA学习笔记9

1.Java API 文档 1.java类的组织形式 2.字符类型(char) 1.基本介绍 ​ *字符类型可以表示单个字符&#xff0c;字符类型是char&#xff0c;char是两个字节&#xff08;可以存放汉字&#xff09;&#xff0c;多个字符我们用字符串String ​ eg:char c1 ‘a’; ​ char c2…

Linux笔记之Docker进行镜像备份与迁移

Linux笔记之Docker进行镜像备份与迁移 ——2024-02-11 code review! 文章目录 Linux笔记之Docker进行镜像备份与迁移1. 导出容器文件系统为 tar 归档文件2. 将 tar 归档文件导入为新的 Docker 镜像3. 运行新的 Docker 镜像并创建容器 1. 导出容器文件系统为 tar 归档文件 要导…

Ainx-V0.2-简单的连接封装与业务绑定

&#x1f4d5;作者简介&#xff1a; 过去日记&#xff0c;致力于Java、GoLang,Rust等多种编程语言&#xff0c;热爱技术&#xff0c;喜欢游戏的博主。 &#x1f4d7;本文收录于Ainx系列&#xff0c;大家有兴趣的可以看一看 &#x1f4d8;相关专栏Rust初阶教程、go语言基础系列…

【GAMES101】Lecture 20 颜色

目录 光 颜色 加色系统 CIE RGB颜色匹配实验 颜色空间 CIE XYZ颜色空间 HSV颜色空间(Hue-Saturation-Value) CIELAB空间 减色系统&#xff1a;CMYK 光 光是由不同波长的光波组成的&#xff0c;其中可见光的波长范围在400nm到700nm 用谱功率密度&#xff08;Spectral…

2024.2.5 作业

1.请编程实现哈希表的创建存储数组{12,24,234,234,23,234,23},输入key查找的值&#xff0c;实现查找功能 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> typedef int datatype; typedef struct Node {datatype data;str…

【机器学习】支持向量机(SVM)

支持向量机&#xff08;SVM&#xff09; 1 背景信息 分类算法回顾 决策树 样本的属性非数值 目标函数是离散的 贝叶斯学习 样本的属性可以是数值或非数值目标函数是连续的&#xff08;概率&#xff09; K-近邻 样本是空间&#xff08;例如欧氏空间&#xff09;中的点目标函…

文生图提示词:情感表达

情感和氛围 --情感表达 Emotional Expression 尝试捕捉人类情感的广泛性和复杂性&#xff0c;展示了在讨论和创作艺术作品时可以使用的丰富情感词汇。 Joyful 欢乐的 Sad 悲伤的 Angry 愤怒的 Peaceful 平和的 Excited 兴奋的 Calm 平静的 Melancholic 忧郁的 Hopeful 有希望的…

73. 矩阵置零(Java)

目录 题目描述&#xff1a;输入&#xff1a;输出&#xff1a;代码实现&#xff1a; 题目描述&#xff1a; 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 输入&#xff1a; matrix [[1,1,1],[1,0,…