当前位置: 首页 > article >正文

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

1. 下载并安装 MySQL Yum 仓库

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

# 下载MySQL 8.0Yum仓库包
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 仓库。

# 查看可用的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

sudo yum install mysql-server

4. 启动 MySQL 服务

sudo systemctl start mysqld

5. 检查 MySQL 服务状态

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 开机自启

sudo systemctl enable mysqld

7. 获取初始临时密码

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

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。

mysql -u root -p

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

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

开放mysql远程链接

1. 登录 MySQL

mysql -u root -p

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

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

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

-- 创建一个名为 '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 目录下。

sudo vi /etc/my.cnf

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

#bind-address = 127.0.0.1
bind-address = 0.0.0.0

!qw保存退出

4. 重启 MySQL 服务

sudo systemctl restart mysqld

5. 配置防火墙

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

sudo firewall-cmd --permanent --add-port=3306/tcp
sudo firewall-cmd --reload

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

sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
sudo service iptables save

6. 验证远程连接

使用navicat可以测试连接

跳过权限验证重置密码

1. 停止 MySQL 服务

sudo systemctl stop mysqld

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

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

sudo mkdir -p /etc/systemd/system/mysqld.service.d
sudo vi /etc/systemd/system/mysqld.service.d/override.conf

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

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

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

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

sudo systemctl daemon-reload
sudo systemctl start mysqld

4. 无需密码登录 MySQL

mysql -u root

5. 修改 root 用户密码

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

6. 恢复正常启动配置

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

sudo systemctl daemon-reload
sudo systemctl restart mysqld

回到修改密码


http://www.kler.cn/a/581808.html

相关文章:

  • Android12 应用更新开机动画
  • element tree树形结构默认展开全部
  • HTTP与HTTPS的深度解析:技术差异、安全机制及应用场景
  • 火语言RPA--PDF页数统计
  • 四种常见的 API 架构风格(带示例)
  • 前后端+数据库的项目实战--学生信息管理系统-易
  • Unity辅助工具_头部与svn
  • 【CXX】6.6 UniquePtr<T> — std::unique_ptr<T>
  • 深入理解 Rust 中的模式匹配语法
  • SpringBoot(1)——创建SpringBoot项目的方式
  • rom定制系列------小米note3 原生安卓15 批量线刷 默认开启usb功能选项 插电自启等
  • Java中数据库索引选择B+树而非红黑树的详细解析
  • DeepSeek引领端侧AI革命,边缘智能重构AI价值金字塔
  • Spring Boot中@Valid 与 @Validated 注解的详解
  • c++-------------------智能指针
  • 途游游戏25届AI算法岗内推
  • 2024华为OD机试真题-日志排序(C++)-E卷-100分
  • AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘
  • Android Compose MutableInteractionSource介绍
  • 工程化与框架系列(28)--前端国际化实现