centos安装mysql5.7 (docker环境)

10 篇文章 0 订阅
9 篇文章 0 订阅

centos安装mysql5.7 (docker环境)

  1. yum安装依赖
    • yum -y install libaio numactl
    • yum -y install openssl openssl-devel如果要使用mysql的ssl加密通信则安装,否则跳过此步骤
  2. 前期准备工作
    • groupadd mysql创建mysql组
    • useradd -g mysql mysql -s /sbin/nologin创建MySQL用户并且不让shell登录
    • mkdir -p /usr/local/mysql/data && cd /usr/local/mysql创建目录
    • wget -c https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz下载mysql通用二进制包
    • tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz && mv mysql-5.7.24-linux-glibc2.12-x86_64/* /usr/local/mysql && cd /usr/local/mysql解压并且进入目录
    • chown -R mysql:mysql /usr/local/mysql修改mysql文件夹所属用户和组
    • /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data初始化数据库
    • /usr/local/mysql/bin/mysql_ssl_rsa_setup --datadir=/usr/local/mysql/datamysql的ssl加密通信,如果不使用,则跳过此步骤
  3. 配置启动MySQL
    • cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld创建unix服务
    • vim /etc/init.d/mysqld
    • 添加路径 在46行
      basedir=/usr/local/mysql
      datadir=/usr/local/mysql/data
    • vim /etc/my.cnf将一下代码复制过去
      [mysqld]
      character_set_server=utf8
      init_connect='SET NAMES utf8'
      basedir=/usr/local/mysql
      datadir=/usr/local/mysql/data
      socket=/tmp/mysql.sock
      #不区分大小写(sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 这个简单来说就是sql语句是否严格)
      lower_case_table_names = 1
      log-error=/var/log/mysqld.log
      pid-file=/usr/local/mysql/data/mysqld.pid
      
    • chkconfig --add mysqld开机启动MySQL
    • ln -s /usr/local/mysql/bin/mysql /usr/bin添加软连接
    • /etc/init.d/mysqld start启动MySQL服务
    • mysql -uroot -p登录MySQL
    • alter user 'root'@'localhost' identified by '123456';修改密码
    • grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;授权MySQL的root用户可以在任意地址登录且能将自己权限分配给别人
    • flush privileges;刷新权限
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装dockerCentOS安装docker,可以使用以下命令: ``` sudo yum install -y docker ``` 2. 下载mysql5.7 可以从mysql官网上下载mysql5.7安装包,下载完成后将其解压到任意目录,例如 /opt/mysql。 3. 创建Dockerfile文件 在任意目录下创建 Dockerfile 文件,并编辑以下内容: ``` FROM centos:latest MAINTAINER Your Name <yourname@example.com> # 安装mysql依赖包 RUN yum -y install libaio # 复制mysql安装包到容器中 ADD /opt/mysql /opt/mysql # 配置mysql环境变量 ENV MYSQL_HOME /opt/mysql ENV PATH $MYSQL_HOME/bin:$PATH # 创建mysql用户 RUN groupadd mysql RUN useradd -g mysql mysql # 修改mysql安装包权限 RUN chown -R mysql:mysql $MYSQL_HOME RUN chmod -R 755 $MYSQL_HOME # 初始化mysql RUN $MYSQL_HOME/scripts/mysql_install_db --user=mysql # 设置启动脚本 ADD /opt/mysql/support-files/mysql.server /etc/init.d/mysqld RUN chmod +x /etc/init.d/mysqld # 设置容器启动时自动启动mysql RUN chkconfig mysqld on # 设置mysql默认编码为utf8 RUN echo "character-set-server=utf8" >> /etc/my.cnf # 暴露mysql默认端口 EXPOSE 3306 # 启动命令 CMD service mysqld start && tail -f /dev/null ``` 4. 构建docker镜像 在Dockerfile文件所在目录下,执行以下命令: ``` sudo docker build -t mysql5.7 . ``` 其中,mysql5.7是镜像名称,可以根据需要自行修改。 5. 运行docker容器 在运行docker容器之前,需要先创建一个数据卷,用于持久化mysql数据。可以执行以下命令创建数据卷: ``` sudo docker volume create mysql_data ``` 创建数据卷后,可以执行以下命令运行docker容器: ``` sudo docker run -d --name mysql -p 3306:3306 -v mysql_data:/var/lib/mysql mysql5.7 ``` 其中,mysql是容器名称,可以根据需要自行修改。-p参数用于映射容器内部的3306端口到主机的3306端口,-v参数用于挂载数据卷。 至此,基于centos封装mysql5.7docker镜像就已经完成了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值