云服务器安装mysql后如何设置示例详解

 更新时间:2025年10月06日 10:44:24   作者:Blank_Coder  
MySQL是一种广泛使用的关系型数据库管理系统(RDBMS),它允许开发者存储、检索和管理数据,在云服务器上配置MySQL通常涉及安装MySQL软件、设置数据库实例、配置网络和安全设置等,这篇文章主要介绍了云服务器安装mysql后如何设置的相关资料,需要的朋友可以参考下

问题1:没有找到MySQL生成的临时密码

通常在云服务器(Linux)上安装完MySQL后,root密码为空或者生成一个临时密码,可以通过以下方式查看(这里以MySQL8.0为例)

sudo grep 'temporary password' /var/log/mysqld.log

然后使用临时密码登录

mysql -u root -p

再修改密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的强密码';

最后刷新权限

FLUSH PRIVILEGES;

但是,如果没有找到临时密码怎么办?(这也是我遇到的问题)
按照以下步骤来:

  1. 首先停止mysql服务
sudo systemctl stop mysqld
  1. 然后跳过权限表验证,这会允许无密码登录
sudo mysqld_safe --skip-grant-tables --skip-networking &
  1. 无密码登录并修改密码
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新强密码';
  1. 退出并重新启动MySQL
sudo systemctl restart mysqld

这里如果MySQL没有关闭干净的话跳过权限表会报错:
mysqld_safe A mysqld process already exists
按照以下步骤完全关闭MySQL服务:

  • 确认并杀掉所有 MySQL 进程
sudo systemctl stop mysqld        # 正常关闭服务
sudo pkill -f mysqld              # 强制杀掉残留进程
  • 如果提示 pkill 未找到,用:
sudo killall mysqld
  • 再次确认没有mysqld进程
ps aux | grep mysqld | grep -v grep
  • 然后重新用跳过权限模式启动
sudo mysqld_safe --skip-grant-tables --skip-networking &

问题2:MySQL8.0默认监听IPv6地址,如何设置同时监听IPv4

此时典型的报错如下:

Error: connect ECONNREFUSED ::1:3306
at createConnectionError (node:net:1678:14)
at afterConnectMultiple (node:net:1708:16) {
errno: -111,
code: ‘ECONNREFUSED’,
syscall: ‘connect’,
address: ‘::1’,
port: 3306

这里我是用的node.js连接,意思就是:“我尝试连接本机的 MySQL(端口 3306),但连接被拒绝了。”

这是因为MySQL默认监听IPv6地址,但是我们的项目端口是IPv4地址

首先可以确认一下:

sudo netstat -tulnp | grep 3306

如果netstat 只看到一个 :::3306(或 tcp6 0 0 :::3306 ::😗 LISTEN),那确实说明 MySQL 只监听了 IPv6 通配地址 ::,而没有监听 IPv4 的 127.0.0.1 —— Node.js 会先解析 localhost 为 ::1,再尝试 127.0.0.1,两者都被拒绝,于是抛出 ECONNREFUSED

  1. 首先修改配置文件
sudo vi /etc/my.cnf        # 或对应路径

找到 bind-address 这一行,改成:

# 同时监听 IPv4 和 IPv6
bind-address = ::

如果这行被注释掉或压根没有,直接添加上去即可。
不要写成 bind-address = 127.0.0.1,否则只监听 IPv4;也不要写 ::1,否则只监听 IPv6。

  1. 重启MySQL
sudo systemctl restart mysqld   # CentOS/RHEL
# 或
sudo systemctl restart mysql    # Ubuntu/Debian
  1. 再次确认监听地址
sudo netstat -tulnp | grep 3306

应看到两行(或一行):
tcp6 0 0 :::3306 ::: * LISTEN 265229/mysqld
tcp6 0 0 :::33060 ::: * LISTEN 265229/mysqld
:::3306 表示 IPv4 与 IPv6 通配地址都被监听(Linux 在 IPv6 通配模式下会自动兼容 IPv4)。

总结 

到此这篇关于云服务器安装mysql后如何设置的文章就介绍到这了,更多相关云服务器安装mysql后设置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL数据库索引以及失效场景详解

    MySQL数据库索引以及失效场景详解

    索引是一种数据结构,为了应对不同的场景会有多种实现,下面这篇文章主要给大家介绍了关于MySQL数据库索引以及失效场景的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • MySQL 导出和导入数据的几种实现方式

    MySQL 导出和导入数据的几种实现方式

    本文主要介绍了MySQL 导出和导入数据的几种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • 基于Windows安装MySQL 8.0.12图文教程

    基于Windows安装MySQL 8.0.12图文教程

    这篇文章主要为大家详细介绍了基于Windows安装MySQL 8.0.12图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • MySQL(community版)压缩包安装的超详细教程

    MySQL(community版)压缩包安装的超详细教程

    这篇文章详细介绍了如何在Windows系统上手动安装MySQL 8.0.26的压缩包版本,包括下载、解压、配置环境变量、初始化、启动服务、设置密码等步骤,同时,还提供了一个简单的SQL基础教程,需要的朋友可以参考下
    2025-03-03
  • MySQL 索引设计的全过程(原理、原则与实战案例)

    MySQL 索引设计的全过程(原理、原则与实战案例)

    索引设计是一个持续优化、不断学习的过程,没有一劳永逸的方案,只有最适合当前业务负载的索引,本文给大家介绍MySQL索引设计的全过程(原理、原则与实战案例),感兴趣的朋友一起看看吧
    2025-05-05
  • SQL中的开窗函数(窗口函数)

    SQL中的开窗函数(窗口函数)

    这篇文章主要介绍了SQL中的开窗函数(窗口函数)使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • MySQL 消除重复行的一些方法

    MySQL 消除重复行的一些方法

    这篇文章主要介绍了MySQL 消除重复行的一些方法,需要的朋友可以参考下
    2017-05-05
  • 使用Shell脚本操作多个MySQL数据库的步骤详解

    使用Shell脚本操作多个MySQL数据库的步骤详解

    本文介绍如何通过Shell脚本批量操作多个MySQL数据库,包含创建数据库信息文件、编写执行脚本、准备SQL文件及设置权限等步骤,实现自动遍历连接各数据库并执行指定SQL语句创建表的操作,需要的朋友可以参考下
    2025-08-08
  • MySQL asc、desc数据排序的实现

    MySQL asc、desc数据排序的实现

    这篇文章主要介绍了MySQL asc、desc数据排序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 在idea中如何操作MySQL数据库

    在idea中如何操作MySQL数据库

    这篇文章主要介绍了在idea中如何操作MySQL数据库问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06

最新评论