下载安装包 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz 下载boost wget --no-check-certificate https://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download 解压mysql包 进入到mysql源代码目录 把下载好的boost复制到mysql源代码根目录 开始编译安装 1、安装依赖 yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel 2、在mysql源代码根目录新建目录configure,并且进入到configure 执行 cmake .. -DBUILD_CONFIG=mysql_release \ -DINSTALL_LAYOUT=STANDALONE \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DENABLE_DTRACE=OFF \ -DWITH_EMBEDDED_SERVER=OFF \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_SSL=bundled \ -DWITH_ZLIB=system \ -DWITH_PAM=ON \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/mysql5720/ \ -DINSTALL_PLUGINDIR="/usr/local/mysql/mysql5720/lib/plugin" \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci \ -DWITH_EDITLINE=bundled \ -DFEATURE_SET=community \ -DCOMPILATION_COMMENT="MySQL Server (GPL)" \ -DWITH_DEBUG=OFF \ -DWITH_BOOST=.. 如果编译出现错误,请先删除CMakeCache.txt后,再重新编译: rm -rf CMakeCache.txt 如果出现下面的提示就表示成功生成了编译环境: -- Configuring done -- Generating done 3、使用make进行编译 make 编译完成后,会出现如下信息: [100%] Building CXX object sql/CMakeFiles/udf_example.dir/udf_example.cc.o Linking CXX shared module udf_example.so [100%] Built target udf_example [100%] Built target my_safe_process 4、安装 make install 5、初始化数据库 添加用户并添加至用户组中 groupadd mysql useradd -s /sbin/nologin -g mysql mysql mkdir /usr/local/mysql/mysql5720/data 存放数据的目录 mkdir /usr/local/mysql/mysql5720/log 存放日志的目录 mkdir /usr/local/mysql/mysql5720/logbin 存放bin-log的目录 chown -R mysql:mysql /usr/local/mysql/mysql5720/data chown -R mysql:mysql /usr/local/mysql/mysql5720/log chown -R mysql:mysql /usr/local/mysql/mysql5720/logbin 查看配置文件所在目录 /usr/local/mysql/mysql5720/bin/mysql --verbose --help | grep -A 1 'Default options' 输出类似: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf 依次从前到后寻找 修改配置文件 将[mysqld]项下的内容替换为: [mysqld] port=3306 端口 datadir=/usr/local/mysql/mysql5720/data 数据存放目录 log_error=/usr/local/mysql/mysql5720/log/error.log 错误日志 basedir=/usr/local/mysql/mysql5720 mysql目录 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 关闭严格模式 log-bin=/usr/local/mysql/mysql5720/logbin/mysql-bin bin-log存放目录 server-id=1 主服务器id 初始化数据库: /usr/local/mysql/mysql5720/bin/mysqld --initialize --user=mysql 然后查看数据存放目录和日志目录是否有文件生成 6、配置启动文件 cp /usr/local/mysql/mysql5720/support-files/mysql.server /etc/init.d/mysqld 修改启动文件 找到如下二行: basedir= datadir= 修改为: basedir=/usr/local/mysql/mysql5720 datadir=/usr/local/mysql/mysql5720/data 7、启动服务并初始化密码 /etc/init.d/mysqld start 查看root的初始密码 MySQL从5.7开始不支持安装后使用空密码进行登录,因此在这里需要先查询程序生成的临时密码: cat /usr/local/mysql/mysql5720/log/error.log |grep 'A temporary password' 输出类似: 2018-11-06T14:37:51.832781Z 1 [Note] A temporary password is generated for root@localhost: ij=f,.Ywh5X> 在root@localhost:后面的就是密码 ij=f,.Ywh5X> 使用临时密码登录 /usr/local/mysql/mysql5720/bin/mysql -h 127.0.0.1 -u root -p 登录后立即修改密码 alter user 'root'@'localhost' identified by 'new password'; 完成!