docker Mysql:5.7的持久化存储及远程连接

本文介绍在华为云CentOS 7.5环境下,使用Docker安装并配置MySQL 5.7的详细步骤,包括拉取镜像、预先配置、建立配置文件、运行命令等,还提及使用Navicat连接检查、MySQL用户授权,以及解决本地连接云端MySQL的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前置条件:

  • 华为云 centos7.5 环境下
  • docker 已经安装完成
  • docker 服务已经启动

2. 拉取mysql:5.7的docker镜像

[root@laoliu mysql5.7]# docker pull mysql:5.7  # 使用这个命令拉取mysql镜像
Trying to pull repository docker.io/library/mysql ... 
5.7: Pulling from docker.io/library/mysql
fc7181108d40: Pull complete 
787a24c80112: Pull complete 
a08cb039d3cd: Pull complete 
4f7d35eb5394: Pull complete 
5aa21f895d95: Pull complete 
a742e211b7a2: Pull complete 
0163805ad937: Pull complete 
62d0ebcbfc71: Pull complete 
559856d01c93: Pull complete 
c849d5f46e83: Pull complete 
f114c210789a: Pull complete 
Digest: sha256:c3594c6528b31c6222ba426d836600abd45f554d078ef661d3c882604c70ad0a
Status: Downloaded newer image for docker.io/mysql:5.7
[root@laoliu mysql5.7]# docker images   # 查看镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mysql     5.7                 a1aa4f76fab9        11 days ago         373 MB
[root@laoliu mysql5.7]# 

3. 预先配置

  • 配置好本地的文件目录
[root@laoliu mysql5.7]# mkdir -p /home/project/mysql5.7/{data,conf}
[root@laoliu mysql5.7]# ll
total 0
drwxr-xr-x. 2 root root 6 Mar 10 10:01 conf
drwxr-xr-x. 2 root root 6 Mar 10 10:01 data
[root@laoliu mysql5.7]# pwd
/home/project/mysql5.7

4. 建立配置文件

  • 坑1: 配置文件最好是以.cnf作为后缀, 试过以.conf后缀, 可以启动mysql, 但配置文件不起作用.
  • 坑2: 修改完配置文件, 记得docker restart containername 一下
[root@laoliu conf]# pwd
/home/project/mysql5.7/conf
[root@laoliu conf]# cat mysql5.7.cnf  # 注意这里, 我是已配置好了`mysql5.7.cnf`, 使用cat命令只是为了查看这个文件的内容.
[client]
default-character-set=utf8mb4
 
[mysql]
default-character-set=utf8mb4
 
[mysqld]
init_connect='SET collation_connection = utf8mb4_unicode_ci'
init_connect='SET NAMES utf8mb4'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
# default: sql_mode= STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# modeified: 
sql_mode= STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
max_allowed_packet=10M
default-time_zone='+8:00'

[root@laoliu conf]# 

5. 运行命令

[root@laoliu conf]# docker run -d -p 3306:3306 --restart=always --privileged=true -v /home/project/mys
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值