ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

docker 安装mysql5.7

2022-09-10 15:03:12  阅读:343  来源: 互联网

标签:NO mysql5.7 mysql ZERO MySQL home docker 安装


docker 安装mysql5.7

前言

MySQL 是目前最流行的关系型数据库管理系统,开发者是瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。具有体积小、速度快、成本低等特点。

  • MySQL是开源的,目前属于Oracle公司
  • MySQL支持大型的数据库。
  • MySQL使用标准的SQL数据语言形式。
  • MySQL可以运行于不同的操作系统上。
  • MySQL支持多种语言,例如Java、Python、PHP等等

下载地址

MySQL 下载

安装

安装docker不在本文讲解,本文只讲解使用docker安装Mysql5.7

  1. 拉取镜像
docker pull mysql:5.7
  1. 创建目录
mkdir -p /home/dockerdata/mysql/conf
mkdir -p /home/dockerdata/mysql/logs
mkdir -p /home/dockerdata/mysql/mysql
  1. 创建配置文件
cd /home/dockerdata/mysql/conf/
vi my.cnf

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
lower_case_table_names=1
#取消 group 严格模式
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
character-set-server=utf8mb4
#保存后退出

配置文件介绍:

​ 目前上方的配置文件是比较精简的配置文件,如果需要,可以自行添加相关配置

  • default-character-set : 设置Mysql客户端默认的字符集
  • lower_case_table_names : 是否区分大小写,有三个值1、2、0
    • 1-存储在磁盘是小写,比较时不区分大小写
    • 2-存储为给定的大小写但是比较时是小写
    • 0-存储为给定的大小写和比较时区分大小写
  • sql-mode :
    • ONLY_FULL_GROUP_BY : GROUP BY 聚合操作,如果在select列里面,没有在GROUP BY中出现,则这个sql不合法
    • NO_AUTO_VALUE_ON_ZERO : 该值会影响自增列的插入,意思是自增长列可以为0,默认情况下自增长列是从1开始,如果你插入id为0的数据会报错,设置该参数后,可以正常插入id为0的数据
    • STRICT_TRANS_TABLES : 如果一个值不能插入到一个事务中,则中断操作,对非事务不限制
    • NO_ZERO_IN_DATE : 不允许日期和月份为0,例如2022-01-00是不允许的,但是0000-01-01是允许的
    • NO_ZERO_DATE : 不允许插入零日期,不支持插入包含0的日期
    • ERROR_FOR_DIVISION_BY_ZERO : 在insert或者update中,如果数据被清除,则产生错误而非警告,如果未给出该模式,那么数据被清除时Mysql会返回NULL
    • NO_AUTO_CREATE_USER : 禁止GRANT创建密码为空的用户
    • NO_ENGINE_SUBSTITUTION : 如果需要的存储引擎被禁用或者未编译,那么抛出错误,不设置此值,用默认的存储引擎替代,并抛出一个异常
    • PIPES_AS_CONCAT : 将"||"视为字符串的连接操作符而非或运算符,和Oracle数据库是一样的。
    • ANSI_QUOTES : 不能使用双引号来引用字符串,因为会被解释为识别符。
  1. 运行
docker run --restart always -p 3306:3306 --name mysql -v /home/dockerdata/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/dockerdata/mysql/logs:/logs -v /home/dockerdata/mysql/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

参数介绍:

  • —restart always : 在容器退出后总是重启容器
  • -p 3306:3306 : 将容器的3306端口映射到主机的3306端口
  • —name mysql : 设置实例名称是mysql
  • -v …/… : 将宿主机目录挂载到容器内部,前面的是宿主机目录,后面的是容器目录,上方命令挂载了my.cnf、日志目录、mysql数据目录
  • -e MYSQL_ROOT_PASSWORD=root : 设置初始化root用户密码
  • -d : 以后台方式运行实例
  • mysql:5.7 : 指定使用mysql:5.7这个镜像来创建和运行实例
  1. 设置mysql root用户可以远程登录,需要bash连接到docker里面
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;

原文链接: https://monkey.blog.xpyvip.top/archives/docker安装mysql57

标签:NO,mysql5.7,mysql,ZERO,MySQL,home,docker,安装
来源: https://www.cnblogs.com/aibianchengya/p/16676671.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有