参考链接:https://cloud.tencent.com/developer/article/1923521

    1. # 拉取镜像
    2. docker pull mysql:5.7
    3. # 新建本地挂载路径
    4. mkdir -p /usr/local/docker/mysql/conf
    5. mkdir -p /usr/local/docker/mysql/data
    6. mkdir -p /usr/local/docker/mysql/logs
    7. # 启动容器
    8. docker run \
    9. -d \
    10. -p 3307:3306 \
    11. --restart=unless-stopped \
    12. -v /usr/local/docker/mysql/conf:/etc/mysql \
    13. -v /usr/local/docker/mysql/data:/var/lib/mysql \
    14. -v /usr/local/docker/mysql/logs:/logs \
    15. -e MYSQL_ROOT_PASSWORD=a123456 \
    16. --name mysql-5.7-3307 \
    17. mysql:5.7
    18. # 命令解析
    19. -d:后台运行
    20. -p:端口映射 本机的端口:docker容器中的端口
    21. --restart=unless-stopped:docker启动的时候随之启动
    22. -v:将容器中的数据挂载到本地 本地的路径:容器中的路径
    23. -e MYSQL_ROOT_PASSWORD=a123456 设置mysqlroot用户的密码为a123456
    24. --name mysql-5.7 容器起别名
    25. # 进入mysql容器并登录mysql
    26. docker exec -it mysql-5.7 bash
    27. #登录mysql
    28. mysql -uroot -p
    29. #开启远程访问
    30. use mysql;
    31. select host,user from user;
    32. ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'a123456';
    33. flush privileges;
    34. #退出mysql
    35. exit
    36. #不停止退出容器
    37. ctrl + p + q