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

 

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

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

相关内容

热门资讯

“双标”换卡背后,银行还需多些... 新华社记者 颜之宏、杨深深 持到期银行卡和身份证去银行网点换新卡,却被要求“必须交回旧卡才能取新卡”...
“离境退税2.0”带动“中国购... 【环球时报综合报道】编者的话:5月18日,商务部等6部门联合发布《关于加力优化离境退税措施扩大入境消...
一年烧掉2000亿、市值蒸发3... 商业润点 |Biz Run Review 三国归晋,用了六十年。即时零售的"三国杀",才刚刚开局...
原创 金... 2026年5月22日,国内黄金市场呈现出令人咋舌的价格鸿沟。基础金价徘徊在每克995.3元,而回收价...
原创 人... SpaceX的星舰V3终于在全球瞩目中成功升空。北京时间5月23日清晨,这颗高达124米的巨型火箭顺...
原创 被... 5月19日,欧洲议会掀起了一场引人注目的风暴,以压倒性的票数通过了最新的钢铁进口规定。 这套规则...
光纤量价齐升,烽火通信加快布局... 烽火通信(600498)5月22日披露的投资者关系活动记录表显示,公司于5月21日参加了中国信息通信...
原创 突... 今天5月24日一大早,打开行情一看,国际现货黄金报4508.25美元/盎司,单日跌了26.68美元,...
企业快讯 | 携手联通!狄耐克... 狄耐克 厦门总商会副会长企业 厦门狄耐克智能科技股份有限公司 与中国联通厦门分公司 将5G智慧“嵌入...
美银策略师警告:SpaceX与... 环球网 据彭博社报道,美国银行首席投资策略师迈克尔·哈特奈特(Michael Hartnett)最新...
卸任55天后,知名基金经理任相... 【导读】卸任55天后,知名基金经理任相栋“奔私”谜底揭晓 见习记者 闫军 知名基金经理任相栋“奔私”...
原创 大... “免签+手机刷一切”就能让老外连夜订机票?2026年一季度,阿根廷人来华暴涨九倍,北京三源里菜市场三...
从泰山顶峰掉落!“大佬背后的大... 文/刘工昌 他曾是柳传志的“大哥”,助力联想完成混合所有制改革;是史玉柱眼中的“贵人”,帮他东山再起...
原创 2... 最近网上流传出一份2030年GDP10强预测榜单,其中一些城市位次的变化也挺有趣的。上海排在第一,深...
原创 全... 2026年3月的全球美债市场迎来剧烈变动,彻底打破了长期稳定的持仓格局。 根据美国财政部发布的国际资...
全球都在给这几只“疯牛”烧钱 近段时间,AI行情再次成为全球资本市场主线,但舞台中央的“主角”发生了变化:投资者不再只偏好云厂商和...
【财闻联播】“硬刚监管”?老虎... ★ 宏观动态 ★ 商务部:1—4月全国吸收外资2876.9亿元人民币 据商务部网站,2026年1—4...
燕京啤酒营收净利双增:U8增速... 蓝鲸新闻5月22日讯(记者 朱欣悦)燕京啤酒(000729.SZ)打了一个翻身仗。 2025年燕京啤...
原创 帮... 老铁们,这周有个事儿挺有意思,估计不少基民都看懵了:都说科技是主线,芯片是未来,可数据显示,年内火爆...
4家银行AIC现身存储巨头股东... 近日,资本市场热度颇高的两家存储巨头长鑫科技集团股份有限公司(以下简称“长鑫科技”)、长江存储控股股...