第一步:mysql下载路径
第二步:将bin目录添加环境变量-系统环境变量-path(这步是为了方便。可以不加)
第三步:在安装目录下创建 my.ini
文件内容:
[client]
port=3306
default-character-set=utf8mb4
[mysqld]
port=3306
character_set_server=utf8mb4
#解压目录
basedir=D:/mysql-8.0.21-winx64
#解压目录下data目录
datadir=D:/mysql-8.0.21-winx64/data
federated
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
第四步:初始化数据库并安装、登陆数据库
以管理员身份打开命令提示符(cmd)
1、初始化数据库
生成初始密码,是root@localhost后的字符,我们需要记下来,后面用到。
mysqld--initialize --console
2、安装数据库
mysqld--install
此时目录会多出了data文件夹
3、启动数据库,并用初始密码登陆
//启动
use mysql //进入mysql数据库
设置root密码
update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
报错:
坑1:MySQL使用net start mysql启动提示(启动失败,服务没有报告任何错误)
查看mysql安装根目录下是否存在data文件夹?此data文件夹不能是手动创建的,因为手动创建的不存在数据文件,需要通过如下命令
mysqld --initialize-insecure
进行dataDir下数据文件的初始化 ,然后安装根目录下就会出现一个data文件夹,里面会有一堆文件
如果在这个过程中出现了错误,通过以下步骤从新执行
先使用mysqld –remove命令卸载服务
然后在使用mysqld –install命令安装
再使用mysqld --initialize-insecure初始化
或者:
也有可能是这个原因:
添加C:\windows\system32到系统环境变量;添加的时候一定要注意大小写要跟C盘的文件路径相符
坑2:[Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'E RROR_FOR_DIVISION_BY_ZERO'
问题原因:根目录下data文件夹问题。一般在初始化前手动建立data文件夹会有问题,需要初始化时自动创建。
解决办法:将根目录下data文件夹删除或修改名字,再次执行初始化命令时会自动简历data文件夹。
我是直接改了data的名字就ok了;
坑3:MySQL 连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded
出现这个原因是mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级navicat驱动,一种是把mysql用户登录密码加密规则还原成mysql_native_password.
用第二种方式 ,解决方法如下
1. 管理员权限运行命令提示符,登陆MySQL(记得添加环境变量)
mysql -u root -p
password: #登入mysql
2. 修改账户密码加密规则并更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
3. 刷新权限并重置密码
FLUSH PRIVILEGES; #刷新权限
单独重置密码命令:alter user 'root'@'localhost' identified by '111111';
再次重新连接就ok了