Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解决办法

问题

用安装版的Mysql确实没有二进制版的简单,自己配置,随心所欲。今天在安装二进制版的Mysql 5.7的时候出现了如下错误。

Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解决办法

看了一下配置文件,配置的没有问题。然后再启动的时候确实出现了没创建mysql库的情况。我也不知道为啥,上网查吧……网上也没告诉我为啥。只是告诉我解决办法,根据解决办法可以很明显的看出是初始化出了问题,但是原理是什么我也不清楚……

解决办法

1、先将my.default.ini改名为my.ini放到bin目录  
2、命令行执行: mysqld --initalize --user=mysql --console 先执行这个命令生成库
3、然后会返回一个临时密码给我们,记下来。
Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解决办法
4、然后启动服务,然后运行 mysql -u root -p 输入密码  
Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解决办法
5、输入set password=password('root');修改密码
Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist解决办法