mysql初始化需先运行mysqld --initialize生成数据目录和临时密码,再启动服务并用临时密码登录修改root密码,最后执行mysql_secure_installation加固安全配置。

MySQL 初始化数据库主要指首次安装后完成基础配置、创建初始用户、设置密码及安全选项的过程。核心是运行 mysqld --initialize(或 mysqld --initialize-insecure)生成数据目录和临时密码,再通过 mysql_secure_installation 加固系统。
初始化数据目录并生成临时密码
安装 MySQL 后,数据目录(如 /var/lib/mysql 或自定义路径)为空。需手动初始化:
- 确保 MySQL 服务未运行(
systemctl stop mysqld或brew services stop mysql) - 执行初始化命令:
Linux/macOS(推荐带密码):mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql
成功后终端会输出类似:A temporary password is generated for root@localhost: aB3#xY9!qLm2 - 若需跳过初始密码(仅测试环境):
mysqld --initialize-insecure --user=mysql --datadir=/var/lib/mysql(root 密码为空)
启动 MySQL 服务并首次登录
初始化完成后启动服务,用临时密码登录:
1.) 将所有文件解压到php环境中,本程序才用smarty+php+mysql设计。如果运行不了,请修改hhy文件夹下的smarty.php文件改法请看说明2.) 修改configs下的config.inc.php下的连接数据库的密码和用户名3.) 本程序没有做安全页面,人工导入sql.inc到mysql数据库。管理员初始化帐号为admin,密码为hhy。后台地址:http://你的网站地址/h
- 启动服务:
systemctl start mysqld(Linux)或brew services start mysql(macOS) - 登录:
mysql -u root -p,输入初始化时生成的临时密码 - 首次登录后必须修改密码(5.7.6+ 版本强制要求):
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPass123!';
运行安全脚本加固配置
mysql_secure_installation 是官方推荐的安全初始化工具,自动处理常见风险项:
- 执行命令:
mysql_secure_installation - 按提示操作:输入当前 root 密码 → 是否更改密码(建议选 Y)→ 删除匿名用户 → 禁用远程 root 登录 → 删除 test 数据库 → 重载权限表
- 该脚本会修改
mysql.user表、清理默认危险账户,并刷新权限,避免弱配置上线
验证与可选配置
完成上述步骤后建议快速验证并补充必要设置:
- 连接测试:
mysql -u root -p -e "SELECT VERSION(), USER();" - 检查字符集(推荐统一为 utf8mb4):
在/etc/my.cnf或/usr/local/etc/my.cnf中添加:[client]default-character-set = utf8mb4[mysqld]character-set-server = utf8mb4collation-server = utf8mb4_unicode_ci - 重启服务使配置生效:
systemctl restart mysqld









