首先查看日志获取临时密码,或使用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 字段):
FLUSH PRIVILEGES;
修改完成后,务必删除 my.cnf 中的 skip-grant-tables 并重启服务,否则存在安全风险。
1.) 将所有文件解压到php环境中,本程序才用smarty+php+mysql设计。如果运行不了,请修改hhy文件夹下的smarty.php文件改法请看说明2.) 修改configs下的config.inc.php下的连接数据库的密码和用户名3.) 本程序没有做安全页面,人工导入sql.inc到mysql数据库。管理员初始化帐号为admin,密码为hhy。后台地址:http://你的网站地址/h
使用 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 参数初始化无密码(仅限内网测试环境)。
基本上就这些。关键是根据安装方式选择合适的密码设置流程,优先使用临时密码或安全脚本,避免长期使用免密登录。









