温馨提示×

温馨提示×

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

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

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

发布时间:2022-07-08 10:04:30 来源:亿速云 阅读:420 作者:iii 栏目:开发技术

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 

参数解释:

  • -d:后台运行容器。
  • --name mysql8:为容器指定一个名称,这里我们命名为mysql8
  • -e MYSQL_ROOT_PASSWORD=yourpassword:设置MySQL的root用户密码,将yourpassword替换为你自己的密码。
  • -p 3306:3306:将容器的3306端口映射到主机的3306端口,这样可以通过主机的3306端口访问MySQL服务。
  • -v /path/to/your/data:/var/lib/mysql:将主机的/path/to/your/data目录挂载到容器的/var/lib/mysql目录,用于持久化存储MySQL数据。

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 使用图形化工具连接

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

  • 主机名/IP地址:your_host_ip
  • 端口:3306
  • 用户名:remoteuser
  • 密码:remoteuserpassword

6. 总结

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

向AI问一下细节

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

AI