技术

Docker安装并使用Mysql5.7

Docker安装Mysql

拉取指定版本mysql_5.7

查看镜像

docker images

本地创建挂载目录-v

启动mysql容器

这个 Docker 命令是用于启动 MySQL 5.7 容器的,让我们解释其中的各个部分:

docker run:这是 Docker 启动容器的命令。

-p 3306:3306:这部分命令将主机的端口 3306 映射到容器内的 3306 端口。这样,您可以通过主机的 3306 端口来访问容器内运行的 MySQL 服务。

--name mysql:通过此选项,您为容器指定了一个名称,即 mysql。这使得容器更容易识别和管理。

-v /mydata/mysql/log:/var/log/mysql:这是一个数据卷挂载操作,将主机上的 /mydata/mysql/log 目录挂载到容器内的 /var/log/mysql 目录。这样,MySQL 日志文件将在主机上存储,以供查看。

-v /mydata/mysql/data:/var/lib/mysql:同样,这是另一个数据卷挂载操作,将主机上的 /mydata/mysql/data 目录挂载到容器内的 /var/lib/mysql 目录。这用于将 MySQL 数据文件保存在主机上,以便数据持久化。

-v /mydata/mysql/conf:/etc/mysql:此挂载操作将主机上的 /mydata/mysql/conf 目录挂载到容器内的 /etc/mysql 目录。这样,您可以提供自定义的 MySQL 配置文件。

--restart=always:这个选项指示 Docker 在容器退出时自动重新启动容器。这对于确保 MySQL 服务一直可用非常有用。

-e MYSQL_ROOT_PASSWORD=123456:这个选项设置 MySQL 根用户的密码。在示例中,密码被设置为 123456

-d:这个选项使容器在后台运行,以允许您继续在终端中执行其他命令。

mysql:5.7:这是要运行的 Docker 镜像的名称和标签。在此示例中,使用 MySQL 5.7 镜像。

宿主机新建配置文件

保存后,已经创建了一个名为 /data/mysql/conf/my.cnf 的 MySQL 配置文件。这个文件包含了一些 MySQL 的配置选项,用于配置 MySQL 服务器的字符集和排序规则等设置。让我解释一下这个配置文件的内容:

  • [client] 部分包含了 MySQL 客户端的配置,确保客户端使用 UTF-8 字符集。
  • [mysql] 部分也配置了 MySQL 客户端的默认字符集。
  • [mysqld] 部分包含了 MySQL 服务器的配置选项,用于配置 MySQL 服务器的行为。

以下是这个配置文件的各个配置选项的解释:

default-character-set=utf8mb4default-character-set=utf8mb4:这两个选项在 [client][mysql] 部分都设置了默认字符集为 UTF-8,确保客户端和服务器使用相同的字符集。

init_connect='SET collation_connection = utf8mb4_unicode_ci'init_connect='SET NAMES utf8mb4':这些选项在 [mysqld] 部分设置了初始化连接时执行的 SQL 语句。这些语句设置了连接的字符集和排序规则为 UTF-8 和 utf8mb4_unicode_ci

character-set-server=utf8mb4:这个选项设置了 MySQL 服务器的字符集为 UTF-8。

collation-server=utf8mb4_unicode_ci:这个选项设置了 MySQL 服务器的排序规则为 utf8mb4_unicode_ci,通常用于支持国际化和多语言字符的正确排序。

skip-character-set-client-handshake:这个选项用于禁用客户端字符集握手,允许客户端和服务器之间的字符集设置更加灵活。

skip-name-resolve:这个选项禁用了主机名解析,以提高连接性能。

它适用于确保 MySQL 以正确的字符集和排序规则处理数据。确保将这个配置文件用于启动 MySQL 服务器,可以通过 -v 选项将配置文件挂载到容器内。例如:

重启服务

Prev Next
No Comments

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注