
直接在linux上下载在线安装包
wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm
也可以在自己电脑上先下载mysql.rpm文件再上传到linux服务器上
下载地址https://dev.mysql.com/downloads/
挑选合适的系统版本

上面wget下载完成后,执行下面的命令确定依赖源。
sudo yum -y localinstall mysql80-community-release-el7-3.noarch.rpm
sudo以管理员权限运行命令。yum这是CentOS中的包管理器,用于安装、更新和删除软件包。localinstall这是yum命令的一个选项,表示从本地安装软件包。mysql80-community-release-el7-3.noarch.rpm这是MySQL 8 RPM文件的名称。
rpm -ivh mysql80-community-release-el7-3.noarch.rpm
rpm:RPM(Red Hat Package Manager)是Red Hat及类似系统(如CentOS、Fedora等)上的软件包管理器。它用于安装、卸载、更新、查询和验证软件包。
-ivh:这是rpm命令的选项,每个字母代表一个操作:
i 代表安装(install)。v 代表详细输出(verbose)。这意味着在安装过程中,会显示详细的信息,有助于了解安装的进度和可能出现的问题。h 代表显示安装进度(hash mark progress)。在软件包安装时,它会显示一个进度条,以#字符的形式表示进度。mysql80-community-release-el7-3.noarch.rpm:这是要安装的软件包的名称。从名称可以看出,这是MySQL 8的社区版,并且是为CentOS/RHEL 7制作的。其中,“noarch”表示这个包不是为特定的硬件架构制作的,而是可以在任何架构上安装。

yum install mysql-server
yum:这是CentOS和其他基于Red Hat的Linux发行版中的默认包管理器。它用于从指定的软件仓库中自动安装、升级、配置甚至删除软件包,解决了软件包之间的依赖关系问题。install:这是yum命令的一个选项,表示要安装一个或多个软件包。mysql-server:这是要安装的软件包的名称,代表MySQL的服务器软件。
运行的时候有要输入的地址全部填y即可
提示
遇到Failing package is:mysql-community-icu-data-files-8.0.29-1.el7.x86_64 GPG Keys are configured as(公钥未安装) 问题时在yum install 版本后面加上 --nogpgcheck,即可绕过GPG验证成功安装
提示公钥未安装时yum install mysql-community-server --nogpgcheck
--nogpgcheck:这是一个参数,指示yum在安装过程中不进行GPG(GNU Privacy Guard)检查。GPG是一种加密软件,用于保护数据的完整性和机密性。在默认情况下,yum在安装软件包时会进行GPG检查,以确保软件包的完整性和来源的可靠性。但是,有时候由于某些原因,例如源key错误,GPG检查可能会失败,导致安装失败。添加--nogpgcheck参数可以跳过GPG检查,使安装继续进行。
systemctl start mysqld
systemctl enable mysqld
systemctl daemon-reload
systemctl enable mysqld:这个命令将MySQL的服务在系统启动时设置为自动启动。这意味着每次系统启动时,MySQL服务也会自动启动。
systemctl daemon-reload:这个命令会重新加载systemd守护进程的配置文件,以使最新的配置生效。当你修改了systemd服务的配置文件后,通常需要运行这个命令来使更改生效。
service mysqld status

提示
在执行service mysqld status时,系统会通过调用相关的系统命令来检查MySQL服务的状态。如果MySQL服务正在运行,命令将返回关于服务的信息,例如服务的进程ID(PID)和已运行的时间等。这些信息可以提供关于MySQL服务当前状态的详细信息。
如果MySQL服务没有运行,命令将返回服务未运行的消息。这表示MySQL服务器没有在当前系统上运行。
netstat -anp|grep 3306

提示
netstat -anp 是一个命令,用于显示网络连接的详细信息。-a 参数显示所有连接和监听端口,-n 参数显示地址和端口号而不是尝试解析它们,-p 参数显示哪个进程正在使用连接。
grep 3306 是用来在netstat的输出中查找端口号3306的记录。
grep "A temporary password" /var/log/mysqld.log

提示
grep "A temporary password" /var/log/mysqld.log 是在 /var/log/mysqld.log 日志文件中搜索包含 "A temporary password" 的行
mysql -u root -p
会提示输入密码,密码在输入时不会显示,建议直接复制粘贴


ALTER USER 'root'@'localhost' IDENTIFIED BY 'MySQL@123';
注
注意8位数以上和种类至少大+写+小写+符号+数字
因为mysql的密码设置的太复杂不太好记,这里把密码设置的简单一点
先看看当前的密码验证策略
输入:SHOW VARIABLES LIKE 'validate_password.%';

validate_password.length 是密码的最小长度,默认是8,我们把它改成6set global validate_password.length=6;validate_password.policy 验证密码的复杂程度,我们把它改成0set global validate_password.policy=0;validate_password.check_user_name 用户名检查,用户名和密码不能相同,我们也把它关掉set global validate_password.check_user_name=off;mysql -u root -pshow databases;use mysql;show tables;select host, user, authentication_string, plugin from user;
注
从user表中选取host、user、authentication_string和plugin这四个字段的所有记录。
各个字段的意义如下:
host: 该字段记录了用户可以从哪个主机连接到数据库。例如,localhost表示只能从本地计算机连接,而%表示从任何主机都可以连接。
user: 这是数据库的用户名。结合host字段,可以确定一个特定的数据库连接权限。
authentication_string: 这是用户的加密后的密码或其他身份验证信息。在MySQL 5.7及之后的版本中,密码字段从password变为了authentication_string。
plugin: 这指示了用于身份验证的插件。例如,常见的值有mysql_native_password和caching_sha2_password。插件决定了密码如何被验证和加密。
Host:update user set host = '%' where user = 'root' and host='localhost';
注
这条语句使用的是MySQL的UPDATE语句,它的意思是:在用户表(user)中,将所有用户名为'root'并且主机名为'localhost'的用户的host字段的值更新为'%'。
这里,'%'表示任何主机都可以连接。
flush privileges;在防火墙中开启3306端口
查看防火墙状态systemctl status firewalld.service
现在是开启状态

如果是关闭状态则运行下面的命令
这里把防火墙打开systemctl start firewalld
firewall-cmd --zone=public --list-ports 查看所有打开的端口firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开放3306端口firewall-cmd --reload # 配置立即生效systemctl restart firewalld.service
在Linux系统中,firewalld是一个用于管理IP包过滤规则的服务,它可以用来保护你的系统免受网络攻击。通过重启firewalld服务,你可以确保任何对防火墙规则的更改都会生效。
当你执行systemctl restart firewalld.service命令时,系统会先停止firewalld服务,然后再重新启动它。这样可以确保所有的防火墙规则都被重新加载并生效。

相关信息
常用MySQL服务命令:
mysql -u username -p #登录MySQLquit #退出MySQLsystemctl start mysqld.service #启动MySQLsystemctl stop mysqld.service #结束systemctl restart mysqld.service #重启systemctl enable mysqld.service #开机自启select version(); #查看MySQL版本本文作者:Casear
本文链接:
版权声明:参考于https://blog.csdn.net/