Dokcer 安装MySQL:5.7

获取镜像

# 拉取镜像
docker pull mysql:5.7
# 查看镜像
docker images

在这里插入图片描述

创建相关文件夹

……

启动容器

docker run -d -p 3306:3306 --privileged=true -v /server_log/mysql:/var/log/mysql -v /server_data/mysql:/var/lib/mysql -v /server_conf/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root --name mysql_5.7 mysql:5.7

参数说明:

-p 3306:3306 \				            # 将容器的3306端口映射到主机的3306端口,'\'指换行符,下同    
-d                                      # 后台运行    
--name mysql:5.7 \                      # 容器名称
--privileged=true                       # 容器获取root权限
-v /server_data/mysql:/var/lib/mysql \	# 将数据文件挂载到主机,冒号左边为Linux的目录结构,右边为docker内部的
-v /server_log/mysql:/var/log/mysql \	# 将日志文件夹挂戟到主机
-v /server_conf/mysql:/etc/mysql/conf.d \ # 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root \			# 初始化root用户的密码为:root

添加配置文件

cd /server_conf/mysql/
vim my.cnf

配置文件:

[client]
default_character_set=utf8mb4

[mysqld]
collation-server = utf8mb4_general_ci
character_set_server = utf8mb4

重启MySQL

docker restart mysql_5.7

随docker自启

# 设置mysql每次开机随docker自启动
docker update mysql --restart=always

如果MySQL 无法正常登录 ,附加修改密码

# 进入先前定义的my.cnf文件 在mysqld 下添加 skip-grant-tables
[mysqld]
skip-grant-tables
collation-server = utf8mb4_general_ci
# 正常进行mysql登录
mysql -uroot -p
# 输入空密码登录
# 修改密码
update MySQL.user set authentication_string=password('root') where user='root';
# 将配置文件修改回去,并重启
docker restart mysql_5.7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值