Docker安装MySQL 8.0镜像,简易上手
admin
2024-04-04 23:42:26
0

安装及启动docker


1、安装docker 

[root@docker]# yum install docker-ce docker-ce-cli containerd.io -y


2、启动docker,并且设置docker开机启动

[root@docker]# systemctl start docker      启动docker
[root@docker]# systemctl enable docker     设置开机自启docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.[root@docker]# ps aux|grep docker          查看docker进程是否启动
root       16210  0.4  2.0 1368904 79400 ?       Ssl  17:29   0:00 /usr/bin/dockerd-H fd:// --containerd=/run/containerd/containerd.sock
root       16363  0.0  0.0  12348  1112 pts/0    S+   17:30   0:00 grep --color=auto docker

3. 拉取镜像

docker pull mysql

如果要指定版本,在mysql后面加上:+版本号,例如:

docker pull mysql:8.0.16

查看mysql镜像

docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
mysql        8.0.16    de764ad211de   3 years ago    443MB

4. 配置 mysql 的配置信息

  • 创建数据目录和配置文件
    提前在宿主机,创建好放置mysql的配置文件的目录和数据目录,并且进行授予权限,避免挂载外部配置和数据时启动失败:
mkdir -p /usr/local/docker/mydata/mysql/conf
  • 设置文件夹权限
chmod -R 755  /usr/local/docker/mydata/mysql/
  • 创建my.cnf配置文件
vim /usr/local/docker/mydata/mysql/conf/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
secure_file_priv=/var/lib/mysql

提醒

无论你是否使用我的配置,如果你的安装的是新版MySQL,务必要复制这一句:

secure_file_priv=/var/lib/mysql

第一次创建启动MySQL容器的时候,MySQL会访问/var/lib/mysql文件夹,如果没有权限就会导致无法启动,使用docker ps之后看不到mysql容器在运行,需要设置secure_file_priv的值指定为/var/lib/mysql,这样就有权限正常访问和读写/var/lib/mysql目录

Failed to access directory for --secure-file-priv. Please make sure that directory exists and is accessible by MySQL Server. Suppliedvalue : /var/lib/mysql-files
译文:无法访问–secure-file-priv的目录。请确保该目录存在并且可由MySQL服务器访问。提供的值:/var/lib/mysql文件

secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
secure_file_priv的值为空,表示不对mysqld 的导入|导出做限制

5. 创建并启动MySQL容器命令

sudo docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mydata/mysql/log:/var/log/mysql \
-v /usr/local/docker/mydata/mysql/data:/var/lib/mysql \
-v /usr/local/docker/mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:8.0.16

参数说明:

-p 3306:3306:将容器的3306端口映射到主机的3306端口
--name mysql:定义容器名称为mysql
-v /mydata/mysql/log:/var/log/mysql :将MySQL的日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql:将MySQL的数据文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql:将MySQL的配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户密码   经过测试,貌似初始密码都是root,只能装好以后修改
-d mysql:latest:选择MySQL版本为latest的镜像构建容器

6. 查看正在运行的容器

docker ps

7. 进入到MySQL容器内部进行配置 进入命令

docker exec -it mysql ./bin/bash

8. 连接MySQL

这里因为我们自己设置的MySQL默认密码为root所以p后面为root

mysql -uroot -proot

9. 更改MySQL密码

use mysql

修改访问主机以及密码等,设置为所有主机可访问

注意:mysql_native_password,mysql8.x版本必须使用这种模式,否则navicate无法正确连接

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

10. 测试链接

测试前请保证关闭了防火墙,如果是云服务器记得在管理后台,开放3306规则;
Linux关闭防火墙,命令如下:

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

 

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。

相关内容

热门资讯

亚朵节后价格“跳水”超70% 春节过后,部分热门小城的亚朵酒店房价上演“过山车”行情,房价节前飙升,节后迅速跳水,巨大的价格波动引...
原创 金... 你绝对想不到,同样一克999足金,在深圳水贝批发市场只要1334元,走进周大福门店却变成1545元,...
德兰明海冲击港交所!递表前大手... 又一家储能企业“叩响”了港交所大门。近期,港交所官网显示,中小型用户侧储能企业深圳市德兰明海新能源股...
绿茶集团、猫眼娱乐发布正面盈利... |2026年2月25日 星期三| NO.1绿茶集团发布正面盈利预告 2月24日港股收市后,绿茶集团(...
安宁市的历史文化及名人有哪些 安宁市,这座坐落在彩云之南的城市,宛如一颗璀璨明珠,散发着迷人的历史文化魅力。在这里,岁月留下了深深...
中国央行连续12个月加量续作M... 来源:中国新闻网 中新社北京2月24日电 (陶思阅)中国央行24日发布中期借贷便利(MLF)招标公告...
不是15%?特朗普10%全球关... 据美国海关及边境保卫局(CBP)发布消息,特朗普政府将实施的新全球关税为10%。 第一财经收到的CB...
2026年春节出游人次、消费金... 2026年春节,为期9天的超长假期点燃了全国消费热情,多项核心数据创下历史纪录。 经文化和旅游部数据...
美国联邦存款保险公司(FDIC... 美国联邦存款保险公司(FDIC):美国银行业存款季环比下滑2%。
2026春节AI大战深度复盘:... 主编温静导读:2026年春节,元宝、千问、豆包三大巨头以红包、免单为杠杆,发动了一场规模空前的用户争...
期市节后首日金属板块普涨 白银... 本报记者 王宁 2月24日,春节后的首个交易日,国内期货市场呈现涨多跌少态势。 从板块表现来看,农产...
月跌超10%背后:软件行业,将... 此前一天,2月23日,人工智能公司Anthropic宣布,其Claude Code工具可用于在IBM...
公告精选 |《飞驰人生3》票房... 控制权收购 东阳光(600673.SH):公司正在筹划通过发行股份的方式收购宜昌东数一号投资有限责任...
东阳光:筹划收购东数一号控制权... 上证报中国证券网讯(记者 骆民)东阳光公告,公司正在筹划通过发行股份的方式收购宜昌东数一号投资有限责...
原创 高... 你有没有发现,几年前人人都在拼命买房,而现在,越来越多人开始思考,房子,到底还是不是财富? 这几年,...
这个春节,中国经济热力值拉满 2026年的春节,注定要在中国消费市场上留下浓墨重彩的一笔。 当9天的超长假期遇上持续加码的政策红利...
2026年中国汽车产业十大趋势... 2025年,中国汽车产业在连续17年产销量稳居全球第一的基础上,再次交出了一份充满变革与挑战的答卷。...
2022年天猫烘焙厨电行业趋势... 今天分享的是:2022年天猫烘焙厨电行业趋势白皮书 报告共计:7页 烘焙厨电迎来新变革:从“功能单一...