信息发布→ 登录 注册 退出

如何设置mysql初始化密码_mysql初始化密码配置方法

发布时间:2026-01-07

点击量:
首先查看日志获取临时密码,或使用mysql_secure_installation脚本设置;若无临时密码可添加skip-grant-tables跳过验证修改密码,之后务必删除该配置并重启服务。

MySQL 安装完成后,设置初始密码是保障数据库安全的重要一步。不同版本的 MySQL(尤其是 5.7 及以上)在初始化时会自动生成临时密码,也可以通过配置跳过验证并手动设置。以下是几种常见的 MySQL 初始化密码设置方法。

查看默认生成的临时密码

在某些 Linux 发行版中(如通过 yum 或 apt 安装),MySQL 会在首次启动时自动生成一个临时密码:

  • 查看日志文件:临时密码通常记录在 MySQL 的错误日志中,路径一般为 /var/log/mysqld.log(CentOS/RHEL)或 /var/log/mysql/error.log(Ubuntu/Debian)。
  • 执行命令查找:sudo grep 'temporary password' /var/log/mysqld.log
  • 使用该密码登录 MySQL:mysql -u root -p,然后输入查到的临时密码。

手动初始化并设置密码

若未生成临时密码,或你是从压缩包方式安装,可手动初始化:

  • 编辑配置文件 my.cnf(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf),在 [mysqld] 段添加:
    skip-grant-tables(跳过权限验证)
  • 重启 MySQL 服务:systemctl restart mysqld
  • 无需密码登录:mysql -u root
  • 更新 root 用户密码(MySQL 5.7+ 使用 authentication_string 字段):
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的强密码';
FLUSH PRIVILEGES;

修改完成后,务必删除 my.cnf 中的 skip-grant-tables 并重启服务,否则存在安全风险。

使用 mysql\_secure\_installation 工具

MySQL 提供了安全初始化脚本,可批量完成密码设置和其他安全配置:

  • 运行命令:mysql_secure_installation
  • 根据提示设置 root 密码、移除匿名用户、禁止远程 root 登录、删除测试数据库等。
  • 此方式推荐用于生产环境初始化。

初始化时指定密码(MySQL 8.0+ 推荐方式)

使用 mysqld --initialize 命令初始化数据目录时,系统会生成临时密码:

  • 执行:mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql
  • 检查日志获取临时密码,然后登录并修改。
  • 也可使用 --initialize-insecure 参数初始化无密码(仅限内网测试环境)。

基本上就这些。关键是根据安装方式选择合适的密码设置流程,优先使用临时密码或安全脚本,避免长期使用免密登录。

标签:# debian  # 几种  # 可以通过  # 也可  # 是从  # 会在  # 首次  # 尤其是  # 自动生成  # 跳过  # 重启  # mysql  # 数据库  # var  # Error  # 权限验证  # 配置文件  # 工具  # ubuntu  # centos  # word  # linux  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!