WIN10下MYSQL无法运行问题
无法启动服务的问题
在win10下,MySQL5.7本来是运行的好好的;突然停止运行了;服务也无法启动。
在卸载之后,重新安装,依旧是无法启动。
度娘之后,在path环境变量里面添加了C:\Program Files\MySQL\MySQL Server 5.7\bin路径,还是依旧无法启动。
然后继续度娘,让:
解决办法
- 执行mysqld --install,查看是否已经安装成功
- 删除 mysqld -remove mysql
- 重新执行mysqld --install
- 启动服务net start mysql
服务依旧是启动不了。
查看日志: MYSQLD --CONSOLE
说是在MySQL Server 5.7目录下面,没有找到data文件夹;不知道是不是win10下,这个版本的没有什么权限创建这个文件夹;手动创建一个吧。然后在命令 net start mysql启动,依旧报错,只不过是另一个错误:
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
[ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files.
[ERROR] Aborting
第一个错误可以看到这里少了一个mysql.plugin的表;
第二个错误是少了mysql.user表;
解决方法:
1、去C:\Program Files\MySQL\MySQL Server 5.7\bin目录下创建my.ini文件,内容如下:
-
[mysqld]
-
basedir=C:\Program Files\MySQL\MySQL Server 5.7
-
datadir=C:\Program Files\MySQL\MySQL Server 5.7\data
2、清空C:\Program Files\MySQL\MySQL Server 5.7\data目录,里面的信息一会通过命令会自动生成的;
3、执行 mysqld --initialize --user=mysql --console
4、启动成功;
无法连接的问题
完成上面的操作之后,用navicat和CMD登录时,用密码都会报1045-access denied for user 'root'@错,直接输入MySQL反而登录成功;
解决方法
1.以管理员身份启动CMD,必须是管理员身份
2.执行命令:mysqld --skip-grant-tables
3.以管理员身份重开个命令窗口
4.执行如下命令:
#update mysql.user set password=password('123456') where user='root';
update mysql.user set authentication_string=password('123456') where user='root';
成功!
但是,使用Navicat for MySQL软件连接失败,报错1862
解决方法
管理员权限运行命令:mysqladmin -uroot -p password,
这样改完密码后,用Navicat for mysql软件连接正常。
转载请附上原文出处链接:https://blog.csdn.net/ccnu027cs/article/details/102837529