mysql环境搭建完成后如何创建用户_mysql用户初始化

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

MySQL 安装并启动服务后,需要手动创建普通用户(非 root),因为默认仅保留

root@localhost
,且新版本(如 8.0+)不再自动创建空密码 root 用户,首次登录需用初始化密码或跳过验证方式进入。

查看并获取 root 初始化密码(适用于 MySQL 5.7+ / 8.0 默认安装)

安装过程中,MySQL 会自动生成一个临时 root 密码,记录在错误日志中:

Linux 常见路径:
/var/log/mysqld.log
/var/log/mysql/error.log
执行命令查找:
sudo grep 'temporary password' /var/log/mysqld.log
输出类似:
A temporary password is generated for root@localhost: aB3#xY9!mQpL
,后面即为初始密码

首次登录并修改 root 密码(必须先完成)

使用初始密码登录(若失败,确认 mysqld 是否运行:

systemctl status mysqld
):

mysql -u root -p
→ 输入上一步获取的临时密码
登录后立即修改密码(MySQL 8.0 要求强密码策略):
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourStrongPass123!';
刷新权限:
FLUSH PRIVILEGES;

创建新用户并授权(推荐最小权限原则)

避免长期使用 root 连接应用,应为每个业务创建独立用户:

创建用户(指定主机范围,
'user1'@'localhost'
仅本机,
'user1'@'%'
允许远程):
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'AppPass@2024';
授予权限(例如只对
mydb
库有全部操作权):
GRANT ALL PRIVILEGES ON mydb.* TO 'app_user'@'localhost';
生效权限:
FLUSH PRIVILEGES;
验证:退出后用新用户登录测试:
mysql -u app_user -p -D mydb

可选:禁用 root 远程登录(提升安全性)

生产环境建议限制 root 只能本地管理:

撤销远程 root 权限(如果存在):
DROP USER 'root'@'%';
确保仅保留:
SELECT User, Host FROM mysql.user;
中显示
root | localhost

相关推荐