[步骤] MariaDB & MySQL 的无密码登录 (使用 –login-path 命令对 MariaDB & MySQL 的密码进行加密保存)

步骤一:创建对 MariaDB & MySQL 的密码进行加密保存的设置

# mysql_config_editor set --login-path=test --user=root --host=127.0.0.1 --port=3306 --password
Endter Password:


补充:这里以
1) 创建名为 test 的设置
2) 登录用户是 root
3) 登录服务器是 127.0.0.1
4) 登录端口是 TCP 3306
5) 单独输入密码
为例

步骤二:显示所有 MariaDB & MySQL 的密码加密设置

# mysql_config_editor print --all

步骤三:使用 MariaDB & MySQL 的密码加密设置登录数据库

# mysql --login-path=test

(补充:这里以使用 test 的设置登录 MariaDB & MySQL 为例)

步骤三:删除MariaDB & MySQL 的密码加密设置

3.1 显示所有 MariaDB & MySQL 的密码加密设置

# mysql_config_editor print --all

3.2 删除对 MariaDB & MySQL 的密码进行加密保存的设置

# mysql_config_editor remove --login-patch=test

(补充:这里以删除名为 test 的密码加密设置为例)

[步骤] 系统升级 (从 Fedora 40 升级到 Fedora 42)

步骤一:升级所有已安装的软件

# sudo dnf update

步骤二:安装 Fedora 升级软件

# sudo dnf install dnf-plugin-system-upgrade

步骤三:刷新所有现有版本的软件源

# sudo dnf upgrade --refresh

步骤四:下载升级所有所需的软件

# sudo dnf system-upgrade download --releasever=42

步骤五:重启并升级系统

# sudo dnf system-upgrade reboot

(注意:系统会重启,并在后台升级系统,这个步骤可能会持续很长一段时间,根据虚拟机的硬件性能而定)

[内容] Linux 常见目录 & 文件

内容一:Linux 的 /proc/self/mountstats

目录 & 文件位置

/proc/self/mountstats

目录 & 文件性质
文件

目录 & 文件来源
Linux 安装时同时创建

目录 & 文件作用
存储系统所有挂载的文件

内容二:openSUSE & SLES 的 /etc/rc.d/ 软链接文件

目录 & 文件位置

/etc/rc.d/

目录 & 文件性质
软连接文件,指向 init.d 目录

目录 & 文件来源
由 insserv-compat 软件包安装时自动创建

目录 & 文件作用
开机是自动执行此目录 & 文件下的文件

[排错] 解决 openSUSE & SLES 安装 insserv-compat 软件包时报错 “error: unpacking of archive failed on file /etc/rc.d: cpio: File from package already exists as a directory in system”

报错命令

# zypper in insserv-compat

报错代码

error: unpacking of archive failed on file /etc/rc.d: cpio: File from package already exists as a directory in system

解决方法

步骤一:删除 /etc/rc.d 目录

# rm -r /etc/rc.d

步骤二:重新安装 insserv-compat 软件包

# zypper in insserv-compat

(补充:这里以在 openSUSE & SLES 上安装 insserv-compat 软件包为例)

[命令] Linux 命令 base64 (将多行内容变成 1 行代码以方便在 1 行命令中使用)

内容一:base64 命令直接使用的案例

1.1 将多行内容变成 1 行代码

1.1.1 创建多行内容
$ cat test.txt
line1: Eternal Center
line2: Mingyu Zhu


补充:这里以创建名为 test.txt 包含以下内容的文件为例

line1: Eternal Center
line2: Mingyu Zhu

1.1.2 将多行内容转换成 1 行代码
$ cat test.txt | base64 -w0
bGluZTE6IEV0ZXJuYWwgQ2VudGVyCmxpbmUyOiBNaW5neXUgWmh1Cg==

(补充:这里以将 test.txt 里的内容转换为 1 行代码为例)

1.2 将 1 行内容还原成多行代码

$ echo bGluZTE6IEV0ZXJuYWwgQ2VudGVyCmxpbmUyOiBNaW5neXUgWmh1Cg== | base64 -d
line1: Eternal Center
line2: Mingyu Zhu

(补充:这里以将 1 行以下代码还原成多行内容为例

bGluZTE6IEV0ZXJuYWwgQ2VudGVyCmxpbmUyOiBNaW5neXUgWmh1Cg==

内容二:base64 命令在脚本中使用的案例

# cat base64.sh

#!/bin/bash
myname=Eternal Ceneter
myurl=eternalcenter.com

YAML_CONTENT=$(cat << EOF
Kind: record
Metadata:
name: $myname
url: $myurl
EOF)

BASE64_YAML=$(echo "$YAML_CONTENT" | base64 -w0)
echo "echo '$BASE64_YAML'" | base64 -d | cat

(注意:这个脚本最后的 cat 命令可以换成任意其他命令,让人只用输入 1 行就可以让此命令处理几行内容的输入)