最基本的 Linux 虚拟机配置(文末有已完成基本配置的 CentOS 7 系统链接供小白直接使用)
一. 新建虚拟机
点击从光盘或映像中安装,选择默认的CentOS 7系统安装文件(点击该链接百度网盘直接下载https://pan.baidu.com/s/1OS-sEpMdowTuKZRRbFBEjw,但未必长期保存,可尝试),如下图所示:
点击继续后
可以使用快捷安装,可以在此输入你想要的显示名称、账户名及密码。
直接继续即可,内存可以根据电脑具体情况而定,1~2 GB正常操作够了。
点击 完成 - 存储 即可。
接下来,点击 文件 - 打开并运行,选择刚安装好的 CentOS 7 64 位光盘,开始正式安装系统。
漫长的等待之后…
如果只想用 root 管理员账户(推荐新手这样就行了)
,不需要进行 user creation,直接等待即可。 root password is set 是因为刚才快捷安装的时候已设定。
密码我统一设定为:learnlinux
好啦,等了很久,系统安装完输入密码,就可以开始我们的 mysql 安装啦!
二、安装 MySQL
我首先针对可访问外网的朋友们进行不修改镜像源教学:
在 Linux 系统上安装 MySQL 的步骤可能会因使用的 Linux 发行版(例如 CentOS、RHEL、Ubuntu、Debian 等)而有所不同。下面我将分别介绍在 CentOS/RHEL 和 Ubuntu/Debian 系统上安装 MySQL 的方法。
在 CentOS/RHEL 上安装 MySQL
下载并安装 MySQL 的官方 Yum Repository:
wget https://dev.mysql.com/get/mysql80-community-release-el7-9.noarch.rpmsudo rpm -ivh mysql80-community-release-el7-9.noarch.rpm
安装 MySQL 社区服务器:
sudo yum install mysql-community-server
执行这一步八成是会报错的
[user@localhost ~]$ sudo yum install mysql-community-serverLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileCould not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error" One of the configured repositories failed (Unknown), and yum doesn't have enough cached data to continue. At this point the only safe thing yum can do is fail. There are a few ways to work "fix" this: 1. Contact the upstream for the repository and get them to fix the problem. 2. Reconfigure the baseurl/etc. for the repository, to point to a working upstream. This is most often useful if you are using a newer distribution release than is supported by the repository (and the packages for the previous distribution release still work). 3. Run the command with the repository temporarily disabled yum --disablerepo=<repoid> ... 4. Disable the repository permanently, so yum won't use it by default. Yum will then just ignore the repository until you permanently enable it again or use --enablerepo for temporary usage: yum-config-manager --disable <repoid> or subscription-manager repos --disable=<repoid> 5. Configure the failing repository to be skipped, if it is unavailable. Note that yum will try to contact the repo. when it runs most commands, so will have to try and fail each time (and thus. yum will be be much slower). If it is a very temporary problem though, this is often a nice compromise: yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=trueCannot find a valid baseurl for repo: base/7/x86_64
怎么解决呢?如下:
- 更改 yum 仓库配置
如果 DNS 设置没有问题,但仍然无法获取软件包,您可以尝试更改 yum 的仓库配置:
[base]name=CentOS-$releasever - Basebaseurl=http://vault.centos.org/7.9.2009/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[updates]name=CentOS-$releasever - Updatesbaseurl=http://vault.centos.org/7.9.2009/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[extras]name=CentOS-$releasever - Extrasbaseurl=http://vault.centos.org/7.9.2009/extras/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[centosplus]name=CentOS-$releasever - Plusbaseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/gpgcheck=1enabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
保存文件 并尝试重新运行 yum 命令。执行
sudo yum clean all
命令,清除 yum 缓存再次安装成功
接下来又遇到了新的问题:
很好理解,可以当做是密钥GPG 解析失败。我采用的是临时跳过 GPG 解析:
在使用 yum 安装或更新软件包时,可以使用 --nogpgcheck 参数来跳过 GPG 检查:
sudo yum install mysql-community-server --nogpgcheck
成功!
如果想要配置国内镜像:
修改
/etc/yum.repo.d/mysql-community.repo
文件中的[mysql80-community]
中的baseUrl
参数,修改内容如下(这是我搜到的,我并未尝试,仅供参考):[mysql80-community]name=MySQL 8.0 Community Serverbaseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-8.0-community-el7-$basearch/enabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
启动 MySQL 服务并设置为开机自启:
sudo systemctl start mysqldsudo systemctl enable mysqld
查看 MySQL 的初始 root 密码:
在 MySQL 安装过程中,会自动生成一个 root 用户的初始密码,可以通过以下命令查看:
sudo grep 'temporary password' /var/log/mysqld.log
通过命令行完成 MySQL 安装后的安全设置:(可忽略)
sudo mysql_secure_installation
根据提示设置 root 密码、删除匿名用户、禁用远程 root 登录、删除测试数据库等。
在 Ubuntu/Debian 上安装 MySQL
更新包列表:
sudo apt-get update
安装 MySQL 服务器:
sudo apt-get install mysql-server
启动 MySQL 服务并设置为开机自启:
sudo systemctl start mysqlsudo systemctl enable mysql
通过命令行完成 MySQL 安装后的安全设置:
sudo mysql_secure_installation
根据提示设置 root 密码、删除匿名用户、禁用远程 root 登录、删除测试数据库等。
检查 MySQL 状态
安装完成后,可以通过以下命令检查 MySQL 服务的状态:
sudo systemctl status mysqld # CentOS/RHELsudo systemctl status mysql # Ubuntu/Debian
连接 MySQL
你可以使用以下命令连接到 MySQL:
mysql -u root -p
输入密码(初始 root 密码通过sudo grep 'temporary password' /var/log/mysqld.log
查询)后,就可以进入 MySQL 命令行界面了。
接下来,我们修改一下密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password';
注意:MySQL默认安装了validate_password 插件,默认情况下,要求密码要包含大写字母、小写字母、数字和特殊符号,且密码长度最小为8。若需设置简单密码,可禁用该插件,或调整该插件的密码强度级别。
针对禁用或降低强度级别,讲解如下:
在 MySQL 中,validate_password
插件用于验证密码的复杂性。要设置简单密码,可以选择禁用 validate_password
插件或调整其密码强度级别。以下是如何进行这两种操作的详细步骤:
禁用 validate_password
插件
如果完全禁用密码验证功能,可以通过以下步骤禁用 validate_password
插件:
登录到 MySQL
使用具有足够权限的用户(例如 root)登录到 MySQL:
mysql -u root -p
禁用插件
运行以下 SQL 语句以禁用 validate_password
插件:
UNINSTALL PLUGIN validate_password;
确认插件已禁用
确认插件已经被禁用:
SHOW PLUGINS;
确保 validate_password
插件不在列表中。
调整 validate_password
插件的密码强度级别
如果希望保留 validate_password
插件但需要降低其强度要求,可以调整插件的配置参数:
登录到 MySQL
使用具有足够权限的用户(例如 root)登录到 MySQL:
mysql -u root -p
调整插件参数
运行以下 SQL 语句以调整密码强度要求:
SET GLOBAL validate_password.length = 4; -- 设置密码最小长度SET GLOBAL validate_password.mixed_case_count = 0; -- 关闭对大写和小写字母的要求SET GLOBAL validate_password.number_count = 0; -- 关闭对数字的要求SET GLOBAL validate_password.special_char_count = 0; -- 关闭对特殊字符的要求SET GLOBAL validate_password.policy = LOW; -- 设置密码策略为 LOW(较弱的密码要求)
validate_password.length
:设置密码的最小长度。validate_password.mixed_case_count
:设置密码中需要包含的大写和小写字母的数量。validate_password.number_count
:设置密码中需要包含的数字的数量。validate_password.special_char_count
:设置密码中需要包含的特殊字符的数量。validate_password.policy
:设置密码策略。LOW
表示较弱的密码要求。 确认设置
通过运行以下 SQL 语句确认已应用的配置:
SHOW VARIABLES LIKE 'validate_password%';
这将显示 validate_password
插件的当前配置。
更改现有密码
如果您已经禁用了插件或调整了密码强度要求,可以更改用户密码:
ALTER USER 'username'@'host' IDENTIFIED BY 'new_password';
将 'username'
、'host'
和 'new_password'
替换为实际的用户名、主机和新密码。所以我们此处采用以下代码即可(密码修改为 1234):
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
三、部署 Redis
安装方式采用yum在线安装,安装版本为redis-7.2.5
,具体步骤如下
安装Redis yum仓库
下载yum仓库
Redis所在的仓库为remi-release,下载地址为:http://rpms.famillecollet.com/enterprise/remi-release-7.rpm,可使用如下命令直接下载到服务器
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
安装yum仓库
执行如下命令进行安装
sudo yum install epel-releasesudo rpm -ivh remi-release-7.rpm
安装Redis
执行以下命令安装Redis
sudo yum --enablerepo=remi -y install redis-7.2.5
注:--enablerepo
选项的作用为启用一个仓库
配置Redis允许远程访问
Redis服务默认只允许本地访问,若需要进行远程访问,需要做出以下配置。
修改Redis配置文件
sudo vim /etc/redis/redis.conf
修改如下参数
#监听所有网络接口,默认只监听localhostbind 0.0.0.0#关闭保护模式,默认开启。开始保护模式后,远程访问必须进行认证后才能访问。protected-mode no
启动Redis
执行以下命令启动Redis
systemctl start redis
执行以下命令查看Redis的运行状态
systemctl status redis
执行以下命令设置Redis开机自启
systemctl enable redis
部署MinIO
安装方式采用rpm离线安装,具体步骤可参考官方文档。
获取MinIO安装包
下载地址如下:https://dl.min.io/server/minio/release/linux-amd64/minio,通过以下命令可直接将安装包下载至服务器
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240803043323.0.0-1.x86_64.rpm
安装MinIO
sudo rpm -ivh minio-20240803043323.0.0-1.x86_64.rpm
集成Systemd
Systemd概述
Systemd
是一个广泛应用于Linux系统的系统初始化和服务管理器,其可以管理系统中的各种服务和进程,包括启动、停止和重启服务,除此之外,其还可以监测各服务的运行状态,并在服务异常退出时,自动拉起服务,以保证服务的稳定性。系统自带的防火墙服务firewalld
,我们自己安装的mysqld
和redis
均是由Systemd
进行管理的,此处将MinIO服务也交给Systemd管理。
编写MinIO服务配置文件
Systemd所管理的服务需要由一个配置文件进行描述,这些配置文件均位于/etc/systemd/system/
或者/usr/lib/systemd/system/
目录下,下面创建MinIO服务的配置文件。
执行以下命令创建并打开minio.service
文件
vim /etc/systemd/system/minio.service
内容如下,具体可参考MinIO官方文档。
[Unit]Description=MinIODocumentation=https://min.io/docs/minio/linux/index.htmlWants=network-online.targetAfter=network-online.targetAssertFileIsExecutable=/usr/local/bin/minio[Service]WorkingDirectory=/usr/localProtectProc=invisibleEnvironmentFile=-/etc/default/minioExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMESRestart=alwaysLimitNOFILE=65536TasksMax=infinityTimeoutStopSec=infinitySendSIGKILL=no[Install]WantedBy=multi-user.target
注意:
重点关注上述文件中的以下内容即可
EnvironmentFile
,该文件中可配置MinIO服务所需的各项参数ExecStart
,该参数用于配置MinIO服务的启动命令,其中$MINIO_OPTS
、$MINIO_VOLUMES
,均引用于EnvironmentFile
中的变量。 MINIO_OPTS
用于配置MinIO服务的启动选项,可省略不配置。MINIO_VOLUMES
用于配置MinIO服务的数据存储路径。 Restart
,表示自动重启 编写EnvironmentFile
文件
执行以下命令创建并打开/etc/default/minio
文件
vim /etc/default/minio
内容如下,具体可参考官方文档。
MINIO_ROOT_USER=minioadminMINIO_ROOT_PASSWORD=minioadminMINIO_VOLUMES=/dataMINIO_OPTS="--console-address :9001"
注意
MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
为用于访问MinIO的用户名和密码,密码长度至少8位。
MINIO_VOLUMES
用于指定数据存储路径,需确保指定的路径是存在的,可执行以下命令创建该路径。
mkdir /data
MINIO_OPTS
中的console-address
,用于指定管理页面的地址。
启动MinIO
执行以下命令启动MinIO
systemctl start minio
执行以下命令查询运行状态
systemctl status minio
设置MinIO开机自启
systemctl enable minio
访问MinIO管理页面
管理页面的访问地址为:http://localhost:9001
注意:
ip
需要根据实际情况做出修改