全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

在docker中安装mysql详解

在docker中安装mysql

ubuntu官方镜像是精简的ubuntu系统,很多软件和库没有安装,所以直接安装mysql的话依赖较多,建议直接从源码编译安装mysql

通过命令行安装

先启动一个容器,建议可以创建一个包含常用工具的便于自己使用的基本镜像,比如:包含vim、net-tools、添加阿里云镜像

1.安装编译环境

 需要gcc、cmake等环经,因为使用ubuntu的官方源较慢,所以要添加阿里云的源,但是注意,不要覆盖原来ubuntu的源,将阿里云的源放在/etc/apt/sources.list.d/aliyun.list,因为安装下面这些工具的时候,如果使用阿里云的源有些包会找不到,导致依赖不满足不能安装

复制代码 代码如下:
apt-get update && apt-get install make cmake gcc g++ bison libncurses5-dev build-essential

1.mysql 源码包下载

下载链接: https://dev.mysql.com/downloads/mysql/ , 选择合适的版本下载,这里选择 mysql-5.6.34.tar.gz

 tar -xvf mysql-5.6.34.tar.gz
 cd mysql-5.6.34

2.编译安装

配置构建

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLETION=utf8_bin DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 

# 参数说明,下面这些参数都可以在mysql安装之后配置

CMAKE_INSTALL_PREFIX=/usr/local/mysql:mysql安装路径
MYSQL_DATADIR=/usr/local/mysql/data:mysql数据文件路径
SYSCONFDIR=/etc:mysql配置文件路径
DEFAULT_CHARSET=utf8:默认字符集utf8
DEFAULT_COLLETION=utf8_bin:默认的字符校验方式,比较二进制(区分大小写)
DENABLED_LOCAL_INFILE=1:允许从本地导入数据
MYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock:mysql网络socket文件位置
MYSQL_TCP_PORT=3306:tcp端口

编译安装

make
make install

1.配置

# 添加组和系统用户
groupadd mysql
useradd -g mysql mysql

# 修改文件权限
chown -R mysql:mysql /usr/local/mysql

# 创建配置文件,以编译配置生成的配置文件模板添加自己的配置项
cp /usr/local/mysql/upport-files/my-default.cnf /etc/my.cnf
chown mysql:mysql /etc/my.cnf

# 例如参考配置
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data

# 配置环境变量
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile

# 初始化数据库
/usr/local/mysql/mysql_install_db --user=mysql

# 启动mysql
/usr/local/mysql/bin/mysqld_safe &

通过Dockerfile安装

FROM ubuntu:latest

ADD sources.list /root/sources.list
RUN cp /root/sources.list /etc/apt/sources.list.d/aliyun.list
RUN apt-get update && apt-get install -y make cmake gcc g++ bison libncurses5-dev build-essential

ADD mysql-5.6.34 /root/mysql
WORKDIR /root/mysql
RUN mkdir build
WORKDIR build
RUN cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLETION=utf8_bin -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DMYSQL_TCP_PORT=3306
RUN make
RUN make install

RUN groupadd mysql
RUN useradd -g mysql mysql
RUN chown -R mysql:mysql /usr/local/mysql

RUN echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
# RUN source /etc/profile
# 安装脚本必须在/usr/local/mysql目录下执行,因为里面会使用相对路径调用其他脚本
WORKDIR /usr/local/mysql
RUN ./scripts/mysql_install_db --user=mysql --collation-server=utf8_general_ci
EXPOSE 3036

CMD

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# docker安装mysql  # docker上安装mysql  # docker中安装mysql  # 在docker上安装运行mysql实例  # docker上安装使用mysql镜像  # Docker安装MySQL8的方法步骤  # Docker 安装 MySQL(8和5.7)  # Docker安装MySQL8.0的实现方法  # docker如何安装mysql  # Docker安装MySQL8.0的详细步骤(附图文!)  # docker安装mysql完美教程(建议收藏!)  # Docker安装MySQL及授权远程访问的详细教程  # 镜像  # 配置文件  # 自己的  # 放在  # 较多  # 下载链接  # 创建一个  # 命令行  # 大家多多  # 较慢  # 不满足  # 会找  # 没有安装  # 目录下  # gz  # tar  # data  # essential  # brush  # downloads 


相关文章: IOS倒计时设置UIButton标题title的抖动问题  建站之星Pro快速搭建教程:模板选择与功能配置指南  建站之星安装后界面空白如何解决?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站之星CMS五站合一模板配置与SEO优化指南  如何快速使用云服务器搭建个人网站?  如何在云服务器上快速搭建个人网站?  建站之星24小时客服电话如何获取?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  ,在苏州找工作,上哪个网站比较好?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  香港服务器选型指南:免备案配置与高效建站方案解析  建站主机核心功能解析:服务器选择与网站搭建流程指南  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  建站之星伪静态规则如何设置?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  如何快速搭建安全的FTP站点?  如何用腾讯建站主机快速创建免费网站?  如何用IIS7快速搭建并优化网站站点?  如何选择可靠的免备案建站服务器?  如何基于PHP生成高效IDC网络公司建站源码?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  如何生成腾讯云建站专用兑换码?  如何通过IIS搭建网站并配置访问权限?  学校建站服务器如何选型才能满足性能需求?  表情包在线制作网站免费,表情包怎么弄?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何用PHP快速搭建高效网站?分步指南  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  建站之星安装需要哪些步骤及注意事项?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  外贸公司网站制作,外贸网站建设一般有哪些步骤?  高防服务器租用如何选择配置与防御等级?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  个人网站制作流程图片大全,个人网站如何注销?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  高端云建站费用究竟需要多少预算?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  定制建站哪家更专业可靠?推荐榜单揭晓  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  Swift中swift中的switch 语句  Android自定义listview布局实现上拉加载下拉刷新功能 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。