如何在mysql中配置初始用户和密码

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

在 MySQL 安装完成后,配置初始用户和密码是保障数据库安全的重要步骤。不同版本和安装方式的 MySQL 处理初始账户的方式略有不同,但核心流程一致:设置 root 密码并创建必要的用户账号。

查看默认安装后的登录状态

某些 MySQL 安装(如使用包管理器或官方安装程序)会在首次启动时生成临时密码或允许免密登录。

• 如果你是通过 Linux 包管理器(如 apt 或 yum)安装的 MySQL,安装过程中可能会提示设置 root 密码。
• 对于某些版本(如 MySQL 5.7+),首次启动时系统会自动生成一个临时 root 密码,通常记录在日志文件中(例如 /var/log/mysqld.log)。
• 可用以下命令查找临时密码:
<strong>sudo grep 'temporary password' /var/log/mysqld.log</strong>

使用 mysql_secure_installation 脚本

MySQL 提供了一个安全配置脚本,可快速完成初始用户配置和安全加固。

• 运行以下命令:
<strong>mysql_secure_installation</strong>
• 脚本会引导你执行以下操作:
- 设置 root 用户的新密码
- 移除匿名用户
- 禁止 root 远程登录(建议生产环境保留本地访问)
- 删除测试数据库
- 重新加载权限表

手动设置 root 密码和创建用户

如果无法使用临时密码或需要手动配置,可以跳过权限验证启动 MySQL 来重置 root 密码。

• 停止 MySQL 服务:
<strong>sudo systemctl stop mysqld</strong>
• 启动 MySQL 并跳过权限检查:
<strong>sudo mysqld --skip-grant-tables &</strong>
• 登录 MySQL:
<strong>mysql -u root</strong>
• 更新 root 用户密码(MySQL 5.7+ 使用 authentication_string 字段):
UPDATE mysql.user SET authentication_string = PASSWORD('你的新密码') WHERE User = 'root' AND Host = 'localhost';<br>FLUSH PRIVILEGES;
• 退出并重启 MySQL 正常服务:
<strong>sudo systemctl start mysqld</strong>

登录后可创建普通用户:

CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';<br>GRANT SELECT, INSERT, UPDATE ON 数据库名.* TO '用户名'@'localhost';<br>FLUSH PRIVILEGES;

基本上就这些。关键是确保 root 密码安全,并根据需要创建受限权限的普通用户用于日常操作。

相关推荐