mysql 创建容器和启动远程链接

文章目录

      • [1. 确认容器端口映射](#1. 确认容器端口映射)
      • [2. 修改 MySQL 用户权限(允许远程连接)](#2. 修改 MySQL 用户权限(允许远程连接))
      • [3. 修改 MySQL 配置文件(可选)](#3. 修改 MySQL 配置文件(可选))
      • [4. 在远程客户端测试](#4. 在远程客户端测试)

MySQL 容器支持远程访问


1. 确认容器端口映射

docker run 时已经用过 -p 3306:3306,这会把宿主机的 3306 端口映射到容器的 3306

如果还没有,可以用下面命令重新运行容器:

bash 复制代码
docker run --name mysql8 \
  -e MYSQL_ROOT_PASSWORD=rootpassword \
  -p 3306:3306 \
  -d mysql:8.0.23

然后确认端口映射成功:

bash 复制代码
docker ps

PORTS 一栏里是否有 0.0.0.0:3306->3306/tcp


2. 修改 MySQL 用户权限(允许远程连接)

进入容器的 MySQL:

bash 复制代码
docker exec -it mysql8 mysql -uroot -p

输入你设置的 root 密码,然后在 MySQL 中执行:

sql 复制代码
-- 允许 root 从任意主机连接(仅用于测试,不推荐生产环境)
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'rootpassword';

-- 或者给某个用户开放远程访问权限
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

这里的 % 表示允许从任意 IP 连接,你也可以改成具体 IP(更安全)。


3. 修改 MySQL 配置文件(可选)

有时 MySQL 默认只监听 localhost,需要改配置:

  1. 进入容器:

    bash 复制代码
    docker exec -it mysql8 bash
  2. 找到并编辑配置文件(一般在 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf),确保 不要限制

    ini 复制代码
    [mysqld]
    bind-address = 0.0.0.0
  3. 重启容器:

    bash 复制代码
    docker restart mysql8

4. 在远程客户端测试

在远程机器上使用 MySQL 客户端连接:

bash 复制代码
mysql -h <宿主机IP> -P 3306 -u myuser -p

相关推荐
Leon-Ning Liu1 小时前
Oracle 26ai新特性:时区、表空间、审计方面的新特性
数据库·oracle
humors2212 小时前
各厂商工具包网址
java·数据库·python·华为·sdk·苹果·工具包
Yushan Bai2 小时前
ORACLE数据库在进行DROP TABLE时失败报错ORA-00604问题的分析处理
数据库·oracle
77美式2 小时前
Node + Express + MongoDB 后端部署全解析:新手零踩坑
数据库·mongodb·express
阿丰资源3 小时前
SpringBoot+MySQL+MyBatis-Plus+Vue前后端分离仓库管理系统 (附资料)
spring boot·mysql·mybatis
城数派3 小时前
2000-2025年我国省市县三级逐8天日间地表温度数据(Shp/Excel格式)
数据库·arcgis·信息可视化·数据分析·excel
AC赳赳老秦3 小时前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw
AI应用实战 | RE3 小时前
014、索引高级实战:当单一向量库不够用的时候
数据库·人工智能·langchain
ffqws_3 小时前
Spring Boot入门:通过简单的注册功能串联Controller,Service,Mapper。(含有数据库建立,连接,及一些关键注解的讲解)
数据库·spring boot·后端
清水白石0083 小时前
《Python 架构师的自动化哲学:从基础语法到企业级作业调度系统与 Airflow 止损实战》
数据库·python·自动化