需求:创建并运行一个MySQL容器,将宿主机目录直接挂载到容器

需求:创建并运行一个MySQL容器,将宿主机目录直接挂载到容器

步骤:

  1. mysql.tar文件上传到服务器或者自己去从服务器拉取镜像

  2. 创建目录/usr/mysql/data

  3. 创建目录/usr/mysql/conf

  4. 将提供的hmy.cnf文件上传到/usr/mysql/conf(安装8.0版本不需要此步,但仍需要修改mysql默认的数据文件存储目录datadir=/var/lib/mysql)这里我是把文件hmy.cnf拉进conf文件下。

    image-20230726220114365
  5. 挂载/usr/mysql/data到mysql容器内数据存储目录

  6. 挂载/usr/mysql/conf/hmy.cnf到mysql容器的配置文件

  7. 设置MySQL密码

docker pull mysql:8.0.20#拉取自己所需镜像
创建目录
cd /usr
mkdir mysql
cd ./mysql
mkdir data
mkdir conf
运行
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3308:3306 -v /usr/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /usr/mysql/data:/var/lib/mysql -d mysql:8.0

SqlYog连接docker里的mysql还需要以下过程

  • ubuntu的防火墙要允许 3308 端口通信

  • 还需要设置阿里云的安全组添加 3308 的端口

  • 从linux进入到docker中的容器的命令(修改密码)

#其中mysql是容器的名称

#查看自己的防火墙是否开放端口
sudo ufw status 
#如果没用则用此命令开放此端口
sudo ufw allow 3308 
#此命令可以直接进入docker里的数据库去修改密码
docker exec -it mysql bash
mysql -u root -p密码 #直接输入使用你运行的那个密码然后回车
#修改密码 MySQL8.0之后更换了加密规则就需要使用下面语句
alter user 'root'@'%' identified with mysql_native_password by '密码';
#这里使用%可以任意IP访问你的地址
flush privileges;#刷新权限
之后你就可以连接sqlyog
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值