mysql源码安装还是二进制安装_mysql二进制和源码安装方法简介

2016就要过去了,今天写一点的mysql几种安装方法并和docker结合起来。yum和apt-get安装mysql的方法就不做介绍了,主要记录一下二进制安装和源码安装。

二进制安装速度比较快,而源码安装就会慢多了。

二进制安装(Installing MySQL on Unix/Linux Using Generic Binaries)过程可以分为:

1,下载二进制安装包

2,解压到指定目录/usr/local/webserver

3,将mysql的bin目录放到path中 export PATH=$PATH:/usr/local/mysql/bin

4,初始化实例

5,编辑配置文件

6,启动

具体过程如下

mkdir /data

yum install wget libaio -y

wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linuxglibc2.5-x86\_64.tar.gz

groupadd mysql

useradd -r -g mysql -s /bin/false mysql

tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

mkdir  /usr/local/webserver

mkdir  /mysql

mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/webserver/mysql

cd /usr/local/webserver/mysql

cp support-files/my-default.cnf /etc/my.cnf

sed -i "s/\# basedir = ...../ basedir = \/usr\/local\/webserver\/mysql/g" /etc/my.cnf

sed -i "s/\# datadir = ...../ datadir = \/mysql\/data/g" /etc/my.cnf

sed -i "s/\# socket = ...../ socket = \/tmp\/mysql.sock/g" /etc/my.cnf

bin/mysqld --initialize --user=mysql

support-files/mysql.server start --ledir=/usr/local/webserver/mysql/bin

通过Docker编辑Dockerfile 这样我们可以在本地build 或者通过把文件传上github 通过dockerhub绑定从而自动build

ubuntu 安装 docker

apt-get install docker.io

centos 安装 docker

yum install docker-io

新建Dockerfile 把下面的复制进去 然后执行

docker build -t someName .

就在本地生成了someName的image

通过docker run -it someName /bin/bash 就可以进入刚生成的容器

Dockerfile的内容如下

FROM centos

MAINTAINER sunke sunkejl@live.com

RUN mkdir /data

WORKDIR /data

RUN yum install wget libaio -y

RUN groupadd mysql

RUN useradd -r -g mysql -s /bin/false mysql

RUN wgethttps://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17-linux-glibc2.5-x86\_64.tar.gz

RUN tar -zxvf mysql-5.7.17-linux-glibc2.5-x86_64.tar.gz

RUN mkdir -p /usr/local/webserver

RUN mkdir -p /mysql

RUN mv mysql-5.7.17-linux-glibc2.5-x86_64 /usr/local/webserver/mysql

WORKDIR /usr/local/webserver/mysql

RUN cp support-files/my-default.cnf /etc/my.cnf

RUN sed -i "s/\# basedir = ...../ basedir = \/usr\/local\/webserver\/mysql/g" /etc/my.cnf

RUN sed -i "s/\# datadir = ...../ datadir = \/mysql\/data/g" /etc/my.cnf

RUN sed -i "s/\# socket = ...../ socket = \/tmp\/mysql.sock/g" /etc/my.cnf

RUN bin/mysqld --initialize --user=mysql > /data/password.md 2>&1

#RUN support-files/mysql.server start --ledir=/usr/local/webserver/mysql/bin

源码安装mysql的步骤可以分为:

1,下载源码包

2,安装必要包

3,cmake

4,make && make install

5,初始化实例

6,编辑配置文件

7,启动

如果在虚拟机上直接安装可以参考下面的Dockerfile来实现

源码安装的的Dockerfile如下

FROM centos

MAINTAINER sunke sunkejl@live.com

RUN mkdir /data

WORKDIR /data

RUN groupadd mysql

RUN useradd -r -g mysql -s /bin/false mysql

RUN yum install wget gcc wget make gcc-c++ perl openssl-devel libxml2-devel libcurl-devel libpng-devel freetype* cmake git ncurses-devel bison -y

RUN wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.17.tar.gz

RUN tar zxvf mysql-5.7.17.tar.gz

WORKDIR /data/mysql-5.7.17

RUN cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql -DMYSQL_DATADIR=/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/webserver/boost

RUN make

RUN make install

RUN mkdir -p /mysql/data

WORKDIR /usr/local/webserver/mysql/bin

#RUN ./mysqld --initialize --user=mysql --datadir=/mysql/data --basedir=/usr/local/webserver/mysql --socket=/tmp/mysql.sock

#mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

注释的内容为进入容器初始化mysql 和 重置密码

题图:(IN WIN X-Frame 2.0的机箱)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值