近期因工作需要,开始了对MySQL的学习。因为流程不熟悉,先后安装了两次MySQL,中间走了一些弯路。为了让大家少掉坑,也为了巩固自己的经验,下面以MySQL5.7.23-debug版本为例,对从源码安装MySQL的步骤做一个简单的梳理。
1、从github-MySQL项目下获取git-server的路径:https://github.com/mysql/mysql-server.git,这是mysql的源码库,包含所有版本的mysql源码
2、
git clone https://github.com/mysql/mysql-server.git
下载源码到本地, 用tar -zxvf
解压(需要提前安装好Git)3、5.7要添加boost库,因此需要单独下载boost库。针对MySQL5.7.23版本,网上推荐版本为1.59.0,boost所有版本的下载地址为:https://www.boost.org/users/history/
4、修改build.sh中的编译选项,主要是修改boost库所在的目录,cmake路径和源码路径(需要提前安装好cmake)
5、运行build.sh(其中运行了一个cmake),或者参考以下内容,进行源码编译:
[root@mysql software]#tar zxvf mysql-8.0.11.tar.gz
[root@mysql software]# cd mysql-8.0.11/
[root@mysql software]# mkdir Zdebug
[root@mysql software]# cd Zdebug
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNODB_MEMCACHED=ON \
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DCOMPILATION_COMMENT="zsd edition" \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=/tmp \
-DMYSQL_UNIX_ADDR=/data/mysqldata/3306/mysql.sock \
-DSYSCONFDIR=/data/mysqldata/3306 > /data/software/mysql-8.0.11/Zdebug/mysql_cmake80.log 2>&1
出现下列日志:
............
-- Configuring done
-- Generating done
-- Build files have been written to: /data/software/mysql-8.0.11/Zdebug
............
6、进到debug目录,运行make package,打成安装包
7、在mysql_root 文件夹下分别新建相应文件(base目录下放源码,base_phony下放软链接,log下放日志,data下放数据,tmp放tmp数据,其中base目录下用版本号区分,base_phony下直接链接到当前安装程序,其他目录下进一步用端口号命名,例如20220)将安装包放至相应目录
8、初始化data目录:
/../mysql_root/phony/20220/bin/mysqld --initialize-insecure --basedir=/../mysql_root/phony/20220 --datadir=/../mysql_root/data/20220
9、使用以下命令在后台运行MySQL:
/../mysql_root/phony/20220/bin/mysqld --defaults-file=/../mysql_root/data/20220/my.cnf &
10、使用
mysql -uroot -h127.1 -P20220
指命令登录 (mysql默认路径在~/.bash_profile
中,修改完,要使用source ~/.bash_profile
生效)
说明:针对不同版本的MySQL,安装流程细节可能不同,大家可以多参考几篇文章,不懂的问题多查资料。
参考内容:
1、MySQL 5.7.19 编译安装与配置
2、CentOS 7源码编译安装MySQL 8.0