第七章 安装最新版 MySQL

该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/book/minicentos-handbook/07.compile-mysql/

本章编译安装 MySQL 服务器的 5.7.16 版本。

0. 创建用户和目录

本服务器中准备使用名为 mysql 的用户运行 MySQL,所以先创建用户。

1sudo -u admin mkdir $MYSQL_DATA -p
2chown mysql $MYSQL_DATA

1. 下载源码和依赖包

本处使用 mysql-boost-5.7.16.tar.gz。请自行下载对应的 .tgz 文件,并放到 /mnt/temp 目录下。

使用 Yum 安装依赖包,编译 MySQL 须用到。

1yum install -y cmake bison ncurses-devel

2. 配置编译

 1tar -zxvf mysql-boost-5.7.16.tar.gz
 2cd mysql-5.7.16
 3cmake \
 4 -DCMAKE_INSTALL_PREFIX=$MYSQL_ROOT \
 5 -DMYSQL_DATADIR=$MYSQL_DATA \
 6 -DWITH_ZLIB=/usr/local/zlib \
 7 -DDEFAULT_CHARSET=utf8 \
 8 -DDEFAULT_COLLATION=utf8_general_ci \
 9 -DWITH_EXTRA_CHARSETS=ALL \
10 -DMYSQL_USER=mysql \
11 -DWITH_MYISAM_STORAGE_ENGINE=1 \
12 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
13 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
14 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
15 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
16 -DWITH_BOOST=./boost \
17 -DMYSQL_TCP_PORT=3306 \
18 -DMYSQL_UNIX_ADDR=$MCOS_SOCKS/mysql.sock \
19 -DSYSCONFDIR=$MYSQL_CONFIG

3. 编译安装

1make -j 4
2make install
3cp $MYSQL_ROOT/support-files/mysql.server /etc/init.d/mysqld
4chmod 0700 /etc/init.d/mysqld
5rm /etc/my* -Rf   # 清除默认的 MySQL 配置
6 ln -s /usr/local/mysql/bin/mysql /usr/bin

若 make 的过程中出现错误,如果是 waiting for other build tasks,可以再次执行 make 命令继续,其他情况请自行搜索解决。

4. 初始化数据库

1$MYSQL_ROOT/bin/mysqld \
2 --initialize-insecure \
3 --user=mysql \
4 --basedir=$MYSQL_ROOT \
5 --datadir=$MYSQL_DATA
6cp $MYSQL_ROOT/support-files/my-default.cnf $MCOS_CONFIG/my.cnf

5. 配置 MySQL

修改文件 /www/config/my.cnf 如下内容:

1basedir = /usr/local/mysql
2datadir = /www/database/mysql
3port = 3306
4pid-file = /www/pids/mysql.pid
5# server_id = .....
6socket = /www/socks/mysql.sock

6. 启动服务

1systemctl start mysqld

7. 清理文件

以下文件如果不需要可以删掉,减少空间占用

1rm -f $MYSQL_ROOT/lib/*.a
2rm -f $MYSQL_ROOT/mysql-test -rf
comments powered by Disqus