docker安装mysql8

目录

一、mysql镜像拉取和下载

1.mysql镜像查询

2.mysql镜像拉取

3.mysql镜像下载

二、创建mysql容器实例

1.创建宿主机映射数据卷

2.my.conf配置文件

3.创建容器

4.查看创建的mysql容器

三、修改root密码及放开远程访问权限


一、mysql镜像拉取和下载

1.mysql镜像查询

打开docker hub 网站
dockerHub官网地址
在上方搜索栏里输入mysql

​​​​​​​

2.mysql镜像拉取

找到要拉取的镜像版本,在tag下找到版本

回到虚拟机界面,执行下面命令来拉取mysql镜像

##不指定版本号,默认下载最新版本:
docker pull mysql

##指定版本号:
docker pull mysql:8.0.20

3.mysql镜像下载

##将镜像打包成tar
docker save -o mysql_8_0_20.tar mysql:8.0.20

##将tar还原成镜像
docker load -i mysql_8_0_20.tar

##查看镜像
docker images

##将容器生成新的镜像
# id:做过更改容器的id
# name:镜像名,随意命名
#例如:docker commit a404c6c174a2  mymysql:v1 
docker commit id name

二、创建mysql容器实例

1.创建宿主机映射数据卷

## /opt/mysql/conf配置文件目录
## /opt/mysql/data数据文件目录
## /opt/mysql/logs日志文件目录
mkdir -p /opt/mysql/conf /opt/mysql/data /opt/mysql/logs
chmod 755 -R /opt/mysql

2.my.conf配置文件

[mysqld]
##数据目录
#datadir=/var/lib/mysql

#使用mysql8以前的密码插件,以便navicat等工具能够正常连接
default_authentication_plugin=mysql_native_password

default-storage-engine=INNODB
character_set_server = utf8

##设置允许 load data导入、导出的位置,没有值时,表示不限制mysqld在任意目录的导入导出
secure_file_priv='' 

#binlog日志过期时间,超过30天的binlog自动删除,binlog日志可用于数据恢复
expire_logs_days=30  

[mysqld_safe]
character_set_server = utf8

[mysql]
default-character-set = utf8

[mysql.server]
default-character-set = utf8

[client]
default-character-set = utf8

3.创建容器

docker run -d \
--restart=always \
--privileged=true \
--name mysql \
-p 3306:3306 \
-v /opt/mysql/logs:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.20

4.查看创建的mysql容器

docker ps -a

三、修改root密码及放开远程访问权限

docker exec -it mysql /bin/bash
 
mysql -uroot -p
 
use mysql

##查询user表
select host,user,plugin from user;
##如果有多条root用户数据,先删除多余的行
delete from user where user ='root' and host='%';
##设置所有host都可以访问
update user set host = '%' where user = 'root';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
 
flush privileges

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值