栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux中docker安装mysql8

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux中docker安装mysql8

一、创建挂载路径
mkdir -p /docker/mysql/data /docker/mysql/logs
二、创建my.cnf文件
vi /docker/mysql/my.cnf

my.cnf文件内容:

[client]

#socket = /usr/mysql/mysqld.sock

default-character-set = utf8mb4

[mysqld]

#pid-file        = /var/run/mysqld/mysqld.pid

#socket          = /var/run/mysqld/mysqld.sock

#datadir         = /var/lib/mysql

#socket = /usr/mysql/mysqld.sock

#pid-file = /usr/mysql/mysqld.pid

#切换mysql原数据存放地址
datadir = /usr/mysql/data

character_set_server = utf8mb4

collation_server = utf8mb4_bin

secure-file-priv= NULL

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

# Custom config should go here

!includedir /etc/mysql/conf.d/

#这个是因应mysql8的安全机制升级而需要修改的配置,不配置的话将无法登录管理
default_authentication_plugin= mysql_native_password

所有结构:

 

三、创建容器。直接通过run命令拉取mysql8.0.21镜像版本
docker run --name mysql8 -v /docker/mysql/my.cnf:/etc/mysql/my.cnf -v /docker/mysql/data:/var/lib/mysql -v /docker/mysql/logs:/var/log/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --restart=unless-stopped -itd mysql:8.0.21

参数解释:

-v : 挂载宿主机目录和 docker容器中的目录,前面是宿主机目录,后面是容器内部目录

-d : 后台运行容器

-p 映射容器端口号和宿主机端口号

-e 环境参数,MYSQL_ROOT_PASSWORD设置root用户的密码

--unless-stopped #unless-stopped 和 always 基本一样,只有一个场景 unless-stopped有点特殊:如果容器正常stopped,然后机器重启或docker服务重启,这种情况下容器将不会被restart

注意:新版mysql好像还需要挂载/var/lib/mysql-files/ 目录 (我没挂载,我是8.0.21。mysql8.0.25版run时可能会报这个相关的错)

-v /docker/mysql/mysql-files:/var/lib/mysql-files
四、执行命令,查看容器是否启动成功
docker ps

 五、navicat连接mysql

因为我们在my.cnf配置了以下参数,所以可以使用navicat连接成功

#这个是因应mysql8的安全机制升级而需要修改的配置,不配置的话将无法登录管理
default_authentication_plugin= mysql_native_password

 

如果my.cnf里没配置,需要执行以下步骤

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号