centos7 环境安装
一:yum命令工具使用举例
https://www.cnblogs.com/ITsqh/p/11531563.html
yum update 升级系统
yum install ~ 安装指定软件包
yum update ~ 升级指定软件包
yum remove ~ 卸载指定软件

1.Centos7Yum安装PHP7.2 --成功
https://www.cnblogs.com/lamp01/p/10101659.html

1、安装源
安装php72w,是需要配置额外的yum源地址的,否则会报错不能找到相关软件包。
rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epe...
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

当然,您也可以选择下面的这个命令,也是一样的效果。
yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-pecl-redis

yum search php

php-v
php-m

systemctl enable php-fpm.service #
systemctl start php-fpm.service #启动
systemctl restart php-fpm.service #重启
systemctl stop php-fpm.service #关闭
systemctl status php-fpm.service #检查状态

2. CentOS 7 yum安装 PHP7.3 教程--成功

查询php 版本yum search php

  1. 首先安装 EPEL 源:
    yum install epel-release

安装 REMI 源:
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

  1. 安装 Yum 源管理工具:
    yum install yum-utils
  2. 安装 PHP7.3:

yum install -y php73-php-fpm php73-php-cli php73-php-bcmath php73-php-gd php73-php-json php73-php-mbstring php73-php-mcrypt php73-php-mysqlnd php73-php-opcache php73-php-pdo php73-php-pecl-crypto php73-php-pecl-mcrypt php73-php-pecl-geoip php73-php-recode php73-php-snmp php73-php-soap php73-php-pecl-swoole4 php73-php-pecl-redis4

  1. 查询php位置
    find / -name php
    whereis php
  2. 查看 PHP
    验证一下是否安装成功:
    php73 -v

image.png

  1. 安装完成后最好重启一下计算机,不然有可能无法启动php
    设置开机启动、运行服务:

systemctl restart php73-php-fpm #重启
systemctl start php73-php-fpm #启动
systemctl stop php73-php-fpm #关闭
systemctl status php73-php-fpm #检查状态

  1. 卸载PHP
    yum -y remove php*

======================================================================================================================================

二. nginx 环境安装 --成功
yum install nginx
ngixn -t
nginx -verson
nginx version: nginx/1.20.1

image.png

三. Mysql 数据库安装mysql5.6

whereis mysql

1.使用yum remove命令进行删除
yum remove mysql mysql-server mysql-libs

https://www.cnblogs.com/jhxxb/p/11156902.html

、选择 MySQL 的版本并安装

安装源,会在 /etc/yum.repos.d/ 下生成 mysql-community.repo 和 mysql-community-source.repo 文件

sudo rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-4.noa...

查看 yum 源中是否有 mysql 安装包

sudo yum repolist all | grep mysql

安装管理工具

yum install -y yum-utils

禁用 mysql 8.0

yum-config-manager --disable mysql80-community

启用 mysql 5.7

yum-config-manager --enable mysql57-community

安装

yum install -y mysql-community-server

三、相关设置与启动

开启服务

systemctl start mysqld.service

开机自启动

systemctl enable mysqld.service

检查 MySQL 服务器的状态

systemctl status mysqld.service

查看端口

netstat -ln | grep 3306

从日志文件中获取 root 账户初始密码

grep "password" /var/log/mysqld.log

直接用该密码登陆会要求改密码,最好先进行向导操作

安全向导

mysql_secure_installation

初始化服务

输入 root 初始密码,初始密码中有特殊字符时需转义

Enter password for user root:

设置新密码,密码太简单会提示错误:Your password does not satisfy the current policy requirements

New password

是否确认修改 root 密码

Change the password for root

是否删除匿名用户

Remove anonymous users

是否禁止 root 远程登录

Disallow root login remotely

是否删除 test 数据库

Remove test database and access to it

是否现在刷新权限

Reload privilege tables now

设置简单密码

-- 查看密码策略
SHOW VARIABLES LIKE 'validate_password%';

-- 修改密码策略,修改密码检查强度和密码长度就可以
-- 8.0 之前
set global validate_password_policy=0;
set global validate_password_length=4;
-- 8.0 之后
set global validate_password.policy=0;
set global validate_password.length=4;

-- 修改当前用户密码
ALTER USER USER() IDENTIFIED BY '123456';
-- 修改指定用户密码
ALTER user 'root'@'localhost' IDENTIFIED BY '123456';

7 忘记 root 密码情况下设置密码

编辑配置文件

vim /etc/my.cnf

文件最后添加免密登陆,MySQL 8 不可以

skip-grant-tables

重启 mysql 服务

systemctl restart mysqld.service

登陆 mysql,不用密码

mysql -uroot

清空密码

-- 清空指定账户密码
use mysql;
update user set authentication_string = '' where user = 'root';

-- 退出 mysql,删除免密登陆配置,重启 mysql 服务,用空密码登陆,然后进行修改密码操作

添加远程访问权限
添加远程访问权限首先开放本机 3306 端口或关闭防火墙
图片

iptables

开放端口

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存配置

service iptables save

firewalld

开放端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启 firewall

firewall-cmd --reload

查看已开放端口

firewall-cmd --list-ports

关闭防火墙

systemctl stop firewalld.service

关闭开机自启

systemctl disable firewalld.service
图片
为已有用户添加远程访问权限
图片
-- 选择 mysql 数据库
use mysql;

-- 修改指定用户登录位置,%为任意地址,可配置指定IP
update user set host = '%' where user = 'root';

-- 修改登陆密码和加密规则,8 版本默认的认证插件为 Caching_sha2_password,原来是 mysql_native_password,不修改 Navicat 等工具连接会认证失败
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

-- 刷新权限
flush privileges;
图片
创建新用户并添加远程访问权限
图片
-- 创建用户(user1为用户名,%为登陆地址任意ip,也可指定,123456为登录密码)
CREATE USER 'user1'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

-- 默认创建的用户是无权限,只能登录而已,(all:所有权限,有select,update等等权限,后面的.:指定数据库.指定表,这里指所有,to后面是用户)
grant all on . to 'user1'@'%';

-- 刷新权限
flush privileges;
图片
查看登陆权限use mysql;
select host,user from user; 四、配置(/etc/my.cnf)Linux 上修改 /etc/my.cnf。windows 上 my.ini,一般会在安装目录的根目录。Linux 用 rpm 包安装的 MySQL 没有 /etc/my.cnf 文件,默认用 /usr/share/mysql/my-medium.cnf,复制 /usr/share/mysql 目录下的 .cnf 文件到 /etc 目录,并改名为 my.cnf 即可。注:linux 上修改 datadir 路径到其它磁盘后可能会出现服务启动失败的情况,这时关闭 selinux 即可。
图片
[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]

编码,https://juejin.cn/post/6930390275575513101

character-set-server = utf8mb4

排序规则

collation-server = utf8mb4_unicode_ci

关闭密码验证,可设置简单密码

validate_password = off

存储引擎

default-storage-engine = INNODB

免密登陆,8.0 不可用

skip-grant-tables

如果要设置属性为大小写不敏感,要在重启数据库实例之前就需要将原来的数据库和表转换为小写,否则将找不到数据库名

lower_case_table_names = 0

时区

default-time_zone = '+8:00'
图片
 五、常用命令
图片
-- 查看版本
select version();

-- 查看日志文件位置
select @@log_error;

-- 查看数据文件位置
select @@datadir;
图片
存储引擎
图片
-- 查看储存引擎,Support列,YES表示支持,DEFAULT表示默认,NO表示不支持
show engines;
show variables like '%storage_engine%';

-- 设置储存引擎
SET default_storage_engine = InnoDB;
图片
查看编码,修改编码(已创建的表或库)
图片
-- 查看编码
SHOW VARIABLES LIKE '%character%';
-- 查看排序规则
SHOW VARIABLES LIKE 'collation%';

-- 设置编码
SET NAMES utf8;

-- 修改已创建数据库的字符集
alter database mydb character set 'utf8mb4';
-- 修改已创建数据表的字符集
alter table mytbl convert to character set 'utf8mb4';

-- 已经乱码数据,无论是修改 mysql 配置文件或是修改库、表字符集,都无法改变已经变成乱码的数据。
-- 只能删除数据重新插入或更新数据才可以完全解决
图片
大小写不敏感,Windows 系统默认大小写不敏感,但 Linux 系统是大小写敏感的
图片
-- 查看
show variables like '%lower_case_table_names%'

-- 0 大小写敏感
-- 1 大小写不敏感。创建的表,数据库都是以小写形式存放在磁盘上,对于 sql 语句都是转换为小写对表和 DB 进行查找
-- 2 创建的表和 DB 依据语句上格式存放,凡是查找都是转换为小写进行
图片
修改时区
图片
-- 查看时间
SELECT NOW();
-- 查看时区
SHOW VARIABLES LIKE '%time_zone%';

-- 临时修改,重启 MySQL 服务后失效
SET GLOBAL time_zone='+8:00';
flush privileges;
图片
 https://dev.mysql.com/doc/mysql-yum-repo-quick-guide/enhttps:... & https://dev.mysql.com/doc/refman/8.0/en/server-configuration-...中文 5.1:https://dev.mysql.com/doc/index-archive.html & https://jhxxb.gitee.io/blog/refman-5.1-zh.html-chapter/index.... & http://ourmysql.com & https://imysql.com


彼岸
6 声望1 粉丝