若依分离版3-docker安装mysql

本文介绍了如何使用Docker拉取并运行MySQL5.7镜像,创建数据、日志和配置文件的挂载目录,设置MySQL容器的端口映射、命名、配置文件以及root用户的密码。接着,通过dockerexec进入容器,授权远程连接并刷新权限,确保root用户可以远程操作数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker安装mysql

  1. 拉取mysql5.7镜像

    docker pull mysql:5.7
    
  2. 创建数据挂载目录

    mkdir -p /data/mysql/data   /data/mysql/logs  /data/mysql/conf
    
  3. 创建mysql配置文件

    cd /data/mysql/conf
    touch my.cnf
    
  4. 创建mysql容器,并将数据,日志,配置文件映射到服务器上

    docker run -p 3306:3306 --name mysql \
    -v /data/mysql/conf:/etc/mysql/conf.d \
    -v /data/mysql/logs:/logs \
    -v /data/mysql/data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.7
    
  5. 参数解释

    -p:表示端口映射,冒号左面的是我们的宿主机的端口,而右侧则表示的是mysql容器内的端口
    --name:是我们给mysql容器取的名字
    -v:表示挂载路径,冒号左面的表示我们宿主机的挂载目录,冒号右边则表是的是mysql容器在容器内部的路径,
    上面的命令我分别挂载了my.cnf(mysql的配置文件),如需使用配置文件的方式启动mysql,这里则需要加上,mysql的日志,还有mysql存放数据所在的目录
    -e 设置参数,这里是设置mysql的root用户密码
    -d: 后台运行容器
    
  6. 用户授权

    先进入容器
    docker exec -it 容器名称或者id bash
    在进入mysql(回车后输入密码)
    mysql -uroot -p
    授权远程连接的修改数据库的权限
    grant all privileges on *.* to '用户名'@'%' with grant option;
    这里的用户名是root,
    grant all privileges on *.* to 'root'@'%'   with grant option;
    刷新权限
    flush privileges;
    断开全部的mysql连接,重新连接即可
    
    查看全部用户的权限
    select * from mysql.user where user='root'
    下面所示的两个root用户  一个是本地连接的root  一个是远程连接的root  默认远程连接的root没得操作数据库的权限
    

    img

    下面就是赋权成功后
    

    img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值