【MAC】M2 安装docker 与 mysql

news2024/11/23 7:48:21

一、docker下载地址

下载地址

二、安装docker完成

在这里插入图片描述

罗列一下docker常用命令

# 查看docker版本
docker --version

# 拉取镜像
docker pull 镜像名

# 查看当前所有镜像
docker images

# 查看运行中的容器
docker ps -a
docker ps grep| 镜像名

#镜像启动操作:
sudo docker start 镜像名
sudo docker stop 镜像名
sudo docker restart 镜像名

# 删除镜像
docker rm 镜像名/镜像id

# 进入容器内部
docker exec -it 镜像名/镜像id /bin/bash

# 宿主机复制文件到镜像内部
docker cp 文件 容器id:/etc/
docker cp text.txt c10fec6c05d0:/etc/

三、安装mysql

一、拉取镜像

# 拉取镜像
docker pull mysql
 
# 或者
docker pull mysql:latest
 
# 以上两个命令是一致的,默认拉取的就是 latest 版本的
 
# 我们还可以用下面的命令来查看可用版本:
docker search mysql

二、查看镜像

使用以下命令来查看是否已安装了 mysql镜像

docker images

三、运行镜像

初始化时运行以下文件:

docker run --name mysql --restart=always --privileged=true \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf.d:/etc/mysql/conf.d \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:latest

修改容器配置文件:

# 查看正在运行的容器
docker ps
# 查看所有的docker容器
docker ps -a

进入容器内部:

docker exec -it mysql /bin/bash

查看本地是否有配置文件:

/usr/local/mysql/conf/my.cnf

如果没有创建一个my.cnf:

vi my.cnf
[client]

default-character-set=utf8mb4

[mysql]

default-character-set=utf8mb4

[mysqld]

# 设置东八区时区
default-time_zone = '+8:00'

# 设置密码验证规则,default_authentication_plugin参数已被废弃

# 改为authentication_policy

#default_authentication_plugin=mysql_native_password
authentication_policy=mysql_native_password

# 限制导入和导出的数据目录
# 为空,不限制导入到处的数据目录;
# 指定目录,必须从该目录导入到处,且MySQL不会自动创建该目录;
# 为NULL,禁止导入与导出功能
#secure_file_priv=/var/lib/mysql
secure_file_priv=

init_connect='SET collation_connection = utf8mb4_0900_ai_ci'

init_connect='SET NAMES utf8mb4'

character-set-server=utf8mb4

collation-server=utf8mb4_0900_ai_ci

skip-character-set-client-handshake

skip-name-resolve

复制文件到容器内部:

docker cp my.cnf 容器id:/etc/mysql/conf.d/

在进入容器内部:

docker exec -it mysql /bin/bash

在这里插入图片描述

exit 退出

四、设置docker启动时启动mysql

docker update mysql --restart=always

五、重启mysql

docker restart mysql

四、授权访问问题

一、进入容器

docker exec -it mysql /bin/bash

此时我们使用mysql客户端连接服务器是失败的,因为默认的root不具有远程连接的权限。

上面的密码不要输入,直接回车进入。

二、选择数据库

show databases;
use mysql;

三、查看用户连接情况

select host, user, plugin,  authentication_string, password_expired from user;

四、修改密码认证方式

ALTER USER root@'%' IDENTIFIED WITH mysql_native_password BY '123456';
 
ALTER USER root@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
 
-- 刷新权限
FLUSH PRIVILEGES;

-- 退出
exit

五、重启 再试试

docker restart mysql

六、错误解决

1、Unable to load authentication plugin ‘caching_sha2_password’.

修改两个地方:
1、mysql5.6,升级到8.0,连接数据库就报错:,修改pom.xml中的 mysql-connector-java 版本为8.x.xx
在这里插入图片描述
2、修改项目中数据库连接配置文件,改为 com.mysql.cj.jdbc.Driver在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[MySQL] MySQL中的内外连接

文章目录 一、内连接 1、1 概念及语法 1、2 实例讲解 二、外连接 2、1 概念及语法 2、2 左外连接 2、3 右外连接 🙋‍♂️ 作者:Ggggggtm 🙋‍♂️ 👀 专栏:MySQL 👀 💥 标题:MySQL中…

issue阶段的选择电路的实现

1-of-M的仲裁电路 为什么要实现oldest-first 功能的仲裁呢? 这是考虑到越是旧的指令,和它存在相关性的指令也就越多,因此优先执行最旧的指令,则可以唤醒更多的指令,能够有效地提高处理器执行指令的并行度,而且最旧的指…

基于PyCharm实现串口GUI编程

工具效果如下如所示 下面简单介绍一下操作流程 1.打开PyCharm软件 2.创建一个工程 3.给该工程命名 4.在main.py里面黏贴如下的代码 # This is a sample Python script. # Press ShiftF10 to execute it or replace it with your code. # Press Double Shift to search everyw…

LeetCode 583两个字符串的删除操作 72编辑距离 | 代码随想录25期训练营day56

动态规划算法13 LeetCode 583 两个字符串的删除操作 2023.12.19 题目链接代码随想录讲解[链接] int minDistance(string word1, string word2) {//思路1,求除了最长公共序列外,两个字符串需删除的字符数//以下为求最长公共序列长度的动态规划方法/*v…

竞赛保研 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…

基于SSM的通用权限管理系统

基于SSM的通用权限管理系统 一、系统介绍二、功能展示1.项目骨架2.登录3.主页 四、其它1.其他系统实现五.获取源码 一、系统介绍 项目名称:基于SSM的权限管理系统案例 项目架构:B/S架构 开发语言:Java语言 前端技术:Layui等 …

xcrun: error: invalid active developer path

macOS升级完成后出现 xcrun: error: invalid active developer path问题。 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun这是由于 Xcode command line tools 丢…

03-数据结构-栈与队列

1.栈 栈和队列是两种操作受限的线性表。如上图所示显示栈的结构 栈:先进后出,入栈(数据进入) 和出栈(数据出去)均在栈顶操作。 常见栈的应用场景包括括号问题的求解,表达式的转换和求值&#…

运维知识点-Kubernetes_K8s

Kubernetes RBAC配置不当攻击场景攻击过程 RBAC配置不当 Service Account本质是服务账号,是Pod连接K8s集群的凭证。 在默认情况下,系统会为创建的Pod提供一个默认的Service Account, 用户也可以自定义Service Account,与Service…

Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在

场景 Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入: Postgresql在Windows中使用pg_dump实现数据库(指定表)的导出与导入-CSDN博客 上面讲使用pg_dump进行postgresql的导出与导入。 如果使用Navicat可以直接连接两个库,则可直接使…

如何在安卓手机Termux上安装MariaDB(MySQL)并实现远程连接数据库

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备,尽管最初并非设计为服务器,但是随着技术的进步我们可以将Android配置为生产力工具,变成一个随身…

基于win安装的docker内安装sonar时启动时错误

elasticsearch exited with code 78 以下要求和建议适用于在生产中的Docker中运行Elasticearch。 将vm.max_map_count至少设置为262144要用于生产,必须将vm.max_map_count内核设置至少设置为262144。 如何设置vm.max_map_count取决于您的平台。 这对我来说就是&a…

easyrecovery2024免费手机版数据恢复软件下载

easyrecovery14是easyrecovery系列软件的新版本,也是目前行业领先的数据恢复软件,具备更快捷、更高效、更便捷三大特色,能够帮助用户轻松恢复电脑丢失的数据。目前软件支持恢复不同存储介质数据,包括硬盘、光盘、U盘/移动硬盘、数…

C++学习笔记——STL(标准模板库)

系列文章 http://t.csdnimg.cn/u80hL 目录 系列文章[TOC](目录) 比喻与理解1.比喻2. 理解string和STL的关系string类型的存在意义——集中实现符号信息的管理 STL1. 什么是STL2. SGI版本3. STL的六大组件 string类1. C语言中的字符串2. 标准库中的string类2.1 string类2.2 str…

linux命令速查表

这是一个linux常见命令的列表! 相关学习资料:【收藏】Linux系统常用命令速查手册(附PDF下载方式)_linux命令大全详解pdf-CSDN博客文章浏览阅读651次。给大家收集整理了日常常用的Linux系统命令,仅供大家参考。大家如…

【ESP32填坑日记】问题篇⑧ VScode中提示无法使用compilerPath解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe“

关注星标公众号,不错过精彩内容 作者 | 量子君 微信公众号 | 极客工作室 问题描述 在编译成功,重启之后就编译不成功了,并报如图错误: 无法使用 compilerPath 解析配置:“C:/xxx/xtensa-esp32-elf-gcc.exe” 解决…

如何压缩PDF文件大小在5m以内?三个方法轻松搞定!

现在电子化阅读越来越广泛,我们会从网络上下载很多内存很大的电子书、PDF论文,放在电脑上也着实占用空间,如何把PDF压缩到最小,下面就向大家介绍3款好用的PDF压缩工具和具体的操作步骤。 工具一:使用嗨格式压缩大师软件…

opencv 入门二(播放视频)

环境配置如下&#xff1a; opencv 入门一&#xff08;显示一张图片&#xff09;-CSDN博客 用OpenCV播放视频就像显示图像一样简单。唯一不同的是&#xff0c;我们需要某种循环来读取视频序列中的每一帧。 源码如下&#xff1a; #include <iostream> #include <str…

基于Arduino的智能太阳能追光系统(论文+源码)

1. 系统设计 本次的设基于Arduino的智能太阳能追光系统的设计&#xff0c;整体结构如图2.1所示。整个系统包括Arduino开发板&#xff0c;按键模块&#xff0c;太阳能板&#xff0c;X轴电机,Y轴电机&#xff0c;电池充电模块&#xff0c;电源模块&#xff0c;四路光照检测模块等…

NVMe前世今生

NVMe前世今生 1 NVMe的由来2 NVMe工作原理3 NVMe优点4 NVMe适用场景 本文属于《 NVMe协议基础系列教程》之一&#xff0c;欢迎查看其它文章。 1 NVMe的由来 目前机械硬盘大多数使用 SATA (Serial ATA Advanced Host Controller Interface) 接口&#xff0c;接口协议为 AHCI&a…