searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Docker Centos7 MySQL5.7 + MySQL8.0 编译环境搭建

2023-03-31 06:01:55
56
0

环境搭建

镜像下载

docker pull centos:centos7

启动容器

docker run --net bridge --privileged -itd --cpus=4 centos:centos7 /usr/sbin/init

登录容器

docker exec -it 「id」 /bin/bash

依赖安装

sudo yum install -y epel-release
sudo yum install -y wget bzip2 automake autoconf libtool make bison libaio \
    libaio-devel git openssl openssl-devel curl-devel lrzsz libffi-devel \
    ncurses-devel zip unzip perl-core perl-JSON perl-Digest-MD5 \
    && $SUDO yum clean all

Cmake 3.5以上安装

wget https://github.com/Kitware/CMake/releases/download/v3.23.3/cmake-3.23.3.tar.gz
tar -zxf cmake-3.23.3.tar.gz
cd cmake-3.23.3
./bootstrap
make && make install

Gcc & g++ 依赖
5.7:

yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm
yum install devtoolset-7-gcc-c++
source /opt/rh/devtoolset-7/enable

8.0.30:

yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm
yum install devtoolset-11-gcc-c++
source /opt/rh/devtoolset-11/enable

** 如果编译遇到以下问题:

make[3]: *** No rule to make target `/usr/lib/x86_64-linux-gnu/libssl.so', needed by `runtime_output_directory/comp_err'.  Stop.

使用ln -s /usr/lib64 /usr/lib/x86_64-linux-gnu解决

打容器镜像

固化环境,将容器打成镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
- 代码文件传入镜像
使用docker cp

MySQL 5.7 编译启动

编译

1. 进入源代码根目录

2. 创建编译目录

mkdir bld

3. 使用 cmake 编译

cd bld

cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost/boost_1_59_0 -DWITH_SSL=system -DWITH_UNIT_TESTS=OFF \
           -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=../mysql-install

make

make install

启动

创建配置文件,mysql_9888.cnf。位置随意,配置文件里的路径根据个人环境修改

# 配置文件,mysql_9888.cnf
[mysqld]
port=9888
socket=/tmp/mysql_9888.sock
datadir={your_path}/data
log_error={your_path}/log/error.log
basedir={mysql-install_path}

server-id=131 #here use ip tail
gtid_mode=on
binlog_checksum=none
enforce_gtid_consistency=on

启动命令

# 初始化并启动
cd {your_path}/mysql-install
mkdir log
./bin/mysqld --defaults-file={your_path}/mysql_9888.cnf --initialize
./bin/mysqld_safe --defaults-file={your_path}/mysql_9888.cnf &
./bin/mysql --socket=/tmp/mysql_9888.sock -uroot # 密码在error.log中

# 修改密码
mysql> set password for root@localhost = password(newpwd);

# 创建用户
mysql> create user myname@'%' identified by '******';
mysql> grant all on *.* to myname@'%' with grant option;

MySQL 8.0 编译启动

编译

1. 进入源代码根目录

2. 创建编译目录

mkdir bld

3. 使用 cmake 编译

cd bld

cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost/boost_1_79_0 -DWITH_SSL=system -DWITH_UNIT_TESTS=OFF \
           -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=../mysql-install

make

make install

启动

启动命令与5.7相似

0条评论
作者已关闭评论
lcken
3文章数
1粉丝数
lcken
3 文章 | 1 粉丝
lcken
3文章数
1粉丝数
lcken
3 文章 | 1 粉丝
原创

Docker Centos7 MySQL5.7 + MySQL8.0 编译环境搭建

2023-03-31 06:01:55
56
0

环境搭建

镜像下载

docker pull centos:centos7

启动容器

docker run --net bridge --privileged -itd --cpus=4 centos:centos7 /usr/sbin/init

登录容器

docker exec -it 「id」 /bin/bash

依赖安装

sudo yum install -y epel-release
sudo yum install -y wget bzip2 automake autoconf libtool make bison libaio \
    libaio-devel git openssl openssl-devel curl-devel lrzsz libffi-devel \
    ncurses-devel zip unzip perl-core perl-JSON perl-Digest-MD5 \
    && $SUDO yum clean all

Cmake 3.5以上安装

wget https://github.com/Kitware/CMake/releases/download/v3.23.3/cmake-3.23.3.tar.gz
tar -zxf cmake-3.23.3.tar.gz
cd cmake-3.23.3
./bootstrap
make && make install

Gcc & g++ 依赖
5.7:

yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm
yum install devtoolset-7-gcc-c++
source /opt/rh/devtoolset-7/enable

8.0.30:

yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-rh-2-3.el7.centos.noarch.rpm
yum install -y http://mirror.centos.org/centos/7/extras/x86_64/Packages/centos-release-scl-2-3.el7.centos.noarch.rpm
yum install devtoolset-11-gcc-c++
source /opt/rh/devtoolset-11/enable

** 如果编译遇到以下问题:

make[3]: *** No rule to make target `/usr/lib/x86_64-linux-gnu/libssl.so', needed by `runtime_output_directory/comp_err'.  Stop.

使用ln -s /usr/lib64 /usr/lib/x86_64-linux-gnu解决

打容器镜像

固化环境,将容器打成镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
- 代码文件传入镜像
使用docker cp

MySQL 5.7 编译启动

编译

1. 进入源代码根目录

2. 创建编译目录

mkdir bld

3. 使用 cmake 编译

cd bld

cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost/boost_1_59_0 -DWITH_SSL=system -DWITH_UNIT_TESTS=OFF \
           -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=../mysql-install

make

make install

启动

创建配置文件,mysql_9888.cnf。位置随意,配置文件里的路径根据个人环境修改

# 配置文件,mysql_9888.cnf
[mysqld]
port=9888
socket=/tmp/mysql_9888.sock
datadir={your_path}/data
log_error={your_path}/log/error.log
basedir={mysql-install_path}

server-id=131 #here use ip tail
gtid_mode=on
binlog_checksum=none
enforce_gtid_consistency=on

启动命令

# 初始化并启动
cd {your_path}/mysql-install
mkdir log
./bin/mysqld --defaults-file={your_path}/mysql_9888.cnf --initialize
./bin/mysqld_safe --defaults-file={your_path}/mysql_9888.cnf &
./bin/mysql --socket=/tmp/mysql_9888.sock -uroot # 密码在error.log中

# 修改密码
mysql> set password for root@localhost = password(newpwd);

# 创建用户
mysql> create user myname@'%' identified by '******';
mysql> grant all on *.* to myname@'%' with grant option;

MySQL 8.0 编译启动

编译

1. 进入源代码根目录

2. 创建编译目录

mkdir bld

3. 使用 cmake 编译

cd bld

cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../boost/boost_1_79_0 -DWITH_SSL=system -DWITH_UNIT_TESTS=OFF \
           -DBUILD_CONFIG=mysql_release -DCMAKE_INSTALL_PREFIX=../mysql-install

make

make install

启动

启动命令与5.7相似

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0