docker怎么部署mysql8并设置可远程连接

发布时间:2022-07-08 10:04:30 作者:iii
阅读:375
mysql云数据库,弹性扩容,低至0.3元/天! 查看>>

Docker怎么部署MySQL8并设置可远程连接

在现代软件开发中,Docker已经成为了一种非常流行的容器化技术。通过Docker,开发者可以轻松地部署和管理各种服务,包括数据库。MySQL作为最流行的关系型数据库之一,也可以通过Docker进行快速部署。本文将详细介绍如何使用Docker部署MySQL 8,并配置其允许远程连接。

1. 安装Docker

在开始之前,确保你的系统上已经安装了Docker。如果还没有安装,可以参考以下步骤进行安装。

1.1 在Ubuntu上安装Docker

sudo apt-get update
sudo apt-get install docker.io

1.2 在CentOS上安装Docker

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io

1.3 启动Docker服务

安装完成后,启动Docker服务并设置开机自启:

sudo systemctl start docker
sudo systemctl enable docker

2. 拉取MySQL 8镜像

Docker Hub上提供了官方的MySQL镜像,我们可以直接拉取MySQL 8的镜像。

docker pull mysql:8.0

拉取完成后,可以通过以下命令查看已下载的镜像:

docker images

3. 运行MySQL容器

接下来,我们将使用Docker运行一个MySQL 8容器。在运行容器时,我们需要指定一些参数,如数据库的root用户密码、数据存储路径等。

docker run -d \
  --name mysql8 \
  -e MYSQL_ROOT_PASSWORD=yourpassword \
  -p 3306:3306 \
  -v /path/to/your/data:/var/lib/mysql \
  mysql:8.0

参数解释:

4. 配置MySQL允许远程连接

默认情况下,MySQL容器只允许本地连接。为了允许远程连接,我们需要进入容器内部进行一些配置。

4.1 进入MySQL容器

docker exec -it mysql8 bash

4.2 登录MySQL

mysql -u root -p

输入之前设置的root用户密码,进入MySQL命令行。

4.3 创建远程访问用户

为了安全起见,不建议直接使用root用户进行远程连接。我们可以创建一个新的用户,并授予其远程访问权限。

CREATE USER 'remoteuser'@'%' IDENTIFIED BY 'remoteuserpassword';
GRANT ALL PRIVILEGES ON *.* TO 'remoteuser'@'%';
FLUSH PRIVILEGES;

4.4 修改MySQL配置文件

MySQL 8默认只允许本地连接,我们需要修改MySQL的配置文件以允许远程连接。

首先,退出MySQL命令行:

exit;

然后,编辑MySQL配置文件/etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-address配置项,将其注释掉或改为0.0.0.0

sed -i 's/bind-address.*/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf

4.5 重启MySQL服务

修改完配置文件后,重启MySQL服务以使配置生效:

service mysql restart

5. 测试远程连接

现在,MySQL容器已经配置为允许远程连接。你可以使用任何MySQL客户端工具(如MySQL Workbench、Navicat等)进行远程连接测试。

5.1 使用MySQL命令行客户端连接

mysql -h your_host_ip -u remoteuser -p

输入之前设置的remoteuserpassword,如果连接成功,说明配置正确。

5.2 使用图形化工具连接

在图形化工具中,输入以下信息进行连接:

6. 总结

通过Docker部署MySQL 8并配置远程连接非常简单。我们只需要拉取MySQL 8镜像,运行容器,并在容器内部进行一些简单的配置即可。Docker的容器化技术使得数据库的部署和管理变得更加灵活和高效。希望本文能帮助你顺利部署MySQL 8并实现远程连接。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:
  1. docker中怎么设置daemon远程连接
  2. Docker怎么安装MySQL8

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker mysql

上一篇:Java中使用Thread类和Runnable接口实现多线程的区别是什么

下一篇:微信小程序怎么自定义复选框

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×