Jasper Ji

博观而约取,厚积而薄发。

CentOS 使用指南

2020-09-30 13:46

服务器一直使用的是CentOS,所以特做一下使用备注。基于的版本是CentOS 8.0

VirtualBox安装

使用VirtualBox安装会存在兼容问题,6.1的版本无法运行CentOS-8.1.1911,主要这个版本移除VBoxVGA的支持,所以只能使用6.0版本。

查看 CentOS 版本
cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core) 

查看网络配置

ip addr

防火墙

CentOS 8 使用firewall管理防火墙

基本使用
systemctl start firewalld # 启动
systemctl stop firewalld  # 关闭
systemctl status firewalld # 查看状态
systemctl disable firewalld # 开机禁用
systemctl enable firewalld # 开机启用
配置firewalld-cmd

查看版本

firewall-cmd --version

查看运行状态

firewall-cmd --state

添加端口

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

重新载入设置(添加端口后一定要重载设置)

firewall-cmd --reload

查看所有端口

firewall-cmd --list-ports

删除某一端口

firewall-cmd --zone= public --remove-port=80/tcp --permanent

安装Mysql 8.0

试了几种安装方式只有如下的可以安装

yum install @mysql:8.0 -y

启动服务以及开机启动

systemctl start mysqld
systemctl enable mysqld

密码设置

mysql_secure_installation

远程访问,8.0跟旧版不太一样。

创建用户

create user 'root'@'172.16.10.203' identified by  'password'

赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

grant all privileges on *.* to 'root'@'172.16.10.203' with grant option

改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里

flush privileges;

创建账户::create user ‘用户名’@‘访问主机’ identified by ‘密码’;
赋予权限:grant 权限列表 on 数据库 to ‘用户名’@‘访问主机’ ;
with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

提示密码设置简单错误

1 查看当前安全变量值

mysql> SHOW VARIABLES LIKE 'validate_password%';

2 修改变量

mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=4;

3 然后退出后再执行

mysql_secure_installation

参考

mysql版本:’for the right syntax to use near ‘identified by ‘password’ with grant option’

RHEL8 CentOS8 下安装 MySQL 8.0

mysql8.0 设置简单密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

常用命令

lsof -i: 端口号 # 查看某个端口的进程

网络管理

主要记录虚拟机桥接模式无法连接外网的问题,主要是CentOS 8使用nmcli来管理网卡。

  1. 编辑文件vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. 使用nmcli d connect ens33激活
  3. 最后使用nmcli c reload重启网卡服务,稍等片刻,就可以Ping通网络了。

HTTPS

目前使用Let’s Encrypt SSL的证书,这个是免费的,唯一的缺点是只有三个月期限,到期后重新申请就可以。

certbot-auto

主要用来certbot-auto申请。

# 获取certbot-auto
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

申请通配符域名的证书,这个涉及域名验证,需要在DNS解析增加_acme-challengeTXT记录。

./certbot-auto certonly  -d *.xxxx.com --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory

到期后的,需要删除原有证书certbot delete,重启Ngnix服务sudo systemctl restart nginx。不删除的话,会生成新的证书目录,这样的话还需要修改Ngnix的配置文件。

certbot certificates # 查看所有证书,主要是看证书是否快要过期

Comments