Windows/Mac系统Docker方式安装Mysql(包含utf8)

下面是详细的攻略:

准备工作

在开始安装Mysql之前,需要先安装Docker。如果你已经安装好了Docker,可以直接跳过这一步。

Windows系统

Windows用户需要前往Docker官网下载并安装Docker Desktop软件,Windows 10版本以上的用户可以在以下链接中下载:

https://hub.docker.com/editions/community/docker-ce-desktop-windows/

Mac系统

Mac用户需要前往Docker官网下载并安装Docker Desktop软件,可以在以下链接中下载:

https://hub.docker.com/editions/community/docker-ce-desktop-mac/

安装Mysql

步骤一:拉取Mysql镜像

首先,在终端中通过以下命令拉取Mysql官方镜像:

docker pull mysql:5.7

由于Mysql官方镜像默认使用latin1字符集,如果需要使用utf8字符集,可以在pull命令后添加--character-set-server=utf8 --collation-server=utf8_general_ci参数。

步骤二:创建Mysql容器

接着,在终端中执行以下命令创建Mysql容器:

docker run -p 3306:3306 --name mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci

其中,/my/own/datadir是宿主机上保存数据的目录,可以根据自己的需求修改。

步骤三:连接Mysql

最后,在本地使用Mysql客户端连接Mysql服务即可:

mysql -h 127.0.0.1 -P 3306 -u root -p

# 输入密码即可登录

示例说明

示例一:使用Docker Compose同时启动多个服务

在使用Docker Compose同时启动多个服务时,可以通过以下示例将Mysql服务添加到docker-compose.yml文件中:

version: '3'
services:
  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: my-secret-pw
      MYSQL_DATABASE: my-db
      MYSQL_USER: my-user
      MYSQL_PASSWORD: my-password
    ports:
      - "3306:3306"
    volumes:
      - ./data:/var/lib/mysql

添加完成后,在终端中使用以下命令启动所有服务:

docker-compose up -d

示例二:使用配置文件启动Mysql服务

在使用配置文件启动Mysql服务时,可以通过以下示例创建配置文件:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

[client]
default-character-set=utf8

然后在终端中执行以下命令启动Mysql服务:

docker run --name mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d -p 3306:3306 -v /path/to/my.cnf:/etc/mysql/my.cnf:mysql:5.7

其中,/path/to/my.cnf是配置文件的路径。

以上就是完整的攻略,希望对你有帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Windows/Mac系统Docker方式安装Mysql(包含utf8) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • 史上最全面的互联网专业词汇扫盲汇总

    史上最全面的互联网专业词汇扫盲汇总攻略 什么是互联网专业词汇扫盲汇总 互联网专业词汇扫盲汇总是一种以整理和归纳互联网领域中常见的专业术语为目的的工作,对互联网行业初学者、职业从业者以及爱好者来说,学习和掌握互联网专业词汇具有重要的意义。同时,互联网专业词汇的扫盲也是保持行业竞争力的必备工作。 如何进行互联网专业词汇扫盲汇总 步骤1:了解互联网领域常见的专业术…

    database 2023年5月19日
    00
  • spring boot中各个版本的redis配置问题详析

    下面我就为你详细讲解“spring boot中各个版本的redis配置问题详析”的攻略。 一、问题概述 在使用Spring Boot进行项目开发时,我们通常会使用Redis来进行缓存操作。然而,不同版本的Spring Boot的Redis配置会有所不同,会导致我们在进行项目开发时遇到不同的问题。 二、Spring Boot中Redis配置问题分析 1. Sp…

    database 2023年5月22日
    00
  • Redis Cluster集群动态扩容的实现

    Redis Cluster集群动态扩容的实现攻略 Redis是一种高性能的键值数据库,也是一个开源的、基于内存的数据结构服务,同时还支持多种数据结构。Redis集群能够提供高可用性、扩展性以及容错性。在Redis集群中,增加或减少节点都是需要进行动态调整的,下面就介绍如何实现Redis Cluster的动态扩容。 1. 构建Redis Cluster 首先,…

    database 2023年5月22日
    00
  • MongoDB执行mongoexport时的异常及分析(数字类型的查询)

    MongoDB执行mongoexport时的异常及分析(数字类型的查询) 问题背景 在使用mongoexport导出数据时,会出现数字类型的查询查询结果错误的情况。例如,当使用查询条件{“age”: 10}查询数据时,却返回了完全不符合的数据结果。 问题分析 问题在于,MongoDB中数字类型的查询在执行查询的时候,会默认将符合条件的查询字段通过字符串类型的…

    database 2023年5月21日
    00
  • Mysql实现null值排在最前或最后

    最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。 oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。oracle方法:null值排在最前 select * from A order b…

    MySQL 2023年4月13日
    00
  • 解析MySQL设置当前时间为默认值的方法

    当我们创建MySQL表时,有时候我们需要将某个字段的默认值设置为当前时间。可以通过以下两种方法来实现: 1. 使用TIMESTAMP类型 在创建表的时候,可以将字段类型设置为TIMESTAMP,并将默认值设置为CURRENT_TIMESTAMP。示例代码如下: CREATE TABLE test ( id INT, create_time TIMESTAMP…

    database 2023年5月22日
    00
  • MySQL prepare语句的SQL语法

    MySQL中的prepare语句是一种高级的编程方式,它可以让MySQL服务器预处理SQL语句,然后再执行该语句。这样做的好处是可以大大提高SQL语句的执行效率,同时也可以防止SQL注入攻击。下面是prepare语句的SQL语法和示例说明。 1. SQL语法 PREPARE statement_name FROM preparable_stmt 其中,sta…

    database 2023年5月21日
    00
  • 使用SQL语句实现查询排序,顺序和倒序

    使用SQL语句实现查询排序是非常常见的操作,可以让我们以特定的属性进行排序,以便更好地理解数据。下面是细致的攻略: 1. 确定排序属性和排序顺序 在使用SQL语句进行排序时,需要先选择排序的属性和排序顺序。可以按升序或降序排列。对于文本数据类型,升序将按照A-Z的字母顺序进行排序,而降序将按照Z-A的字母顺序进行排序。对于数字数据类型,升序将按照从小到大的顺…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部