第七章 安装最新版 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