mysql5.7非安装版本初始化

MySQL5.7.6后,下载版的初始化操作备忘

As of MySQL 5.7.6, if you initialized the data directory manually using mysqld –initialize and followed the instructions in Section 2.10.1.1, “Initializing the Data Directory Manually Using mysqld”, you should have assigned a password to the initial account.

上文引用自MySQL文档
出于安全考虑,配置my.cnf后,需要输入

1
bin/mysqld --initialize

初始化database文件夹,默认会给本地root用户生成一个随机的密码,因此需要一些额外的操作。

以下操作在Linux中完成,Win环境大同小异,参考官方文档

使用--initialize-insecure

配置好my.cnf后,使用initialize-insecure参数初始化即可

1
bin/mysqld --initialize-insecure --user=mysql

其中user为执行mysqld的用户

使用--initialize

同样配置好my.cnf

1
bin/mysql --initalize --user=mysql

这时mysql会为root用户生成一个随机的密码,并显示如下

1
2
[Warning] A temporary password is generated for root@localhost:
{PASSWORD}

如果忘记了密码,可以使用init-file参数启动mysqld,修改密码

1
bin/mysqld --init-file /path/to/init/file

init-file如下,其中{PASSWORD}修改为新密码:

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '{PASSWORD}';