Docker安装MySQL及处理连接问题

5 篇文章 0 订阅
3 篇文章 1 订阅

首先安装好Docker -> Centos7安装Docker_一颗小松丸的博客-CSDN博客

大致步骤两步

        1.下载MySQL

        2.启动容器

1、下载MySQL(拉取镜像,镜像配置阿里云,否则可能会失败)

docker pull mysql

 查看是否下载成功

docker images

2、启动容器

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql

-p 3306:3306:将主机的3306端口映射到Docker容器的3306端口。

--name mysql:运行服务名字为mysql

 -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码为root。

-d mysql : 后台程序运行mysql

查看当前docker内所有进程,

docker ps

 mysql启动进程出现,安装成功

3.操纵MySQL

使用进程id启动MySQL

docker exec –it d880ddd36590 /bin/bash

 使用SQLyog或Navicat远程访问Docker中MySQL

首先开放虚拟机中mysql的端口或者关闭虚拟机防火墙(2选1)

开放虚拟机中mysql的端口3306

firewall-cmd --add-port=3306/tcp

 关闭虚拟机防火墙

systemctl stop firewalld

再查看虚拟机的ip地址

ifconfig

 使用SQLyog连接mysql

 

 

若出现该错误,先检查数据库的ip,账号密码是否正确,否则原因可能是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password

我们去mysql中修改

 1.远程连接使用%,windows下将%替换为localhost

ALTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; 

 2.密码还设为root

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

 3.刷新权限

FLUSH PRIVILEGES;

再次访问,发现成功连接,也能看到确实是mysql版本为8之后,因为我们在拉取mysql镜像时,默认会拉取软件的最新版本。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很高兴回答您的问题Docker可以用于部署生产环境的MySQL,您可以使用Docker容器来构建MySQL服务器,并且可以让您更快、更安全地设置和部署MySQL服务器。Docker可以帮助您更轻松地实施MySQL,同时仍然可以保持高性能、可靠性和稳定性。 ### 回答2: 在生产环境中,使用Docker来部署MySQL数据库是一个行之有效且推荐的解决方案。以下是使用Docker部署生产环境的MySQL的步骤: 首先,我们需要确保所需的MySQL镜像可从Docker Hub获取。我们可以使用以下命令拉取最新版本的MySQL镜像: ``` docker pull mysql:latest ``` 在拉取镜像之后,我们可以通过运行以下命令创建并启动一个MySQL容器: ``` docker run -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=password -d mysql:latest ``` 在此命令中,我们使用`-p`参数将主机的端口 3306 映射到容器的端口 3306,以便可以在主机上访问MySQL服务。`--name`参数为容器指定一个名称,方便后续管理。`-e`参数用于指定环境变量,这里我们设置了MySQL的root用户密码为"password"。`-d`参数将容器以守护进程方式运行。 成功创建并启动容器后,我们可以使用以下命令来连接MySQL服务: ``` docker exec -it mysql-container mysql -u root -p ``` 这将在容器的命令行中启动MySQL客户端,并要求输入密码。输入之前设置的密码即可登录到MySQL。 一旦登录成功,我们可以像在常规的MySQL服务器上一样管理MySQL数据库,例如创建新的数据库、用户、表等。 在部署生产环境的MySQL时,我们还应该考虑对数据进行备份和持久化处理。我们可以使用Docker数据卷来实现这一点,将MySQL的数据存储在宿主机器的持久化目录中。 以上是使用Docker部署生产环境的MySQL的基本步骤。通过使用Docker,我们可以轻松地在任何环境中部署和管理MySQL数据库,并确保其稳定性和可靠性。 ### 回答3: Docker是一种容器化技术,可以帮助开发者更方便地部署和管理应用程序。在生产环境中使用Docker部署MySQL数据库可以带来许多好处。 首先,使用Docker可以快速部署MySQL数据库。只需在Docker上运行一个MySQL容器,就可以快速搭建一个完整的MySQL环境。这样可以大大简化部署过程,节省时间和精力。 其次,Docker使得MySQL的部署和配置变得可重复和可移植。可以将整个MySQL容器保存为镜像,然后在不同的服务器或环境中轻松部署。这样可以确保在不同的生产环境中都使用相同的数据库配置,减少因为环境差异而引发的问题。 此外,使用Docker可以更好地隔离MySQL数据库和其他应用程序。每个Docker容器都运行在独立的隔离环境中,这样可以避免不同应用程序之间的相互影响。同时,可以为每个MySQL容器指定特定的资源配额,以确保数据库性能和稳定性。 最后,Docker提供了便捷的监控和管理工具。可以使用Docker的CLI或图形化界面工具来监控MySQL容器的运行状态、日志输出和资源利用情况。此外,还可以使用Docker的自动化部署和扩容功能,根据需要自动创建和销毁MySQL容器,以实现弹性扩展。 综上所述,使用Docker部署MySQL数据库可以提高部署效率、保证配置一致性、隔离应用程序以及简化监控和管理。这些优势使得Docker成为生产环境中部署MySQL的理想选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值