MySQL5.7 的编译安装

时间:2022-08-06 01:29:57

转:

5.7的安装: https://www.insp.top/article/make-install-mysql-5-7

5.6的安装: https://www.chenyudong.com/archives/building-mysql-5-6-from-source.html

直接开始吧。

一切从必要依赖开始。

  1. yum install -y gcc gcc-c++ ncurses-devel perl

本文中系统为 CentOS 7,不同系统的软件包管理器可能用法不同,但需求类似,请准备好 gcc gcc++ ncurses 及 perl 相关编译器或依赖库即可。

必要的文件准备:

首先需要安装 cmake,因此解压刚刚下载的 cmake 3.4.1 编译安装,步骤如下:

  1. tar -xzvf cmake-3.4.1.tar.gz
  2. cd cmake-3.4.1
  3. ./bootstrap
  4. make && make install

安装完 cmake,就开始着手 MySQL 编译安装的步骤。首先为添加 MySQL 对应的系统账户,用于保证其本地文件权限分配:

  1. groupadd mysql
  2. useradd -r -g mysql mysql

创建数据库目录:

  1. mkdir -p /var/mysql/data
  2. chown mysql:mysql /var/mysql/data

开始准备编译安装,解压 mysql-boost-5.7.10.tar.gz 并进入其解压后的 mysql-5.7.10目录,在该目录下执行:

  1. cmake \
  2. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  3. -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
  4. -DDEFAULT_CHARSET=utf8mb4 \
  5. -DDEFAULT_COLLATION=utf8mb4_general_ci \
  6. -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  7. -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  8. -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  9. -DMYSQL_DATADIR=/var/mysql/data \
  10. -DMYSQL_TCP_PORT=3306 \
  11. -DWITH_BOOST=boost

除了上述参数,编译安装的参数还有很多很多,若需要了解每一个参数的具体含义或者参数的默认值,可以到 MySQL 官网的文档里查阅,在此给出这一版本的查阅地址:http://dev.mysql.com/doc/refman/5.7/en/source-configuration-options.html

执行完 cmake 的配置过程,就需要开始准备最为 漫长的 的编译过程,根据不同机器的配置,时间大约在 2 小时左右(低配情况下 4 小时以上也是可能的)。执行编译和安装操作已经很熟悉了: make && make install

好的,进行完以上步骤,首先需要改变 mysql 安装目录的所有者,比如我们安装的目录是/usr/local/mysql,使用命令

chown -R mysql:mysql /usr/local/mysql

修改目录所有者。此时,复制一份默认配置文件

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

如果提示已存在文件是否覆盖时,覆盖即可。

然后执行数据库的初始化操作,

/usr/local/mysql/bin/mysqld --initialize --user=mysql

这时候会初始化数据库并创建一个数据库 root 账号,但是要注意,和以前不一样的是,这个账号是有默认密码的,初始化的时候屏幕上会输出初始化的密码,如果错过了,可以通过查看 /root/.mysql_secret 即可看到默认的密码。

执行 cp /usr/local/mysql/support-files/mysql.server /etc/init.d,将 mysql 的服务启动脚本复制过去,然后执行 service mysql.server start 启动 mysql。

最后 /usr/local/mysql/bin/mysql -u root -p,输入密码回车,通过

set password=password('你的密码');

来修改默认密码

至此,基本的安装流程完毕!你可以根据需要,将 mysql 加入开启启动,也可以将/usr/local/mysql/bin 下的文件加入 PATH 环境变量,更多使用方式可以参考官方文档,写的十分细致。