关于从源码包安装MySQL,官方对此有详细的说明文档,具体位置:
http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

而本文接下来的部分为参考官方文档在我的环境里的实践。
——————————————————

系统要求:
cmake:
至少2.8的版本。当前官方cmake的最新版本为3.4.0,你可以从官方网站下载它,并安装。(具体的配置会在下面的章节里陈述)
官方网站 – https://cmake.org/download/
Download = https://cmake.org/files/v3.4/cmake-3.4.0.tar.gz

make(GNU make):
至少3.75的版本。最新版:4.1。
官方网站 – http://www.gnu.org/software/make/
Download = http://ftp.gnu.org/gnu/make/make-4.1.tar.gz

Gcc:
至少4.4.6,最新版:5.2
官方网站 – http://gcc.gnu.org/
Download = https://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.gz

(如果你希望运行测试脚本,你还需要Perl。)

Boost:
官方网站 – http://www.boost.org/
Download =
http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fboost%2Ffiles%2Fboost%2F1.59.0%2F&ts=1448510456&use_mirror=nchc

——————————————————
根据系统要求一步步的做安装前部署:
一、C++编译器:
首先,是C++的编译器(gcc-c++):

二、安装ncurses-devel。

如果缺少ncurses-devel,那么在生成MySQL编译配置文件的时候如果指定了“-DWITH_READLINE=ON”,则会遇到如下错误:

三、
cmake的源码包安装:http://d-prototype.com/archives/3784
查看cmake的版本:

四、
make的源码包安装:http://d-prototype.com/archives/3786
五、
Boost类库的安装与测试:http://d-prototype.com/archives/3788
——————————————————
MySQL的安装。

解压安装包:

规划:
MySQL的软件目录:/usr/local/mysql
数据目录:/data/db/mysql-data
配置文件目录:/data/db/mysql/confdir/

创建目录:

生成编译配置文件:
命令:
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/db/mysql-data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCOMPILATION_COMMENT=’Adamhuan DB’ -DWITH_READLINE=ON -DSYSCONFDIR=/data/db/mysql/confdir -DMYSQL_UNIX_ADDR=/data/db/mysql/confdir/mysql.sock

然后就可以执行编译以及安装了。

编译:make

安装前:

安装:make install

安装后:

这样,MySQL就安装好了。

启动MySQL。

创建配置文件:
官方的文档提供了一些配置文件的样例:

将配置文件模板复制到配置文件路径(/data/db/mysql/confdir/),然后做出适当的修改:

创建需要的目录结构:

创建用户:mysql

修改:limits.conf

赋予权限:

初始化MySQL数据库:
初始化之前:

开始初始化:

初始化数据目录的方法有两种。
在5.7.6之前的MySQL中,使用“mysql_install_db”,例:
bin/mysql_install_db –datadir=/data/db/mysql-data/ –basedir=/usr/local/mysql

而对于5.7.6,通过“mysqld”的“–initialize”选项操作,具体如下:

注意,最后一段话:“A temporary password is generated for …”,这是初始化时随机生成的口令,在登陆MySQL的时候使用。

初始化之后:

打开数据库:
启动MySQL数据库服务:

然后,在另一个会话中查看:

正常的情况下,这里应该是可以正常登入MySQL的客户端了,但这里却报错“Segmentation fault (core dumped)”,还在解决中。
————————————————
To be Continue。

2 thoughts on “MySQL,源码包安装”

  1. cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/db/mysql-data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_DEBUG=1 -DWITH_READLINE=ON -DSYSCONFDIR=/data/db/mysql/confdir -DMYSQL_UNIX_ADDR=/data/db/mysql/confdir/mysql.sock -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装