Docker部署Mysql5.7x和Myslq8.x

news2024/9/20 7:47:06

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才会生效,否则是不生效的,这里之前一篇文章中有写的,这种总结一下,就不用每次要用的时候要去各种百度,太费时间精力了,所以总结一次之后,需要用的参考文档即可快速搞定,我的分享到此结束了,希望对你有所帮助,请一键三连,么么么哒!

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

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

相关文章

OpenVINS学习2——VIRAL数据集eee01.bag运行

前言 周末休息了两天,接着做上周五那个VIRAL数据集没有运行成功的工作。现在的最新OpenVINS需要重新写配置文件,不像之前那样都写在launch里,因此需要根据数据集情况配置好estimator_config.yaml还有两个标定参数文件。 VIRAL数据集 VIRAL…

【工具栏】idea安装翻译工具

然后重启idea 打开设置 翻译方式: 选中要翻译的文本 然后右键 运行项目的时候,方便查找错误

GPT-4「变懒」问题将被修复;英伟达选择越南成公司“第二故乡”丨 RTE 开发者日报 Vol.104

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的…

基于VGG-16+Android+Python的智能车辆驾驶行为分析—深度学习算法应用(含全部工程源码)+数据集+模型(二)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理1)数据集来源2)数据集内容3)数据集预处理 2. 模型构建1)定义模型结构2)优化损失函数 相关其它博客工程源代码下载其它资料下载 前言 本项目…

flex布局一行n个

上图 缩小后 主要用了 flex-basis flex-grow flex-shrink flex的三个属性 有兴趣的可以看看 深入理解CSS之flex精要之 flex-basis flex-grow flex-shrink 实战讲解 .bg{background-color: aquamarine;width: 100%;height: 100%;display: flex;flex-wrap: wrap;}.box1{backgr…

Python Thefuck库详解:让错误命令变得“友好”

更多资料获取 📚 个人网站:ipengtao.com Python中有许多强大的库,其中Thefuck库独具特色,它的作用是纠正用户在终端输入的错误命令,让操作变得更加友好和高效。在本篇博客文章中,我们将深入探讨Thefuck库的…

d2l绘图不显示的问题

之前试了各种方法都不行 在pycharm中还是不行,但是在anaconda中的命令行是可以的 anaconda prompt conda activaye py39 #进入f盘 F: #运行文件 python F:\python_code\softmax.py

vue-print-nb ,element-ui => table打印不全不说原理直接上代码

你的边框的颜色能深就深点&#xff0c;有的时候打印不出来 如果你出现这种情况请复制以下代码&#xff1a; <style media"print" scoped> page {size: auto;/* auto is the initial value *//* margin: 3mm; */margin-bottom: 0mm;/* this affects the margin…

小白必看!海外静态ip和动态ip解析!

在如今的时代&#xff0c;互联网已经成为我们生活中必不可少的一部分。无论是工作、学习还是娱乐&#xff0c;我们都得要一个稳定快速的网络连接。而在某些特殊情况下&#xff0c;海外静态ip和动态IP就变得非常重要。这篇文章就来解析这两种IP的类型&#xff0c;帮助新手们更好…

CGAN笔记总结第二弹~

CGAN原理与源码分析 一、复习GAN1.1损失函数1.2判别器源码1.3 生成器源码 二、什么是CGAN&#xff1f;2.1 CGAN原理图2.2条件GAN的损失函数2.3 生成器源码2.4 判别器源码2.5 训练过程1&#xff09;这里的训练顺序2&#xff09;为什么先训练判别器后训练生成器呢&#xff1f; 2.…

Dijkstra求最短路 II(堆优化Dijkstra算法)

给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c;所有边权均为非负值。 请你求出 11 号点到 n 号点的最短距离&#xff0c;如果无法从 11 号点走到 n 号点&#xff0c;则输出 −1−1。 输入格式 第一行包含整数 n 和 m。 接下来 m 行每行包含…

Vue指令之v-else与v-else-if

在上一篇博客中介绍了v-if&#xff0c;而在各式各样的程序语句中 if 和 else 通常是伴生的&#xff0c;在Vue中也不例外&#xff0c;Vue同样提供了v-else和v-else-if指令&#xff0c;其功能就是补充v-if的逻辑判断。 例如&#xff0c;当我们要根据一个分数输出对应的等级&…

路由器的转换原理--ENSP实验

目录 一、路由器的工作原理 二、路由表的形成 1、直连路由 2、非直连路由 2.1静态路由 2.2动态路由 三、静态路由和默认路由 1、静态路由 1.1静态路由的缺点 1.2路由的配置--结合ensp实验 2、默认路由--特殊的静态路由 2.1概念 2.2格式 2.3默认路由的配置--ens…

3GPP标准查看、下载和几个UE相关系列标准

由于一直做终端侧协议。最近以UE为核心重新下载了一系列文档。 总结并举例一下分类标准。 如何查看3GPP标准列表 实际上在3GPP网站如下链接&#xff1a;Specifications by Series&#xff0c;每个系列以及分类都说的很清楚。 几个系列分类举例 和终端协议层工作比较关系密切…

【Java】构建表达式二叉树和表达式二叉树求值

问题背景 1. 实现一个简单的计算器。通过键盘输入一个包含圆括号、加减乘除等符号组成的算术表达式字符串&#xff0c;输出该算术表达式的值。要求&#xff1a; &#xff08;1&#xff09;系统至少能实现加、减、乘、除等运算&#xff1b; &#xff08;2&#xff09;利用二叉…

LeetCode(55)环形链表【链表】【简单】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 环形链表 1.题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评…

啊?150水冷踏板卷到7千多,巧格的钱购买150了?

力帆的车一般我是不太想写的&#xff0c;但是顶不住它这个价格&#xff0c;实在是....&#xff0c;标准版售价干到了7980元&#xff0c;和巧格一个价了&#xff0c;比福喜还便宜点&#xff0c;属实是离离原上谱&#xff0c;不过这个车不太影响的了豪爵大哥的UHR&#xff0c;两台…

Cypress安装与使用教程(2)—— 软测大玩家

&#x1f60f;作者简介&#xff1a;博主是一位测试管理者&#xff0c;同时也是一名对外企业兼职讲师。 &#x1f4e1;主页地址&#xff1a;【Austin_zhai】 &#x1f646;目的与景愿&#xff1a;旨在于能帮助更多的测试行业人员提升软硬技能&#xff0c;分享行业相关最新信息。…

pip list 报错 ImportError: cannot import name ‘main‘ from ‘pip._int

文章目录 报错信息问题原因解决方案 关注公众号&#xff1a;『AI学习星球』 算法学习、4对1辅导、论文辅导或核心期刊可以通过公众号或CSDN滴滴我 报错信息 最近在操作服务器的时候&#xff0c;发现pip list这个命令不好使了&#xff0c;报错如下 外链图片转存失败,源站可能…

[Linux] yum安装分布式LNMP架构

1. 在一台主机安装nginx&#xff08;192.168.136.120&#xff09; 1.1 搭建nginx相关的yum源 cd /yum.repos.d mkdir bak mv *.repo bak vim /etc/yum.repos.d/nginx.repo [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgche…