直接在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
检查可能会失败,导致安装失败。添加--nogpgchec
k参数可以跳过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
验证密码的复杂程度,我们把它改成0
set global validate_password.policy=0;
validate_password.check_user_name
用户名检查,用户名和密码不能相同,我们也把它关掉set global validate_password.check_user_name=off;
mysql -u root -p
show 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
#登录MySQL
quit
#退出MySQL
systemctl start mysqld.service
#启动MySQL
systemctl stop mysqld.service
#结束systemctl restart mysqld.service
#重启systemctl enable mysqld.service
#开机自启select version();
#查看MySQL
版本本文作者:Casear
本文链接:
版权声明:参考于https://blog.csdn.net/