编译mysql 5.7 源码安装常见问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译mysql 5.7 源码安装常见问题相关的知识,希望对你有一定的参考价值。

cmake版本

5.7编译cmake要求版本最低为2.8,当前为2.6,所以需要升级cmake版本。信息如下

shell> cmake . -DCMAKE_INSTALL_PREFIX=/db/mysql/mysql_57 -DMYSQL_DATADIR=/db/mysql/mysql_57/data
CMake Error at CMakeLists.txt:21 (CMAKE_MINIMUM_REQUIRED):
  CMake 2.8.2 or higher is required.  You are running version 2.6.4
-- Configuring incomplete, errors occurred!

shell> cmake --version  //查看cmake 版本
cmake version 2.6-patch 4
(若yum 安装,只需yum update 即可)

cmake官网下载地址

shell> tar zxvf cmake-3.2.2.tar.gz 
shell> cd cmake-3.2.2/
shell> ./bootstrap
shell> make && make install

shell> cmake --version
cmake version 3.2.2

BOOST库

5.7编译需要boost类库,可使用 -DDOWNLOAD_BOOST=1 -DWITH_BOOST= 参数将在指定路径查找,如未找到会指定下载并解压到指定的路径

问题描述
shell> cmake . -DCMAKE_INSTALL_PREFIX=/db/mysql/mysql_57 -DMYSQL_DATADIR=/db/mysql/mysql_57/data 

CMake suite maintained and supported by Kitware (kitware.com/cmake).


-- Could not find (the correct version of) boost.
-- MySQL currently requires boost_1_59_0

CMake Error at cmake/boost.cmake:81 (MESSAGE):
  You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=
  
  解决方法一:
shell>cmake . -DCMAKE_INSTALL_PREFIX=/db/mysql/mysql_57 -DMYSQL_DATADIR=/db/mysql/mysql_57/data -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/develepment/
解决方法二:
安装boost库
shell> wget http://nbtelecom.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gzshell> tar jxvf boost_1_57_0.tar.bz2
shell> cd boost_1_57_0/
shell> ./bootstrap.sh
shell> ./b2 install

安装后目录
shell> ls /usr/local/include/
boost

shell> cmake . -DCMAKE_INSTALL_PREFIX=/db/mysql/mysql_57 -DMYSQL_DATADIR=/db/mysql/mysql_57/data

mysql_install_db

之前版本mysql_install_db是在mysql_basedir/script下,5.7放在了mysql_install_db/bin目录下,且已被废弃。

shell> cd /db/mysql/mysql_57
shell> bin/mysql_install_db --basedir=. --datadir=data --user=mysql
[WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize

shell> bin/mysqld --initialize
2016-04-1T18:17:53.169216Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-04-1T18:17:58.702510Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-04-1T18:17:59.538811Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-04-1T18:17:59.646010Z 0 [Warning] Failed to setup SSL
2016-04-1T18:17:59.646105Z 0 [Warning] SSL error: SSL context is not usable without certificate and private key
2016-04-1T18:17:59.663795Z 1 [Warning] A temporary password is generated for [email protected]: rq/Oh8VWs1Yh

初始化密码

mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。

shell> cat /root/.mysql_secret 
# Password set for user ‘[email protected]‘ at 2015-04-22 22:13:23 
?G5W&tz1z.cN

修改默认密码
shell> bin/mysqladmin -h localhost -u root password ‘[email protected]‘ -p‘?G5W&tz1z.cN‘
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

另外mysql5.7的mysql.user表结构被修改

修改mysql.user方式修改密码
mysql> update mysql.user set authentication_string=password(‘123qwe‘) where user=‘svoid‘ and Host = ‘localhost‘;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)


以上是关于编译mysql 5.7 源码安装常见问题的主要内容,如果未能解决你的问题,请参考以下文章

源码编译安装Mysql5.7版本

在CentOS 7上源码编译安装MySQL 5.7

Mac下使用Clion调试MySQL版本5.7源码

编译安装MySQL-5.7.13

centos7 源码编译安装mysql 5.7.21

MySQL5.6与5.7区别