下载Mysql镜像

格式为docker pull mysql:[version],需要docker已经启动

docker pull mysql:5.7

创建实例并启动

docker run -p 0.0.0.0: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

运行后可使用docker ps查看已经启动的镜像

请输入图片描述

访问docker容器

执行如下命令通过命令行交互方式进入docker容器

docker exec -it mysql /bin/bash

自定义配置

在宿主机或docker容器中均可操作,需要在启动容器是指定的配置文件目录下新建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

保存完成后,执行docker restart mysql重启容器,配置文件便会被mysql服务端载入

可能遇到的问题

启动过程中如果出现 WARNING: IPv4 forwarding is disabled. Networking will not work.警告,即使启动成功也无法连接到数据库,需进行如下操作进行处理:

vi /etc/sysctl.conf

或者

vi /usr/lib/sysctl.d/00-system.conf

在其中添加如下配置:

net.ipv4.ip_forward=1

添加成功后,重启网络服务,再重新启动docker容器即可

systemctl restart network
最后修改:2023 年 11 月 14 日
如果觉得我的文章对你有用,请随意赞赏