docker安装mysql

1.镜像仓库搜索mysql

官网地址

2.拉取最新镜像

3.拉取指定版本镜像

docker pull mysql:版本号

例如:

docker pull mysql:5.7

4.查看下载镜像

docker images

5.创建实例并启动

docker run --privileged=true --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d -v /usr/local/docker_data/mysql/data:/var/lib/mysql -v /usr/local/docker_data/mysql/conf:/etc/mysql/ -v /usr/local/docker_data/mysql/logs:/var/log/mysql mysql:8.0.22

可能会出现下面的情况

改用下面的命令即可

docker run -p 3306:3306 --privileged=true -v /mysql/data:/var/lib/mysql -v /mysql/log:/var/log/mysql -v /mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name=mysql-server -d mysql:8.0.22

6.查看启动中容器

docker ps

7.进行mysql容器,证明是一个完整独立的运行环境

docker exec -it 容器id或容器名称 /bin/bash

docker exec -it mysql /bin/bash

ls

whereis mysql

8.docker容器文件挂载与端口映射

/etc/mysql:mysql配置文件目录

/var/log/mysql:mysql日志文件目录

/var/lib/mysql:mysql数据文件

9.修改mysql配置文件

vi /mydata/mysql/conf/my.cnf

[client]

设置mysql客户端默认字符集

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

#设置3306端口

port=3306

设置mysql的安装目录

#basedir=E:\05install\mysql\mysql-5.7.19-winx64

设置mysql数据库的数据的存放目录

#datadir=E:\05install\mysql\mysql-5.7.19-winx64\data

允许最大连接数

max_connections=200

init_connect='SET collation_connection = utf8_unicode_ci'

init_connect='SET NAMES utf8'

服务端使用的字符集默认为8比特编码的latin1字符集

character-set-server=utf8

#collation-server=utf8_general_ci

collation-server=utf8_unicode_ci

创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

免密码登陆

skip-grant-tables

skip-character-set-client-handshake

#解决mysql连接慢的问题

skip-name-resolve

group by 查询报错

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

#忽略大小写

lower_case_table_names=1

10.重启mysql

docker restart mysql

可以进入容器,查看容器中mysql配置文件也会存在

11.设置开机启动mysql

docker update mysql --restart=always

12.关闭开机启动mysql

docker update mysql --restart=no

原文链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值