Docker部署Mysql

使用docker-compose 部署mysql项目

目录结构

E:\docker\mysql
├─conf
├─db
├─log
└─mysql-files
shell

docker-compose

使用 docker-compose来配置mysql容器的密码,配置及挂载等

docker-compose.yml文件与上目录结构同级

  • docker-compose.yml
version: '2'
services:
    mysql:
        container_name: "mysql"
        #network_mode: "host" #本地需要注释掉,服务端取消注释
        environment:
            MYSQL_ROOT_PASSWORD: "admin"
            MYSQL_USER: 'root'
            MYSQL_PASS: 'admin'
        image: "mysql:8.0.11" 
        restart: always
        ports: 
            - 3306:3306
        volumes:
            - "./db:/var/lib/mysql"
            - "./conf:/etc/mysql"
            - "./log:/var/log/mysql"
            - "./mysql-files:/var/lib/mysql-files"

yml

运行容器

使用终端(TERMINAL)或者命令提示符(CMD)运行

cd E:\docker\mysql
docker-compose up -d
shell

外界访问配置

进入容器

  • Windows
winpty docker exec -it mysql bash
//若失败,可使用
docker exec -it mysql bash
shell
  • Linux
docker exec -it mysql /bin/bash
shell

登陆Mysql

mysql -u root -p
shell

输入密码admin

创建用户

create user xujiayi@'%' identified by '123456';
shell

设置外界访问权限

grant all privileges on *.* to xujiayi@'%' with grant option;
shell

刷新权限

flush privileges;
shell

退出mysql

exit;
shell

退出容器

exit
shell

Nodejs连接

对于mysql8.0及以上版本,由于nodejs原因,还需要额外增加一条

ALTER USER xujiayi@'%' IDENTIFIED WITH mysql_native_password BY '123456';
shell

然后再刷新权限

flush privileges;
shell
打赏
  • 微信
  • 支付宝
评论
来发评论吧~
···

歌手: