docker安装mysql

本文档介绍了如何使用Docker下载并启动MySQL 5.7镜像,详细阐述了如何配置端口映射、数据卷挂载、设置root密码以及后台启动。接着,展示了如何修改MySQL配置文件以提升性能,包括设置字符集和禁用域名解析以解决连接慢的问题。此外,还指导了如何通过容器内的mysql命令行工具连接数据库,授权root用户远程访问,并提供了进入容器文件系统的步骤。
摘要由CSDN通过智能技术生成

1、下载镜像文件

docker pull mysql:5.7

2、创建实例并启动

  1. 创建实例并启动

    docker run -p 3306:3306 --name mysql \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7
    
    参数说明
    -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
    -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
    -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
    -v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
    -e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
    -d 后台方式启动
    
  2. 查询docker 安装目录

    docker ps

修改mysql配置文件信息

  1. 进入挂载的配置文件
    vi /mydata/mysql/conf/my.cnf

  2. 将以下内容粘贴到 my.cnf文件

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
  1. 重启
    docker restart mysql

解决 MySQL 连接慢的问题

在配置文件中加入如下,并重启 mysql

[mysqld]
skip-name-resolve

skip-name-resolve:跳过域名解析

3、通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -pro

4、设置 root 远程访问

grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; flush privileges;

5、进入容器文件系统

docker exec -it mysql /bin/bash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值