一、查看操作系统环境和目录结构,并创建mysql用户和组,以及规划安装mysql所需要的目录。
#cat /etc/issue
查看发行版本信息:
#cat /proc/version
查看正在运行的内核版本信息
#uname -a
查看电脑以及操作系统的相关信息。
#df -Th
查看系统目录结构和存储空间分配情况
创建组:
#sudo groupadd mysql
创建用户并指定用户所属组:
#sudo useradd -r -g mysql mysql
创建mysql的安装目录:
#mkdir -p /usr/local/mysql5727/installdir
创建mysql的数据存放目录:
#mkdir -p /usr/local/mysql5727/datadir/3306/data
创建mysql的源码存放目录:
#mkdir -p /usr/local/mysql5727/src
创建mysql的日志存放目录:
#mkdir -p /usr/local/mysql5727/logdir/3306
二、安装准备工具
1、安装cmake工具,因为MySQL是使用cmake可跨平台生成makefile文件工具。
#sudo apt-get install cmake
2、安装bison工具,它是Linux下C/C++语法分析器。
#sudo apt-get install bison
3、安装gcc工具,Linux下C语言编译工具,mysql源码编译由C和C++编写(Ubuntu默认已装)
#sudo apt-get install gcc
4、安装ncurses工具,因为它是字符终端处理库。
#sudo apt-get install libncurses5-dev
三、下载mysql和mysql-boost
下载:https://dev.mysql.com/downloads/mysql/5.7.html#downloads
这里需要下载上面两个文件,一个是mysql,另一个是mysql-boost,其中mysql-boost是mysql的依赖,必须下载。然后解压这两个文件时,不要解压到同一个文件中去了,因为这两者的解压目录相同,故会解压到同一个文件中合并了。
四、解压mysql和mysql-boost文件
#sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql5727/installdir -DMYSQL_DATADIR=/usr/local/mysql5727/datadir/3306/data -DMYSQL_UNIX_ADDR=/tmp/mysql3306.sock -DMYSQL_TCP_PORT=3306 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=ON -DSYSCONFDIR=/etc -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/mysql5727/src/mysql-boost
解释:
DCMAKE_INSTALL_PREFIX:指定MySQL程序的安装目录,默认/usr/local/mysql
DEFAULT_CHARSET:指定服务器默认字符集,默认latin1
DEFAULT_COLLATION:指定服务器默认的校对规则,默认latin1_general_ci
ENABLED_LOCAL_INFILE:指定是否允许本地执行LOAD DATA INFILE,默认OFF
WITH_COMMENT:指定编译备注信息
WITH_xxx_STORAGE_ENGINE:指定静态编译到mysql的存储引擎,MyISAM,MERGE,MEMBER以及CSV四种引擎默认即被编译至服务器,不需要特别指定。
WITHOUT_xxx_STORAGE_ENGINE:指定不编译的存储引擎
SYSCONFDIR:初始化参数文件目录
MYSQL_DATADIR:数据文件目录
MYSQL_TCP_PORT:服务端口号,默认3306
MYSQL_UNIX_ADDR:socket文件路径,默认/tmp/mysql.sock
-DWITH_BOOST:指定解压后的mysql-boost目录
用cmake配置mysql预编译参数:
-DCMAKE_INSTALL_PREFIX:安装路径
-DMYSQL_DATADIR:数据存放目录
-DWITH_BOOST:boost源码路径
-DSYSCONFDIR:my.cnf配置文件目录
-DEFAULT_CHARSET:数据库默认字符编码
-DDEFAULT_COLLATION:默认排序规则
-DENABLED_LOCAL_INFILE:允许从本文件导入数据
-DEXTRA_CHARSETS:安装所有字符集
#sudo make -j 2
#make install
配置mysql:
初始化数据库: