当前位置: 首页 > news >正文

【MAC】M2 安装docker 与 mysql

一、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=utf8mb4collation-server=utf8mb4_0900_ai_ciskip-character-set-client-handshakeskip-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.lryc.cn/news/264570.html

相关文章:

  • 轻量级web开发框架Flask本地部署及无公网ip远程访问界面
  • 用最通俗的语言讲解 TCP “三次握手,四次挥手”
  • 使用RedisCacheWriter#clean在线异步地批量扫描匹配删除缓存数据-spring-data-redis
  • 机器视觉:AI赋能缺陷检测,铸就芯片产品的大算力与高能效
  • (9)Linux Git的介绍以及缓冲区
  • 华为云之ECS云产品快速入门
  • tcp 的限制 (TCP_WRAPPERS)
  • 如何保证架构的质量
  • JavaWeb笔记之前端开发JavaScript
  • SCAU:18063 圈中的游戏
  • .NET Core中鉴权 Authentication Authorization
  • PyTorch深度学习实战(26)——卷积自编码器(Convolutional Autoencoder)
  • Milvus实战:构建QA系统及推荐系统
  • 使用Docker部署Nexus Maven私有仓库并结合Cpolar实现远程访问
  • GEE-Sentinel-2月度时间序列数据合成并导出
  • 【深度学习】语言模型与注意力机制以及Bert实战指引之二
  • 计算机网络 网络层下 | IPv6 路由选择协议,P多播,虚拟专用网络VPN,MPLS多协议标签
  • 【MATLAB第83期】基于MATLAB的LSTM代理模型的SOBOL全局敏感性运用
  • 求奇数的和 C语言xdoj147
  • 全链路压力测试:解析其主要特点
  • 算法基础之约数个数
  • 【ECharts】折线图
  • java jdbc连接池
  • unity2d 关闭全局重力
  • 大数据时代,如何基于机密虚拟化技术构建数据安全的“基石”
  • 为你自己学laravel - 15 - model的更新和删除
  • 列举mfc140u.dll丢失的解决方法,常见的mfc140u.dll问题
  • 智能优化算法应用:基于野狗算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • DC-8靶场
  • SQL Server 安装教程