从源代码构建MySQL

简介:

一直都是用的lnmp一键安装脚本,然后最近想体验一下手动的从源代码安装lnmp的感觉

环境

系统:centos7

准备

安装一下必要的工具:

yum install gcc gcc-c++ ncurses-devel perl  
安装CMake

下载

wget https://cmake.org/files/v3.7/cmake-3.7.2.tar.gz
tar -zxvf cmake-3.7.2.tar.gz
cd cmake-3.7.2
./bootstrap
make
make install
设置MySQL用户和组:
新增mysql用户组
groupadd mysql
新增mysql用户
useradd -s /sbin/nologin -g mysql -M mysql
创建mysql安装文件夹
mkdir -p /home/mysql/{data,log,tmp}
chown -R mysql:mysql /home/mysql/

安装

下载

下载mysql

wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-boost-5.7.23.tar.gz
tar -zxvf mysql-boost-5.7.23.tar.gz
编译
cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/home/mysql-boost-5.7.23/boost

因为我下载的mysql是自带boost库的,所以我直接指定文件路径就好

编译安装
make && make install

等他编译完成
可能需要一会的等待
编译完成后,添加环境变量

echo "export PATH=$PATH:/home/mysql/bin">>/etc/profile
source /etc/profile

接下来配置my.cnf
这里推荐一个自动生成my.cnf文件的网站
http://imysql.com/my-cnf-wizard.html
填写一些必要的信息,然后下载my.cnf文件
复制到/etc/

cp my.cnf /etc/
初始化:
mysqld --defaults-file=/etc/my.cnf --initialize --datadir=/home/mysql/data --user=mysql --basedir=/home/mysql
启动
mysqld_safe --defaults-file=/etc/my.cnf &

最后添加启动项,这样就可以不用一直用mysqld_safe启动mysql了

cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld

然后修改一下mysql的密码

先暂停所有的mysql服务

/etc/init.d/mysqld stop
mysqld_safe --skip-grant-tables --skip-networking &

mysql -p
mysql> update mysql.user set authentication_string=password('password') where user='root' and Host = 'localhos

然后在重新启动mysql,用你上面的密码登录就好了

文章目录
  1. 1. 简介:
  2. 2. 环境
  3. 3. 准备
    1. 3.1. 安装CMake
    2. 3.2. 设置MySQL用户和组:
    3. 3.3. 新增mysql用户组
    4. 3.4. 新增mysql用户
    5. 3.5. 创建mysql安装文件夹
  4. 4. 安装
    1. 4.1. 下载
    2. 4.2. 编译
    3. 4.3. 编译安装
    4. 4.4. 初始化:
    5. 4.5. 启动