0%

CentOS 使用指南

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

AppStream下载元数据失败

主要参考阿里云的CentOS 镜像,设置完成后还会提示AppStream下载元数据失败的问题,需要把整个/etc/yum.repos.d 整个目录备份,重新创建一个,再执行就好了。

1
2
3
mv /etc/yum.repos.d /etc/yum.repos.d.backup
mkdir /etc/yum.repos.d

VirtualBox安装

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

查看 CentOS 版本

1
2
cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core)

查看网络配置

1
ip addr

防火墙

CentOS 8 使用firewall管理防火墙

基本使用

1
2
3
4
5
systemctl start firewalld # 启动
systemctl stop firewalld # 关闭
systemctl status firewalld # 查看状态
systemctl disable firewalld # 开机禁用
systemctl enable firewalld # 开机启用

配置firewalld-cmd

查看版本

1
firewall-cmd --version

查看运行状态

1
firewall-cmd --state

添加端口

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

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

1
firewall-cmd --reload

查看所有端口

1
firewall-cmd --list-ports

删除某一端口

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

安装Mysql 8.0

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

1
yum install @mysql:8.0 -y

启动服务以及开机启动

1
2
systemctl start mysqld
systemctl enable mysqld

密码设置

1
mysql_secure_installation

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

创建用户

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

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

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

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

1
flush privileges;

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

提示密码设置简单错误

1 查看当前安全变量值

1
mysql> SHOW VARIABLES LIKE 'validate_password%';

2 修改变量

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

3 然后退出后再执行

1
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

常用命令

1
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

1
yum install certbot

申请通配符域名的证书,这个涉及域名验证,需要在DNS解析增加_acme-challengeTXT记录。需要注意的事通配符域名外还要加上完整域名,之前的没有注意,结果直接访问完整域名时提示证书不安全。参考手动申请 Let’s Encrypt 通配符证书

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

注意的是两个域名之间的逗号后面不要跟空格

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

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