windows下mysql5.7使用过程中的一系列坑

安装版本:5.7

由于需要,安装了mysql,真是一路坑,仅把操作过程中存在的一系列问题,给以汇总,感谢度娘,在茫茫的链接中,找到了能够解决自己问题的方法!!!

1、启动net start mysql,提示服务名无效
问题原因:mysql服务没有安装
解决方法:在 mysql bin目录下 以管理员的权限 执行 mysqld -install命令(已配置环境变量,直接输入命令即可),然后仍然以管理员的权限 net start mysql 开启Mysql服务
 
2、启动net start mysql,提示mysql启动失败
解决方法:

1)删除data文件  我的:D:MySQLMySQL Server 5.7data

2)进入bin目录    我的:D:MySQLMySQL Server 5.7in

3)执行:mysqld --initialize 进行初始化(此时mysql会自动帮你重新创建data文件夹)

4)执行:net start mysql,可正常启动

参考:https://www.cnblogs.com/1693977889zz/archive/2018/04/13/8823349.html

3、解决show databases 输入错误,再输入正确,仍会报错

参考:https://jingyan.baidu.com/article/11c17a2c72066ff446e39d30.html

4、输入mysql -uroot -p (密码) 报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES/NO)

1)停止mysql服务 : net stop mysql

2)停止权限检查功能,输入运行: mysqld --skip-grant-tables 运行这行命令会一直挂住在那里,不会结束(注意)。

开启另一个命令行窗口,之前的窗口一直在挂起运行中。

3)命令行到安装目录下,输入: mysql -uroot -p

提示输入密码,直接回车,进入到mysql命令行下

4)修改密码

     1、输入show databases;  

          可以看到所有数据库,说明登录成功

     2、输入use mysql;

          选择mysql数据库,mysql数据就是保存用户名的地方

     3、输入show tables;

           查看所有表,其中有个user表,用来存放用户名,密码,权限等等账户信息

     4、输入select user,host,password from user;  

          查看账户信息

     5、输入update user set authentication_string=password('123456') where user='root' and host='localhost'; (直接写密码,会导致登录不上去,数据库存储有个加密过程)

          更改root密码

5)关闭停止权限检查命令

由于前面停止权限检查功能的命令还挂住,此时启动mysql服务会失败。

1、任务管理器里结束mysqld.exe任务

2、启动mysql服务 net start mysql

6)使用新密码登录

密码设置完成,服务启动成功,可以用新密码登录了

参考文档:

https://jingyan.baidu.com/article/0f5fb0991c693d6d8334eaa9.html

5、初次登录mysql 修改密码是出现Unknown column 'password' in 'field list'
 
原因:原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
 
参考文档:https://blog.csdn.net/better_space/article/details/53523353(备注:该文档下也有一些常见问题的汇总)
 

 6、登录数据库后,选择数据库时提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

原因:因为密码太简单了,不符合MySQL的安全要求

解决办法

1)修改用户密码   mysql> alter user 'root'@'localhost' identified by 'youpassword';  

或者   mysql> set password=password("youpassword");

2、刷新权限

mysql> flush privileges;

3、重新登录即可

参考文档:

常常感恩
原文地址:https://www.cnblogs.com/prince365/p/10276598.html