腾讯云 Docker 安装部署 MySQL 并提供外网连接

目录

一、Docker安装MySQL

1. 准备自定义目录

2. 创建自定义配置文件 

3. 部署 MySQL 容器

4. 验证 MySQL 部署

5. 创建初始化脚本(可选)

6. 备份和恢复(重要)

7. MySQL 容器管理命令

8. 性能监控(可选)

9. 安全注意事项

二、MySQL 对外提供连接

1. 确认 Docker MySQL 容器配置

2. 配置 MySQL 允许远程访问

3. K3s 节点防火墙配置

4. 腾讯云安全组配置

5. K3s 特定配置考虑点

6. 获取连接信息

7. 本地可视化工具连接


一、Docker安装MySQL

1. 准备自定义目录

        命令如下:

# 创建主目录
sudo mkdir -p /data/mysql

# 创建子目录结构
sudo mkdir -p /data/mysql/data      # 数据文件
sudo mkdir -p /data/mysql/conf      # 配置文件
sudo mkdir -p /data/mysql/logs      # 日志文件
sudo mkdir -p /data/mysql/initdb.d  # 初始化脚本

# 设置适当的权限(MySQL 在容器中通常以 mysql 用户运行,UID 为 999)
sudo chown -R 999:999 /data/mysql

        效果图如下:

2. 创建自定义配置文件 

         命令如下:

sudo tee /data/mysql/conf/my.cnf > /dev/null <<EOF
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
default-time-zone = '+8:00'

# 性能优化参数
innodb_buffer_pool_size = 256M
max_connections = 200
key_buffer_size = 32M
thread_cache_size = 16

# 日志配置
slow_query_log = 1
slow_query_log_file = /var/lib/mysql/slow-query.log
long_query_time = 2

# 安全设置
max_allowed_packet = 16M

[client]
default-character-set = utf8mb4
EOF

        效果图如下:

3. 部署 MySQL 容器

        命令如下(请确保将示例中的密码和用户名替换为您自己的强密码和用户名):

# 拉取 MySQL 镜像(以 8.0 版本为例)
docker pull mysql:8.0

# 运行 MySQL 容器
docker run -d \
  --name mysql \
  --restart=always \
  -p 3306:3306 \
  -v /data/mysql/data:/var/lib/mysql \
  -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf:ro \
  -v /data/mysql/logs:/var/log/mysql \
  -v /data/mysql/initdb.d:/docker-entrypoint-initdb.d \
  -e MYSQL_ROOT_PASSWORD=your_strong_password \
  -e MYSQL_DATABASE=your_db_name \
  -e MYSQL_USER=your_user \
  -e MYSQL_PASSWORD=your_password \
  mysql:8.0

重要凭据参数解释

  1. MYSQL_ROOT_PASSWORD:

    • 设置 MySQL root 用户的密码
    • 这是必需的参数,容器不会成功启动除非设置了此项
  2. MYSQL_DATABASE:

    • 可选参数
    • 容器首次启动时会自动创建的数据库名称
  3. MYSQL_USERMYSQL_PASSWORD:

    • 可选参数,但必须一起使用
    • 创建一个新的非 root 用户
    • 此用户将获得 MYSQL_DATABASE 数据库的完全权限

        效果图如下:

4. 验证 MySQL 部署

        命令如下:

# 查看容器状态
docker ps -a | grep mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值