美文网首页
docker安装mysql

docker安装mysql

作者: 卫泽洪_70a7 | 来源:发表于2022-07-03 09:03 被阅读0次
docker search mysql
image.png

本次以mysql:8.0.29作为示例,注意不要使用最新版,容易出现不稳定的bug


image.png
docker pull mysql:8.0.29
image.png

使用mysql:8.0.29镜像创建容器(也叫运行镜像)

1、简单启动容器

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker ps

进入容器

docker exec -it a3864ef271c /bin/bash
mysql -uroot -p 然后输入密码

查看 docker mysql容器的 默认字符集编码

show variables like 'character%'

再考了一个问题:删除mysql容器后,数据就会丢失,怎么办?

2、实战版
新建mysql实例

docker run -d -p 23306:3306 --privileged=true \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=weizehong1987 \
--name mysql8.0 mysql:8.0.29 \
--lower_case_table_names=1

参数说明:
--privileged=true 开启容器数据卷权限
-v 挂载容器数据卷
-e 设置容器环境参数
--lower_case_table_names=1
要放在镜像名的后面,指定表名忽略大小写

show GLOBAL VARIABLES LIKE '%lower_case%'

image.png

下一步,通过容器卷同步给mysql容器实例

cd /mydata/mysql/conf/
vim my.cnf
[client]
default_character_set=utf8mb4
[mysqld]
collation_server=utf8mb4_bin
character_set_server=utf8mb4
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

重新启动mysql容器实例,再重新进入并查看字符编码

docker restart mysql8.0

相关文章

网友评论

      本文标题:docker安装mysql

      本文链接:https://www.haomeiwen.com/subject/bwhzvrtx.html