Docker部署Mysql5.7x和Myslq8.x

Docker部署Mysql5.7x和Myslq8.x

文章目录

  • 1.部署mysql5.7.x
  • 2.部署mysql8.x
  • 3.创建用户授权及远程登录
    • 3.1 mysql5.7创建用户授权及远程登录
    • 3.2 mysql8创建用户授权及远程登录
  • 4.总结

1.部署mysql5.7.x

  在D盘下的mysql目录下新建如下目录:

图片

  D:\mysql\conf\my.cnf内容如下:

[mysqld]
# 同一局域网内注意要唯一
server-id=1
# 开启二进制日志功能 & 日志位置存放位置`/var/lib/mysql`
log-bin=mysql-bin
# binlog格式
# 1. STATEMENT:基于SQL语句的模式,binlog 数据量小,但是某些语句和函数在复制过程可能导致数据不一致甚至出错;
# 2. MIXED:混合模式,根据语句来选用是 STATEMENT 还是 ROW 模式;
# 3. ROW:基于行的模式,记录的是行的完整变化。安全,但 binlog 会比其他两种模式大很多;
binlog_format=ROW
expire_logs_days=30

  部署mysql7.x命令:

docker run -p 3306:3306 --name mysql_server --privileged=true -v "d:/mysql/logs":/var/log/mysql -v "d:/mysql/data":/var/lib/mysql -v "d:/mysql/conf":/etc/mysql -e MYSQL_ROOT_PASSWORD=123456 -itd mysql:5.7.16

2.部署mysql8.x

  在D盘下的mysql8目录下新建如下目录:

图片

  D:\mysql8\conf\my.cnf内容如下:

[mysqld]
# 同一局域网内注意要唯一
server-id=1
# 开启二进制日志功能 & 日志位置存放位置`/var/lib/mysql`
log-bin=mysql-bin
# binlog格式
# 1. STATEMENT:基于SQL语句的模式,binlog 数据量小,但是某些语句和函数在复制过程可能导致数据不一致甚至出错;
# 2. MIXED:混合模式,根据语句来选用是 STATEMENT 还是 ROW 模式;
# 3. ROW:基于行的模式,记录的是行的完整变化。安全,但 binlog 会比其他两种模式大很多;
binlog_format=ROW
expire_logs_days=30
skip-grant-tables #先跳过密码登录 进入容器中mysql -u root进入mysql命令行,改完密码授权和远程访问结束后注释重启即可

  这里的这个mysql8的这个cnf配置我用的是上面mysql7的文件,如果有啥问题,可以去找一个mysql8的安装包下的这个文件拷贝到这个cnf目录下根据自己的需求修改即可,使用这个文件的配置是可以正常启动起来.

  部署mysql8.x命令:

docker run -p 3306:3306 --name mysql8_server --privileged=true -v "d:/mysql8/logs":/var/log/mysql -v "d:/mysql8/data":/var/lib/mysql -v "d:/mysql8/conf":/etc/mysql -v "d:/mysql8/mysql-files":/var/lib/mysql-files -e MYSQL_ROOT_PASSWORD=123456 -itd mysql:8.0.28

3.创建用户授权及远程登录

3.1 mysql5.7创建用户授权及远程登录

  1.创建用户并授权

CREATE USER 'root'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES; #刷新生效

  上述命令中,‘root’是要创建的用户名,’%'表示允许从任何主机远程访问,'password’是该用户的密码。GRANT ALL PRIVILEGES语句授予了该用户对所有数据库和表的所有权限,WITH GRANT OPTION表示该用户可以授予其他用户相同的权限。如果你只想允许该用户访问特定的数据库,而不是所有数据库,可以将*.*替换为数据库名和表名的组合。例如,如果要允许该用户访问名为"mydatabase"的数据库,可以使用以下命令:

GRANT ALL PRIVILEGES ON mydatabase.* TO 'root'@'%' WITH GRANT OPTION;

3.2 mysql8创建用户授权及远程登录

参看好文链接入下:
mysql8创建用户并授权:
https://blog.csdn.net/qq_43332829/article/details/123382600

CentOS7安装MySQL8(超级详细图文安装)
https://blog.csdn.net/yubao0723/article/details/128731140

  命令如下:

1.通过 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 命令来修改密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 

2.远程访问授权
create user 'root'@'%' identified with mysql_native_password by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

3.修改加密规则
通过 ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 命令修改加密规则,MySql8.0 版本 和 5.0 的加密规则不一样,而现在的可视化工具只支持旧的加密方式。
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; 
flush privileges;

4.总结

  本文记录总结了在windows10环境下,安装有wsl的Linux子系统和DockerDesktop,通过docker就可以轻松的将本地的mysql7.x和mysql8.x开发环境轻松部署起来,只需要一条docker的启动命令和新建文件挂载目录即可,这种方式比起平时那种在windows10上安装mysql要简单快捷的多,上面是在windows10环境下,在Linux上只要把挂载的路径换成Linux下的文件路径即可,启动起来就可以使用Navicat Premium 15客户端进行连接了,上面的my.cnf里面的配置已经是开启了bin-log日志功能,要去进入docker中将该文件的权限给为777才会生效,否则是不生效的,这里之前一篇文章中有写的,这种总结一下,就不用每次要用的时候要去各种百度,太费时间精力了,所以总结一次之后,需要用的参考文档即可快速搞定,我的分享到此结束了,希望对你有所帮助,请一键三连,么么么哒!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

8GB内存的 MacBook Pro够用吗?苹果高管回应:完全够用

苹果 2023 年 M3 芯片款 MacBook Pro 运行内存为 8GB 起步,因此招致了外界广泛的批评,外媒 MacRumors 日前评价了配备相关运行内存的 MacBook Pro,认为 8GB RAM 在“专业和创意工作中”不够用,只适合“网页浏览、文档编辑、播放影…

java实现局域网内视频投屏播放(四)投屏实现

代码链接​​​​​​​​​​​​​​​​​​​​​ 设备发现 上一篇文章说过,设备的发现有两种情况,主动和被动,下面我们来用java实现这两种模式 主动发现 构建一个UDP请求发送到239.255.255.250:1900获取设备信息,UDP包的…

对比学习学习记录1

对比学习学习记录 SimCLR Framework 关键在于定义正负样本判断异同相同的就是正例不同的就是负例让模型学到其中的规律 通过encoder对图像提取特征得到一个向量这里的encoder可以是resnet还需要定义相似度的函数计算正负样本之间的距离 对于上面的图片首先对图片进行两种随机的…

zabbix——实现高效网络监控

在当今的数字化时代,网络和服务器的健康状况对于企业的正常运营至关重要。为了及时发现和解决潜在的问题,许多企业选择使用网络监控工具来追踪服务器的性能和网络参数。其中,Zabbix是一个功能强大且开源的网络监控工具,被广泛应用…

环境搭建及源码运行_java环境搭建_mysql安装

1、介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一 1、源码中涉及到的表:mysql 表:订单、意见反馈、用户基础信息、商品、购物车等表 2、订单属于…

虚拟现实三维电子沙盘数字沙盘开发教程第5课

虚拟现实三维电子沙盘数字沙盘无人机倾斜摄影全景建模开发教程第5课 设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com 该数据库中只提供 成都市火车南站附近的数据请注意,104.0648,30.61658 在鼠标指定的位置增加自己的UI对象&…

Java听潮阁(SpringCloud项目)

一、简介 本网站是不凉域网络技术工作室的后台管理网站和旗下的网站(目前只有Java听潮阁),后台管理网站具有统计旗下所有网站的数据功能,并且能直接对旗下所有网站进行管理。 Java听潮阁网站是一个Java书籍网站,名字…

力扣40. 组合总和 II(java 回溯法)

Problem: 40. 组合总和 II 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 在使用回溯之前我们首先可以明确该题目也是一种元素存在重复但不可复用的组合类型问题。而此题目可以参考下面一题的大体处理思路: Problem: 90. 子集 II 具体的: 1.首…

2023-12-13 树的层次遍历和树的反转以及树的对称

二叉树的层次遍历、翻转二叉树和对称二叉树 102. 二叉树的层序遍历 核心:BFS广度优先遍历,就是维护一对队列去遍历!队列先进先出,符合一层一层遍历的逻辑。 # Definition for a binary tree node. # class TreeNode: # def …

四、编写第一个 Shell 脚本

一、编写 Shell 脚本内容 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 chaoqing.sh,扩展名为 sh (sh 表示 shell),扩展名不影响脚本的运行。 输入一些代码,如下…

配置本地端口镜像示例(1:1)

本地端口镜像简介 本地端口镜像是指观察端口与监控设备直接相连,观察端口直接将镜像端口复制来的报文转发到与其相连的监控设备进行故障定位和业务监测。 配置注意事项 观察端口专门用于镜像报文的转发,因此不要在上面配置其他业务,防止镜像…

zxjy008- 项目集成Swagger

Swagger可以生成在线文档,还可以进行接口测试。 1、创建common模块(maven类型) 为了让所有的微服务子子模块都可以使用,可以在guli_parent父工程下面创建公共模块 1.1 在guli_parent父工程下面创建公共模块 配置: groupId:com…

HTML---表单

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.表单概念 HTML表单是网页上用于收集用户输入信息的一种元素。它由一系列输入字段(input)、选择字段(select)、文本区域(textarea&a…

Terrain

最近工作中遇到一个需求,需要在地形上随机生成对应的植被,需要对地形就行解析。 1.对地形的贴图的解析 需要把对应坐标在Terrain Layer成分获取到 2.计算出对应坐标中Terrain Layer占比最大的成分当作当前坐标的主要成分,例如草地&#xff…

C# 两个日期比较大小

文章目录 C# 两个日期比较大小直接比较大小工具类DateTime.Compare C# 两个日期比较大小 直接比较大小 string ed "2023-12-13 09:27:59.000";//过去式DateTime nowDateTime DateTime.Now;DateTime expirationDate Convert.ToDateTime(ed);//质保期 长日期DateT…

python篇FastAPI_快速使用手册

一个新兴的web框架 安装fastapi pip install fastapi asgi 服务器安装 pip install "uvicor[standard]"helloworld from fastapi import FastAPI appFastAPI() app.get("/") async def root():return {"message" : "hello world"…

工业性能CCD图像处理

硬件部分 软件部分 CCD新相机的调试处理(更换相机处理,都要点执行检测来查看图像变化) 问题:新相机拍摄出现黑屏,图像拍摄不清晰,(可以点击图像,向下转动鼠标的滚轮(Mouse Wheel)放大图像) 解决办法:进入CCD的设定,选择对应的相机,调试好参数(如下图) 选择好相…

CentOS7安装MySQL8.0

一、使用Yum安装 1. 使用wget下载MySQL的rpm包 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm2. 安装下载好的rpm包 yum localinstall mysql80-community-release-el7-3.noarch.rpm 3. 安装mysql(该步可能出现问题) yum…

代码分支管理+DevOps策略实践

现在团队相关的一些背景:1、一个人维护几个系统;2、需求急且大小不一,产品经理也不会去细拆需求;3、敏捷成熟度几乎为0,没有DevOps,没有自动化测试;4、使用SVN。 将要变成:1、一个人…

第二百零四回 模拟对话窗口的页面

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 经验分享5. 内容总结 我们在上一章回中介绍了"修改组件风格的另外一种方法"相关的内容,本章回中将介绍" 如何做一个模拟对话框窗口的页面".闲话休提,让我…