目前网上大部分mysql安装教程基本上都是低版本的使用方法,对于新版本的mysql不太适用

以下是新版的安装步骤 我这边用的是mysql-8.0.18-winx64 版本

第一步

新增MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

[client]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

第二步

启动 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录:

cd C:\web\mysql-8.0.11\bin

初始化数据库:

mysqld --initialize --console

输入以下安装命令:

mysqld install

启动输入以下命令即可:

net start mysql

第三步

设置跳过权限认证:

先关闭mysql服务(关键 不关闭服务下一步指令会报错 )

net stop mysql

然后输入以下指令跳过权限

mysqld --console --skip-grant-tables --shared-memory

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-twrMfViC-1573695374846)(Mysql 8.0+ 的安装以及密码修改步骤/1572491945325.png)]

紧接着重开一个新的指令窗口

免密登入:

mysql -u root -p

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k2xb6JCq-1573695374847)(Mysql 8.0+ 的安装以及密码修改步骤/1572492118646.png)]

第四步

新建用户

连接数据库

use mysql

新建用户

create user 'test' @'localhost' identified by '123456';

这个时候会报错提示:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

解决方法 :刷新权限

flush privileges

然后重新输入

create user 'test' @'localhost' identified by '123456';

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OA5dBcgg-1573695374847)(Mysql 8.0+ 的安装以及密码修改步骤/1572494065254.png)]

记得给新用户添加权限

grant reload on *.* to 'test'@'localhost' ;
grant all privileges on *.* to test@localhost ;

如果你不想创建新用户 只想修改原有数据库的密码,可以输入以下指令:

update 数据库表名 set authentication_string=("123456") where user="root";

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2UyaYlx-1573695374848)(Mysql 8.0+ 的安装以及密码修改步骤/1572492272535.png)]

然后刷新权限

flush privileges

退出指令窗口 重启mysql服务即可

注意事项

使用IntelliJ IDE链接数据库第一次可能会报错:

Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezon

问题原因:时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。所以要修改mysql的时长

解决方法:在mysql的命令模式下,输入:

set global time_zone='+8:00';

再次连接成功