windows安装MySQL5.7和MySQL8.0错误解决!!!

因为MySQL5和MySQL8之间语法会有差距,所以我是在电脑本身有5的版本后,需要再安装8。
以下记录了关于安装MySQL8.0的几个问题,主要是因为目前因为版本不一样很多语法设置都和之前的不同了。

主要参考的了以下文章:
windows环境下:安装MySQL8.0;同时安装MySQL5.7
windows上同时安装两个版本的mysql数据库5.7和8.0

ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password:YES)

因为既然是既然是密码错误,那么就先跳过密码验证的步骤:

①首先,停止MySQL服务

net stop MySQL8.0     #MySQL8.0:自己的服务名

②在my.ini文件中添加语句

以记事本打开my.ini,在[mysqld]下面添加

skip-grant-tables
shared-memory

(ps:要在port下一行,之前直接在mysqld下面添加,一直报错)
在这里插入图片描述
(注:skip-grant-tables:不启动grant-tables授权表,作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库)

③重新初始化data文件夹
在关闭数据库(net stop MySQL8.0)后,删除本来的data文件夹,然后在管理员cmd,切换到数据库所在文件下,运行以下语句,重新生成data文件夹。

mysqld --initialize --user=mysql --console

④无密码登陆数据库后,修改密码
启动数据库8.0服务

net start MySQL8.0

无密码登陆数据库(可以直接回车登陆)

mysql -uroot -p

下面是登陆成功的显示:
在这里插入图片描述
⑤修改密码

use mysql;
flush privileges;
alter user 'root'@'localhost' identified by '新密码';

(注意:如果是以前的MySQL版本,常使用password函数来进行修改密码mysql> update mysql.user set password=password(‘123456’) where user=‘root’;
但是MySQL8之后,没有了password字段和password()函数,所以不能使用上面的修改密码的方法。)

记得要注销刚刚my.int里添加的语句哦!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章