docker搭建mysql并开启远程访问

这篇具有很好参考价值的文章主要介绍了docker搭建mysql并开启远程访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、搭建mysql
1、拉取 MySQL 镜像
这里我们拉取官方的最新版本的镜像:
$ docker pull mysql:latest

查看是否已安装了 mysql:
$ docker imagesdocker搭建mysql并开启远程访问,docker,mysql,adb
二、运行 MySQL 容器
1、创建挂载文件:docker搭建mysql并开启远程访问,docker,mysql,adb2、运行容器
docker run -d --name mysql
-v /opt/datas/docker/mysqllog:/var/log/mysql
-v /opt/datas/docker/mysql:/var/lib/mysql
-v /opt/datas/docker/mysqlconf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
-p 3306:3306 mysql

-d (detach) : 后台运行
–name : 为你的镜像创建一个别名,该别名用于更好操作
-p : 映射端口,一般会将默认端口进行更改,避免与本机的 mysql端口冲突,如果你宿主机有mysql,请更改端口,如 -p 33060:3306
-e : 环境变量,为 mysql 的 root 用户设置密码为123456
-v : 指定数据卷挂载(etc为配置文件,log为日志文件,lib为配置文件),意思就是将 mysql 容器中的 /var/lib/mysql (这个是数据库所有数据信息文件) 映射到宿主机 /Users/mew/Desktop/AllMyFile/Data/Docker/mysql 里面,这样就不会出现容器删除后数据也跟着删除

备注:mysql5.7和之前版本,默认字符集为latin1,直接插入中文字符的时候会出现乱码的情况。所以在安装5.7及之前的版本的mysql的时候要把字符编码修改为utf8字符集,utf8字符集指的是utf8mb3。从mysql8.0开始,数据库默认字符编码改为utf8mb4。这时候可以在运行时指定编码
docker run -d --name mysql
-v /opt/datas/docker/mysqllog:/var/log/mysql
-v /opt/datas/docker/mysql:/var/lib/mysql
-v /opt/datas/docker/mysqlconf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD=123456
-p 3306:3306 mysql --character-set-server=utf8 --collation-server=utf8_general_ci
三、

二. 开启远程连接
默认mysql是不可以远程连接的
1、进入到 mysql 容器中
$ docker exec -it mysql /bin/bash

2、通过上面的docker进入容器之后
登录mysql:mysql -u root -p
密码为123456,这个密码是docker安装mysql配置的

3、开启远程连接,由于我8.0运行后看到root授权的host为%,即为远程访问已经开启,所以这一步我省略了直接跳到修改密码认证,否则不能省略。
ALTER USER ‘root’@‘%’ IDENTIFIED WITH
mysql_native_password BY ‘123456’; ,(这个密码为123456,是之后远程连接mysql的密码)

刷新生效:FLUSH PRIVILEGES;docker搭建mysql并开启远程访问,docker,mysql,adb

  1. 修改密码认证配置。

由于mysql8.0和mysql5.7两者的认证方式不一样前者是caching_sha2_password,后者是my_native_password因此我们对它进行修改。
直接连接会报错:
docker搭建mysql并开启远程访问,docker,mysql,adb

ALTER USER ‘root’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘root’;

修改后:
docker搭建mysql并开启远程访问,docker,mysql,adb

3、新增用户(根据自己需要,使用root用户也可以):
CREATE USER ‘zyh’@‘%’ IDENTIFIED WITH mysql_native_password BY ‘zyh123!’;docker搭建mysql并开启远程访问,docker,mysql,adb
4、给新建的用户授权
GRANT ALL PRIVILEGES ON . TO zyh@‘%’; #授予所有权限
ALL PRIVILEGES 所有权限
. 所有数据库
TO 后接用户

5、刷新生效
FLUSH PRIVILEGES;

三、服务器设置
由于我的是百度云服务器默认打开了3306,所以不用在服务器设置中打开,但是阿里云服务器需要设置打开

验证端口是否打开
打开cmd进入命令行,输入
telnet 180.76.165.145 3306
如下所示,端口已开放
docker搭建mysql并开启远程访问,docker,mysql,adb

四:连接文章来源地址https://www.toymoban.com/news/detail-796135.html

到了这里,关于docker搭建mysql并开启远程访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Windows开启远程访问MySQL

    1、第一步 进入MySQL  (所有命令都可以直接复制) 1.1 在Windows下搜索cmd,找到“命令提示符”,右键【以管理员身份运行】 1.2 在命令行输入:mysql -u root -p ,然后回车,会弹出 Enter password: 1.3 输入密码:root,然后回车,页面展示 mysql,此时已成功进入到MySQL PS:若输入密码

    2024年02月13日
    浏览(45)
  • Docker开启并配置远程安全访问

    在工作学习中,为了提高项目部署效率,一般会在Idea中直接使用Docker插件连接服务器Docker容器,然后将项目打包与DockerFile一起build成Docker镜像部署运行。但是不可能服务器总是跟着主机的,因此呢时常会面临的一个问题就是从A端访问B端服务器上的Docker从而引发的Docker的远程

    2024年02月09日
    浏览(39)
  • 在Linux中开启MySQL远程连接访问

    编辑 MySQL 配置文件,该文件通常位于 /etc/mysql/my.cnf 或 /etc/my.cnf ,具体取决于您的 Linux 发行版和版本。 找到 [mysqld] 部分,并找到指定绑定地址参数的行。默认情况下,此参数通常设置为 “127.0.0.1” ,这意味着 MySQL 只监听本地机器上的连接。

    2024年02月12日
    浏览(58)
  • 配置开启Docker2375远程连接与解决Docker未授权访问漏洞

    首先 需要安装docker ,参考我这篇文章:基于CentOS7安装配置docker与docker-compose 配置开启Docker远程连接的步骤 : 1-编辑/usr/lib/systemd/system/docker.service 文件 : 配置完成后完整的 docekr.service : systemctl daemon-reload 与systemctl restart docker : systemctl status docker : 查看docker状态 (后面增加的内

    2024年02月05日
    浏览(43)
  • Mac下Docker Desktop安装命令行工具、开启本地远程访问

    Mac系统下,为了方便在terminal和idea里使用docker,需要安装docker命令行工具,和开启Docker Desktop本地远程访问。 具体方法是在 设置-高级 下, 1.将勾选的User调整为System,这样不用手动配置PATH即可使用docker命令 2.勾选“Allow the default Docker socket to be used (requires password)”,开启Do

    2024年02月03日
    浏览(47)
  • Linux开启Docker远程访问并设置安全访问(证书密钥),附一份小白一键设置脚本哦!

    前言 喜欢折腾慢慢看,不喜欢折腾直接跳到小简下文的一键脚本那里,两分钟搞好。 我的博客:https://blog.ideaopen.cn 我的公众号:小简聊开发 开启远程访问 编辑 docker.service 文件 找到 Service 节点,修改 ExecStart 属性,增加 -H tcp://0.0.0.0:2375 这样相当于对外开放的是 2375 端口,

    2024年02月02日
    浏览(50)
  • Ubuntu环境下安装部署mysql5.7&开启远程访问连接&修改数据存放位置&卸载mysql

    本文档适用于在Ubuntu20.04系统下部署mysql5.7,是有网的情况下。 提供了两种安装mysql5.7的方法,并且还讲解了开启mysql远程访问权限,允许远程连接;以及讲解了如何修改数据库数据的存放路径。 1.确认目前服务器上是否存在MySQL 如出现如图所示,提示没有rpm命令,我们需要安

    2024年02月05日
    浏览(43)
  • 基于docker搭建gitea私服仓库,并开启https访问、ssh访问和邮箱验证通知功能

    git常用命令大锦囊 团队需要多人协作开发,gitee,github等仓库管理协作人数有限,因此自己搭建基于gitea的仓库私服(最开始使用gitlab,鉴于gitlab功能庞大,占用内存太高,于是换成gitea搭建)。 gitea是基于Golang开发的极易安装、运行快速、内存占用小的代码托管服务平台,下面

    2024年02月16日
    浏览(43)
  • docker 安装mysql 并支持远程访问

    拉取镜像 运行 mysql 容器 这里 mysql-container 是您给容器指定的名字, my-secret-pw 应替换为您希望设定的密码。 tag 是镜像的标签,指定特定的 MySQL 版本,例如 5.7 、 8.0 ,或者如果您希望使用最新版,则可以省略。 添加远程访问配置 在本地创建 my.cnf 文件 添加到 docker 容器中

    2024年01月18日
    浏览(39)
  • OPPO Watch纯手机开启远程ADB调试

    Wear OS手表中,我们可以直接在开发者设置中打开WiFi调试。但是这在OPPO等魔改Android系统中不再奏效。 需要什么?? 手表一台 手机一个 OTG转接头一个 手表充电器一个 演示设备 手机: OPPO Find X 手表: OPPO Watch 1代 41mm 需要的软件 Chrome 用于连接adb的工具,比如说Termux或者Wea

    2024年02月03日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包