因为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里添加的语句哦!!!