第七章 安装最新版 MySQL
本章编译安装 MySQL 服务器的 5.7.16 版本。
0. 创建用户和目录
本服务器中准备使用名为 mysql 的用户运行 MySQL,所以先创建用户。
sudo -u admin mkdir $MYSQL_DATA -p
chown mysql $MYSQL_DATA
1. 下载源码和依赖包
本处使用 mysql-boost-5.7.16.tar.gz
。请自行下载对应的 .tgz
文件,并放到 /mnt/temp
目录下。
使用 Yum 安装依赖包,编译 MySQL 须用到。
yum install -y cmake bison ncurses-devel
2. 配置编译
tar -zxvf mysql-boost-5.7.16.tar.gz
cd mysql-5.7.16
cmake \
-DCMAKE_INSTALL_PREFIX=$MYSQL_ROOT \
-DMYSQL_DATADIR=$MYSQL_DATA \
-DWITH_ZLIB=/usr/local/zlib \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=ALL \
-DMYSQL_USER=mysql \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DWITH_BOOST=./boost \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=$MCOS_SOCKS/mysql.sock \
-DSYSCONFDIR=$MYSQL_CONFIG
3. 编译安装
make -j 4
make install
cp $MYSQL_ROOT/support-files/mysql.server /etc/init.d/mysqld
chmod 0700 /etc/init.d/mysqld
rm /etc/my* -Rf # 清除默认的 MySQL 配置
ln -s /usr/local/mysql/bin/mysql /usr/bin
若 make 的过程中出现错误,如果是 waiting for other build tasks
,可以再次执行 make
命令继续,其他情况请自行搜索解决。
4. 初始化数据库
$MYSQL_ROOT/bin/mysqld \
--initialize-insecure \
--user=mysql \
--basedir=$MYSQL_ROOT \
--datadir=$MYSQL_DATA
cp $MYSQL_ROOT/support-files/my-default.cnf $MCOS_CONFIG/my.cnf
5. 配置 MySQL
修改文件 /www/config/my.cnf
如下内容:
basedir = /usr/local/mysql
datadir = /www/database/mysql
port = 3306
pid-file = /www/pids/mysql.pid
# server_id = .....
socket = /www/socks/mysql.sock
6. 启动服务
systemctl start mysqld
7. 清理文件
以下文件如果不需要可以删掉,减少空间占用
rm -f $MYSQL_ROOT/lib/*.a
rm -f $MYSQL_ROOT/mysql-test -rf
comments powered by Disqus