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

来源:这里教程网 时间:2026-02-28 20:34:26 作者:

MySQL 安装后如果没有设置初始密码,可能会存在安全风险。不同版本和安装方式下,设置初始密码的方法略有不同。以下是几种常见情况下的 MySQL 初始密码配置方法。

查看默认生成的临时密码(适用于 MySQL 5.7 及以上版本)

MySQL 5.7 开始,安装过程中会自动生成一个临时密码,可以在日志文件中找到: Linux 系统通常在:/var/log/mysqld.log 使用命令查找:sudo grep 'temporary password' /var/log/mysqld.log Windows 系统可在 MySQL 安装目录的 data 文件夹中的 hostname.err 文件里搜索 "temporary password" 获取到临时密码后,使用以下命令登录并修改密码: mysql -u root -p

首次登录后修改密码

登录成功后,立即修改默认密码以确保安全: 执行 SQL 命令修改密码(MySQL 5.7+):
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
刷新权限:
FLUSH PRIVILEGES;
退出重新登录测试:
EXIT;

若未生成密码或忘记密码:重置 root 密码

如果无法获取临时密码,可通过跳过权限验证重设密码: 停止 MySQL 服务:
sudo systemctl stop mysql
启动 MySQL 并跳过权限表:
sudo mysqld_safe --skip-grant-tables --skip-networking &
登录 MySQL(无需密码):
mysql -u root
更新 root 用户密码:
UPDATE mysql.user SET authentication_string = PASSWORD('新密码') WHERE User = 'root';
或(MySQL 8.0+ 推荐):
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
刷新权限并重启 MySQL 服务:
FLUSH PRIVILEGES;
杀掉 mysqld_safe 进程后正常启动服务:
sudo systemctl start mysql

初始化配置时设置密码(MySQL 8.0+ 推荐方式)

使用 mysqld --initialize-insecure 不会生成临时密码,适合开发环境。生产环境建议使用: mysqld --initialize 自动生成临时密码 或通过配置文件预先设定策略,如指定密码强度插件等 也可使用 mysql_secure_installation 向导工具完成初始安全设置,包括设置 root 密码、删除匿名用户、禁用远程 root 登录等

基本上就这些。关键是根据你的 MySQL 版本和安装方式选择合适的方法。注意密码要足够复杂,避免使用弱密码,保障数据库安全。

相关推荐