Linux下编译Nginx以及Mysql

Nginx

  • 下载
wget  https://nginx.org/download/nginx-1.25.3.tar.gz
  • 安装编译器
yum -y install gcc gcc- c++ pcre pcre-devel gd-devel openssl-devel  zlib zlib-devel
  • 解压缩
tar xzvf nginx-1.25.3.tar.gz
  • 进入目录
cd nginx-1.25.3/
  • 配置安装参数
./configure --prefix=/usr/local/nginx \
--group=nginx \
--user=nginx \
--sbin-path=/usr/local/nginx/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf
过程当中如果出错,删除Makefile文件后重新配置
  • 编译以及编译安装
make && make install

启动Nginx

./usr/local/nginx/bin/nginx   //带其他参数

Mysql编译

  • 下载带boost的包
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-boost-5.7.36.tar.gz?spm=a2c6h.25603864.0.0.474e63afypHFbr -O mysql-boost-5.7.36.tar.gz
  • 解压缩
tar zxvf mysql-boost-5.7.36.tar.gz

  • 创建用户
useradd -r mysql -M -s /sbin/nologin

安装编译环境

yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make cmake

创建文件存放位置

mkdir -p /usr/local/{data,mysql,log}

预编译


cmake . \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DINSTALL_MANDIR=/usr/share/man \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1
  • 开始编译
make -j4 && make install
  • 进入安装目录修改权限
chown -R mysql.mysql .
  • 初始化
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data    

初始化,只需要初始化一次,初始化完成之后,一定要记住提示最后的密码用于登陆或者修改密码

vim /etc/my.cnf 

删除旧配置文件之后,再添加如下内容

[mysqld]
basedir=/usr/local/mysql       #指定安装目录
datadir=/usr/local/mysql/data  #指定数据存放目录

在后台启动

./bin/mysqld_safe --user=mysql &
  • 登录
/usr/local/mysql/bin/mysql -uroot -p

密码在之前初始化出来的日志里

登录

mysql
mysql> update mysql.user set password=password("456") where user="root" and host="localhost";
mysql> flush privileges;
mysql> \q

修改好密码之后注释掉skip-grant-table,重启服务即可使用修改后的密码进入数据库