centos linux安装mysql8 重置密码 远程连接

1. 下载并安装 MySQL Yum 仓库

从 MySQL 官方网站下载并安装 Yum 仓库配置文件。

java 复制代码
# 下载MySQL 8.0的Yum仓库包
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
# 安装Yum仓库包
sudo rpm -ivh mysql80-community-release-el7-5.noarch.rpm

2. 启用 MySQL 8.0 仓库

Yum 仓库可能启用了其他版本的 MySQL,你需要确保启用的是 MySQL 8.0 仓库。

java 复制代码
# 查看可用的MySQL仓库列表
yum repolist all | grep mysql
# 禁用MySQL 5.7仓库(如果已启用)
sudo yum-config-manager --disable mysql57-community
# 启用MySQL 8.0仓库
sudo yum-config-manager --enable mysql80-community

3. 安装 MySQL Server

java 复制代码
sudo yum install mysql-server

4. 启动 MySQL 服务

java 复制代码
sudo systemctl start mysqld

5. 检查 MySQL 服务状态

java 复制代码
sudo systemctl status mysqld

如果服务正在运行,你会看到类似如下输出:

● mysqld.service - MySQL Server

Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

Active: active (running) since Tue 2025-03-11 14:20:30 CST; 1min 30s ago

...

6. 设置 MySQL 开机自启

java 复制代码
sudo systemctl enable mysqld

7. 获取初始临时密码

在首次启动 MySQL 时,系统会生成一个临时密码,你需要使用该密码登录 MySQL 并进行后续配置。

java 复制代码
sudo grep 'temporary password' /var/log/mysqld.log

输出类似如下内容:

2025-03-11T06:20:30.123456Z 6 Note MY-010454 Server A temporary password is generated for root@localhost: AbcDef123!

其中 AbcDef123! 就是你的初始临时密码。

如果提示目录不存在之类的,点击跳转查看
点击跳转至目标位置

8. 登录 MySQL 并修改密码

使用初始临时密码登录 MySQL。

java 复制代码
mysql -u root -p

输入临时密码后,你会进入 MySQL 命令行界面。接下来,你需要修改 root 用户的密码

java 复制代码
-- 修改root用户密码,这里将密码设置为YourNewPassword,你可以根据需要修改
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
-- 刷新权限
FLUSH PRIVILEGES;

开放mysql远程链接

1. 登录 MySQL

java 复制代码
mysql -u root -p

输入密码后回车,即可进入 MySQL 命令行界面。

2. 创建允许远程访问的用户(可选)

如果你想使用特定的用户进行远程连接,可以创建一个新用户并赋予相应的权限。以下是创建用户并授予所有数据库权限的示例:

java 复制代码
-- 创建一个名为 'remote_user' 的用户,密码为 'your_password',允许从任何主机连接
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_password';
-- 授予该用户对所有数据库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
-- 刷新权限使更改生效
FLUSH PRIVILEGES;

其中,'%' 表示允许从任何主机连接。如果你想限制连接的主机,可以将 '%' 替换为具体的 IP 地址或域名。

3. 修改 MySQL 配置文件

编辑 MySQL 的配置文件 my.cnf 或 my.ini,通常位于 /etc 目录下。

java 复制代码
sudo vi /etc/my.cnf

找到 bind-address 这一行(如果打开没有bind相关 可以自己插入下面代码),将其修改为允许远程连接的 IP 地址。如果你想允许所有 IP 地址连接,可以将其注释掉或设置为 0.0.0.0:

java 复制代码
#bind-address = 127.0.0.1
bind-address = 0.0.0.0

!qw保存退出

4. 重启 MySQL 服务

java 复制代码
sudo systemctl restart mysqld

5. 配置防火墙

如果你使用的是 firewalld,可以使用以下命令开放端口:

java 复制代码
sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

如果你使用的是 iptables,可以使用以下命令开放端口:

java 复制代码
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
sudo service iptables save

6. 验证远程连接

使用navicat可以测试连接

跳过权限验证重置密码

1. 停止 MySQL 服务

java 复制代码
sudo systemctl stop mysqld

2. 以跳过权限验证的方式启动 MySQL

由于 mysqld_safe 在 MySQL 8 中已被弃用,我们可以通过修改 systemd 配置来实现。

java 复制代码
sudo mkdir -p /etc/systemd/system/mysqld.service.d
sudo vi /etc/systemd/system/mysqld.service.d/override.conf

在打开的文件中添加以下内容:

java 复制代码
[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

注意:如果 mysqld 的实际路径不是 /usr/sbin/mysqld,需要根据实际情况修改。

3. 重新加载 systemd 配置并启动 MySQL 服务

java 复制代码
sudo systemctl daemon-reload
sudo systemctl start mysqld

4. 无需密码登录 MySQL

java 复制代码
mysql -u root

5. 修改 root 用户密码

java 复制代码
-- 刷新权限表
FLUSH PRIVILEGES;
-- 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword';
-- 再次刷新权限
FLUSH PRIVILEGES;

6. 恢复正常启动配置

删除或注释掉 /etc/systemd/system/mysqld.service.d/override.conf 中的内容,然后重新加载配置并重启 MySQL 服务。

java 复制代码
sudo systemctl daemon-reload
sudo systemctl restart mysqld

回到修改密码

相关推荐
FoldWinCard6 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
零涂毕业设计7 小时前
毕业设计模块开发-OLED显示屏(IIC协议0.96寸)STM32 ESP32 FPGA Linux驱动免费分享
linux·stm32·单片机·嵌入式·esp32·fpga·oled
tedcloud1237 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质7 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
SakitamaX7 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.7 小时前
Linux系统管理
linux·运维
阿龙的工作记录8 小时前
深入理解Linux设备驱动模型
linux·嵌入式硬件·工作记录
代码村新手8 小时前
Linux的基本指令
linux·运维·服务器
hkj88089 小时前
Ubuntu 切换java版本
java·linux·ubuntu
AAA@峥10 小时前
CentOS7 源码编译安装 MySQL5.7|SQL 基础操作 + 备份恢复完整实战
运维·数据库·sql·centos