windows下mysql5.7使用过程中的一系列坑
安装版本:5.7
由于需要,安装了mysql,真是一路坑,仅把操作过程中存在的一系列问题,给以汇总,感谢度娘,在茫茫的链接中,找到了能够解决自己问题的方法!!!
1)删除data文件 我的:D:\MySQL\MySQL Server 5.7\data
2)进入bin目录 我的:D:\MySQL\MySQL Server 5.7\bin
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,authentication_string 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
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、重新登录即可
参考文档: