nginx搭建以及 CentOS7下mysql的安装

nginx 的源码编译安装

nginx 官网下载地址: http://nginx.org/en/download.html

安装nginx 依赖库
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel

下载源码包 wget http://nginx.org/download/nginx-1.12.2.tar.gz (在官网找版本然后自己切换成需要的版本)
解压下载后的压缩包
tar -zxvf nginx-1.12.2.tar.gz 进入解压出来的文件夹中
cd nginx-1.12.2
编译安装(一下二选一)
./configure ##使用默认配置,默认安装在/usr/local/nginx,下面那句是自己添加了指定的模块
如无特殊需求任意执行一句都可以
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
--prefix 参数指定nginx安装的目录 --with 安装需要的模块 按个人需要添加模块
make
make install ##编译源码并安装
-------------------------------------安装nginx中的一些问题--------------------------------
当执行到./configure。。。出现异常时,查看异常日志
checking for OS + Linux 2.6.32-042stab130.1 x86_64 checking for C compiler ... not found ./configure: error: C compiler cc is not found
yum install gcc-c++ 缺少gcc包,安装gcc即可
./configure: error: the HTTP rewrite module requires the PCRE library. 缺少pcre包
yum -y install pcre-devel 安装即可
./configure: error: the HTTP gzip module requires the zlib library. 缺少zlib包
yum install zlib zlib-devel 安装即可
然后继续执行

make  
make install

就可以了

centos 7 安装mysql

由于centos7一般默认安装有mariadb
查看本机是否安装了mariadb数据库
rpm -qa|grep mariadb
卸载上一步查出来的所有文件
rpm -e --nodeps 文件名 如果上一步没有查出东西,这一步可跳过
一般mysql安装在/usr/local
切换路径
cd /usr/local
上官网下载离线安装包
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz
解压
tar -zxvf mysql-5.6.37-linux-glibc2.12-x86_64.tar.gz(对应下载下来的压缩包名)
将解压后的文件夹改名为mysql
mv mysql-5.6.37-linux-glibc2.12-x86_64 mysql
进入文件夹目录 cd mysql
添加用户组mysql groupadd mysql
添加用户mysql ,为mysql用户 useradd -g mysql mysql
复制mysql默认配置文件到系统环境配置目录下,复制前,检查/etc/下是否有my.cnf,如果有就删除(rm -rf /etc/my.cnf)
cp support-files/my-default.cnf /etc/my.cnf
修改mysql配置文件 vim /etc/my.cnf
(按i进入编辑模式,编辑完成后按Esc 退出编辑模式,然后 :wq 保存并退出。如果编辑过程中出错。可以不保存强制退出.首先按Esc退出编辑模式,然后:q!即可强制退出 )

[mysql]
default-character-set=utf8

[mysqld]
user = mysql
basedir =/usr/local/mysql
datadir =/usr/local/mysql/data
port =3306
lower_case_table_names=1
character-set-server=utf8
default-storage-engine = INNODB
log-error = /usr/local/mysql/data/error.log
pid-file = /usr/local/mysql/data/mysql.pid

重新进入mysql目录 cd /usr/local/mysql/

修改当前目录用户为mysql chown -R mysql:mysql ./

安装mysql需要的依赖库 yum -y install autoconf

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --pid-file=/usr/local/mysql/data/mysql.pid

如果出现:Installing MySQL system tables.../usr/local/mysql//bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory yum install libaio* -y 即可

如果不报错机成功了 修改data目录的拥有着为mysql,是用户有这个文件的读写权利 chown -R mysql:mysql data

赋予配置文件最大权限 chown -R 777 /etc/my.cnf

复制服务脚本,进系统环境 cp support-files/mysql.server /etc/rc.d/init.d/mysqld

赋予服务控制执行脚本的权利 chmod +x /etc/rc.d/init.d/mysqld

添加服务进系统服务 chkconfig --add mysqld

查看服务是否生效 chkconfig --list mysqld

----------------------------------------------------------分割线------------------------------------------------------------------------------

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off (出现这个证明正常生效,开机启动)
开启服务 systemctl start mysqld
打开环境变量配置文件 vim /etc/profile
<大写的G, 即 Shift + g> 到文末,按i进入编辑模式,编辑完成后按 ESC 退出编辑模式,然后 :wq 保存并退出。如果编辑过程中出错。可以不保存强制退出:首先按 Esc 退出编辑模式,然后 :q! 即可强制退出
export PATH=$PATH:/usr/local/mysql/bin (在文件最后面添加路径,加入环境变量。)
数据库安装成功 ,然后登录数据库 mysql -u root -p
然后会出现如下内容
---------------------------------分割线---------------------------------------

[mysql@server mysql]$ mysql -u root -p Enter password:

---------------------------------分割线-------------------------------------------
第一次登陆 当出现 Enter password:时, 不用密码,直接回车
设置你自己的root密码,自己随意自定义(很重要,不要忘了密码)
set password = password('你的密码');
不要忘了最后的 分号";" 和 passwoed('') 中的单引号。
所有符号必须时英文输入模式下的标点符号
到此就大功告成了,整个数据库安装完成

常见问题:

mysql -u root -p 时出现:
-bash: mysql: command not found
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
ln -s /usr/local/mysql/bin/mysql /usr/bin

mysql创建用户,并为用户授权

grant all privileges on testDB.* to test@localhost identified by '1234';
创建test用户,密码为1234,并为他授权 testDB库中的所有表权限,仅localhost 即 本地登录
grant all privileges on testDB.* to test@'%' identified by '密码';
%表示任意地址ip都可登录
//刷新系统权限表
flush privileges;

mysql使用 binlog反编译日志文件。

如何查找mysqlbinlog 可执行文件所在目录: whereis mysqlbinlog
查找mysqlbinlog可执行文件所在目录, 然后切换到该目录下
./mysqlbinlog --no-defaults --base64-output=decode-rows -v --start-datetime='2018-10-29 14:07:00' --stop-datetime='2018-10-29 14:09:00' --database=test mysql-bin.000303 > log.log
start-datetime 选择需查看日志开始时间
stop-datetime 选择需查看日志结束时间 database=test 选择指定的数据库名 mysql-bin.000303 binlog文件名
log.log 反编译后的日志输出到指定文件