5.7 zip 版本的安装 以及遇到的坑

https://blog.csdn.net/indexman/article/details/80291537

 https://blog.csdn.net/weidong_y/article/details/81660958

不同版本之间卸载与重装,非常重要的一点注册表的命令路径修改;当卸载完5.6,在此安装5.7的时候,一定要先去注册表修改路径为5.7mysql的命令路径

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 找到对应的服务名,修改ImagePath 

E:programmysql-5.7.16-winx64in>net start mysql5.7
mysql-5.7 服务正在启动 .
mysql-5.7 服务无法启动。


服务没有报告任何错误。


请键入 NET HELPMSG 3534 以获得更多的帮助。

查看报错.err的日志,提示 mysql5.7: Table 'mysql.plugin' doesn't exist

原因:
mysql在启动服务时会去找一些系统表,例如:

mysql5.7: Table 'mysql.plugin' doesn't exist

这个就是启动时候日志的报错(如果你已经创建了data文件夹,在data文件夹的用户.err文件,例如我的就是:Dylan.err)。其实我们在创建服务后缺少了一步,就是初始化mysql。

解决方案:

1.在安装目录创建data文件夹(如果已有,请删除里面所有文件),用于存放mysql初始化数据文件。

2.执行初始化mysql,

E:programmysql-5.7.16-winx64in>mysqld --initialize

 又提示错误:

2019-12-01T06:49:11.067143Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-12-01T06:49:11.069662Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2019-12-01T06:49:11.070792Z 0 [ERROR] Aborting

可以看到是由于data目录下面有文件,初始化失败,需要删除data下的所有文件,然后再初始化,删除后重新初始化,成功

四、修改数据库密码
在刚刚 my.ini 文件中,把下面这句话的注释给释放掉。

 

skip-grant-tables : 这句代码,是让数据库不需要密码也能登录。
重启 mysql 

net stop mysql
net start mysql
登录 MySQL,因为我们已经取消了密码验证,所以随便输入什么东西都能进入。

mysql -u root -p


修改密码:

mysql> use mysql;
mysql> update user set authentication_string=password("123456") where user='root';
mysql> flush privileges; # 刷新权限
注意密码字段名 5.7 版本的是 authentication_string,之前的为 password。

修改完后,记得注释掉 my.ini 中的 skip-grant-tables 参数,重启 MySQL 服务,就可以用你设置的密码登录了。

感谢博主文章

 https://blog.csdn.net/indexman/article/details/80291537

https://blog.csdn.net/weidong_y/article/details/81660958

原文地址:https://www.cnblogs.com/Andrew520/p/11966071.html