下载并安装 MySQL YUM 仓库
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm
这将为您的 CentOS 系统安装 MySQL YUM 仓库。
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm这个命令主要用于从 MySQL 的官方网站下载 MySQL YUM 仓库的 RPM 包。
在这个命令中:
1.wget 是一个自由的网络下载工具,常用于在终端环境中下载网络文件。它支持 HTTP, HTTPS, FTP 等多种网络协议。
2.https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 是 MySQL YUM 仓库的 RPM 包的下载地址。
这个 RPM 包包含了设置 YUM 仓库的配置信息,一旦安装,就可以通过 yum 命令方便地管理(比如安装、更新、卸载)MySQL。安装这个包是在 CentOS 系统下安装 MySQL 5.7 的第一步。
安装 MySQL 服务器执行以下命令来安装 MySQL 服务器:
sudo yum install mysql-community-server
提示 "mysql-community-common-5.7.43-1.el7.x86_64.rpm 的公钥尚未安装" 意味着在尝试安装该 RPM 包时,系统无法验证这个包的真实性和完整性,因为它需要一个对应的公钥来验证。
当你从外部资源(例如 MySQL 的官方仓库)获取 RPM 包并试图安装它们时,为了安全起见,系统会检查 RPM 包的签名。如果你的系统中没有安装对应的公钥,你会看到这样的错误信息。
为了解决这个问题,你需要导入相应的公钥。
命令
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
的作用是将 MySQL 的公共 GPG 密钥导入到您的 RPM 包管理器。这个密钥用于验证从 MySQL 仓库下载的 RPM 包的完整性和来源。
在详细描述这个操作前,我们先明确一下 GPG 密钥和 RPM 包管理器的作用。
1.GPG 密钥:也叫做 GNU Privacy Guard 密钥。这是一种用于安全地传输信息的密钥,经常用于验证下载文件的真实性。当你从一个来源下载文件时,该文件的提供者通常会提供一个 GPG 密钥用于确认文件没有被篡改。
2.RPM 包管理器:RPM 是一个 Linux 下的包管理器,用于安装、卸载、更新、查询和验证软件包。它处理 .rpm 文件,并且会在安装软件包时检查 GPG 密钥。
当你运行上述命令rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022时,你的系统会从给定的 URL 下载 MySQL 的公钥,并将其导入 RPM 包管理器的密钥数据库。在安装 RPM 包时,RPM 会检查该包是否已用这个 密钥进行签名。
这样做是为了确保你正在安装的软件包实际上就是开发者发布的原始包,而不是被第三方修改过的。如果包的签名与导入数据库的公钥不匹配,RPM 将会停止安装并给出警告。
获取url:
https://dev.mysql.com/doc/refman/5.7/en/checking-rpm-signature.html
启动 MySQL 服务
安装完成后,您需要启动 MySQL 服务:sudo systemctl start mysqld
开机启动
如果您想要 MySQL 在系统启动时自动运行,可以执行以下命令:sudo systemctl enable mysqld
登录 MySQL
默认安装完成后,root 用户的密码在 /var/log/mysqld.log 文件中。您可以使用以下命令查看:
grep 'temporary password' /var/log/mysqld.log
使用获得的临时密码,您可以登录 MySQL:
mysql -u root -p
更改 MySQL 密码:
1.首先,你需要以 root 用户身份登录 MySQL。在命令行中输入以下命令:
mysql -u root -p
然后输入你的当前 root 用户密码。
2.在登陆MySQL后,选择mysql数据库,因为用户数据保存在这里。运行以下命令:
USE mysql;
3.更改密码,替换 'new_password' 为你想要设定的新密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
4.刷新权限,使得更改立即生效:
FLUSH PRIVILEGES;
5.退出 MySQL:
quit
linux设置mysql数据库允许远程连接:
1.以 root 用户身份登录 MySQL
2、选中mysql数据库
use mysql
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
此语句意思是给root用户在任何IP都可以登录数据库,操作任何数据库中的任何对象。
*.* 第一个*是指数据库
*代表所有数据库
第二个*指数据库对象
*代表数据库中所有对象
'root'@'%' root是制定要授权的数据库用户
%代表允许登录的IP
假如要限制只能在192.168.80.1登录,把%改成192.168.80.1
这是一个MySQL命令,用于在Linux环境中授予用户权限。下面是对这个命令的详细解释:
grant all privileges on *.*:这表示授予所有权限给所有数据库和所有表。*.*代表所有数据库的所有表。
to 'root'@'%':这表示授权给用户名为root的用户。@'%'表示这个用户可以从任何主机连接到数据库。%是一个通配符,代表所有可能的主机。
identified by '密码':这表示设置用户的密码为密码。
with grant option:这表示用户可以将他的权限授予给其他用户。
总的来说,这个命令是将所有数据库的所有权限授予用户名为root的用户,用户可以从任何主机连接到数据库,用户的密码为密码,并且用户可以将他的权限授予给其他用户。
select Host,User from user;
4.刷新权限,使得更改立即生效:
FLUSH PRIVILEGES;
5.退出 MySQL:
quit
6.重启mysql
service mysql restart
可以使用以下命令让防火墙开放 3306 端口,否则在防火墙启动的情况下无法远程连接MySQL
sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --reload
Navicat 远程连接MySQL