源码安装需要编译
源码安装的工具包需要配齐,以下是安装工具包
yum info gcc-c++
yum -y install make gcc-c++ cmakebison-devel ncurses-devel bison perl perl-devel
man make
man cmake
注意:如果下载的是没有包含boost库的源代码,可能会报如下错误:
cmake error at cmake/boost.cmake:81(MESSAGE):
youcan download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
This cmake script will look for boost in <directory>. If it is not there,
itwill download and unpack it (in that directory) for you.
其解决方案就是,cmake加上如下参数,-DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1-DWITH_BOOST=/usr/local/mysql/boost
此时就会在指定目录搜索boost,没有的话就会在线下载并解压到该目录,如果网速不好,在线下载经常会失败。
需要建立好相关目录
mkdir/var/lib/mysql
……
需要在 etc下面创建my.cnf文件,并添加如下配置
[mysqld]
basedir=/usr/local/mysql-5.7.21
datadir=/var/lib/mysql
port=3306
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/usr/local/mysql /mysql.sock
注意basedir和datadir目录必须和初始化一致,否则会报Starting MySQL.. ERROR! The server quit without updating PID file(/var/lib/mysql..)等错误,大部分问题都是配置文件引起的。
还有一个mysql状态是exited,
systemctl start mysqld.service
Starting mysqld (via systemctl):
Jobfor mysqld.service failed because the control process exited with error code. See"systemctl status mysqld.service" and "journalctl -xe" fordetails. [FAILED]
直接关掉mysql然后再启动就好了
systemctl stop mysqld.service --关闭
systemctl start mysqld.service --启动
systemctl start mysqld.service再查看一下状态就是running了