美文网首页工作生活
docker 中部署 mysql 以及一些配置

docker 中部署 mysql 以及一些配置

作者: Abbott思宇 | 来源:发表于2019-06-29 20:54 被阅读0次

    [TOC]

    部署 mysql

    官方文档:

    2.8 Deploying MySQL on Linux with Docker - 概述,实际上没啥价值
    2.8.1 Basic Steps for MySQL Server Deployment with Docker - 包含一个简单的基本介绍,没有介绍数据持久化的问题
    2.8.2 More Topics on Deploying MySQL Server with Docker - 介绍了需要的参数,包括持久化问题

    我采用的命令是:

    docker run --name mysql -d \
        -p 3306:3306 \
        -v mysql-data:/var/lib/mysql \
        -v /etc/timezone:/etc/timezone \
        -v /etc/localtime:/etc/localtime \
        --restart=always \
        mysql/mysql-server:5.7.26
    

    配置完 mysql 以后,设置新密码

    首先,登录 mysql

    docker exec -it mysql mysql -uroot -pxxxxxx

    修改密码

    alter user `root`@`localhost` identified by 'PASSWORD';
    

    MySQL5.7 添加用户、删除用户与授权

    # 创建用户同时授权
    grant all privileges on *.* to test@localhost identified by 'PASSWORD';
    

    这里可以用宿主机的 ip 地址可以作为局域网访问的授权 host,比如

    # 创建用户同时授权
    grant all privileges on *.* to test@'192.168.0.%' identified by 'PASSWORD';
    

    各个平台的mysql重启命令

    开启 回滚

    echo "
    # 开启 binlog 支持数据回滚
    server_id=1
    binlog_format=row
    binlog_row_image=full
    # 控制 binlog 文件大小
    log_bin=/var/log/mysql/mysql-bin.log
    max_binlog_size=1G
    expire_logs_days=30
    ">>/etc/my.cnf
    

    注意给权限,否则将导致无法启动问题,参见:mysql配置binlog后无法启动解决办法

    mkdir -p /var/log/mysql
    chown -R mysql:mysql /var/log/mysql
    

    开启 慢日志

    echo "
    # 开启慢日志
    slow_query_log = ON
    slow_query_log_file = /var/log/mysql/mysql-slow.log
    long_query_time = 1
    ">>/etc/my.cnf
    

    innodb 独占表空间

    innodb_file_per_table

    echo "
    # innodb 独占表空间
    innodb_file_per_table = 1
    ">>/etc/my.cnf
    

    参考博客: MySQL Server参数优化 - innodb_file_per_table(独立表空间)

    相关文章

      网友评论

        本文标题:docker 中部署 mysql 以及一些配置

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