美文网首页
mysql容器使用总结

mysql容器使用总结

作者: 十月里的男艺术家 | 来源:发表于2018-11-05 12:49 被阅读0次

    拉取官方镜像

    % sudo docker pull mysql:5.7
    

    启动mysql

    1. 建立数据文件夹
    % mkdir /home/jon/data/jed
    
    1. 启动镜像
    % sudo docker run --name jed-mysql -v /home/jon/data/jed:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD="1234" -p "127.0.0.1:3306:3306" -d mysql:5.7 \
    --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    
    75d087e0566dbee6ad54eac362c1bea909da36607bc494f6d56cc1eb2828a90b # 返回的容器ID
    
    

    -v选项,是把宿主机的/home/jon/data/jed目录映射到容器的/var/lib/mysql数据目录;

    -e MYSQL_ROOT_PASSWORD是设置初始启动mysql的root密码,若是/home/jon/data/jed已经初始化,则会自动忽略,使用已经初始化密码;

    -p "127.0.0.1:3306:3306"是映射容器的3306端口到宿主机的127.0.0.1:3306;

    -d选项,是后台执行;

    --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci是使用mysql的最佳实践选项;

    注意: mysql的utf8一定要选用utf8mb4

    初始化数据库

    % sudo docker exec -it 75d087e0566 bash # 进入容器bash
    $ mysql -uroot -p  # mysql客户端登录
    mysql> create database jed # 创建jed数据库
    
    

    宿主机测试连接

    mysql -uroot -p -h127.0.0.1 -P 3306
    

    注意:

    该命令一定要加-h 127.0.0.1,这样是通过TCP连接到mysql

    若是不加该选项或使用localhost当做主机,mysql会通过socket连接主机

    而容器是通过TCP EXPOSE端口,所以宿主机连接要通过TCP连接

    相关文章

      网友评论

          本文标题:mysql容器使用总结

          本文链接:https://www.haomeiwen.com/subject/npqsxqtx.html