官网下载链接:MySQL :: Download MySQL Community Server
选择第三种方式,下载ZIP压缩包版,进行离线安装。
压缩包解压到相应的磁盘下:
如果遇到以下几个问题,则采取相对应的解决办法。
1 没有my.ini文件,那么新建一个txt文件,把如下内容粘贴到该txt文档里面。
代码:
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
# *** DO NOT EDIT THIS FILE. It's a template which will be copied to the
# *** default location during install, and will be replaced if you
# *** upgrade to a newer version of MySQL.
[mysqld]
# 设置3306端口
port=3309
# 设置mysql的安装目录
basedir=D:\devsoft\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\devsoft\mysql-8.0.15-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3309
default-character-set=utf8
代码中标黄色部分,需要进行修改,
3309 改为 3306
文件地址修改为压缩包解压的地址,没有data文件夹,可以新建一个。
最后保存txt文档为my.ini文件。
在环境变量path中加入D:\devsoft\mysql-8.0.15-winx64\bin,环境变量在计算机属性-高级系统设置-环境变量-找到path-复制该地址到系统变量中-确定保存
用管理员方式运行-命令提示符,输入如下命令
cd D:\devsoft\mysql-8.0.15-winx64\bin
d:
跳转到D:\devsoft\mysql-8.0.15-winx64\bin目录下,继续输入:
mysqld --initialize --console
这个地方会有两处报错,如果没有就跳过。
解决方案,如下:
打开官网下载丢失文件 vcruntime140_1.dll官网下载链接往下翻,下载最新版本的即可;
将下载的文件中的dll文件复制到如下目录,注意32位还是64位
解决方案,如下:
由于是新机器没有装过vc++运行库,所以选择下载安装运行库。
下载Microsoft Visual C++ 2015 Redistributable Update 3,点击exe文件安装
继续执行下面代码:
mysqld --initialize --console
mysqld -install mysql8_meet
net start mysql8-meet 此处运行之后,提示服务名无效,是因为mysql服务没有安装,所以需要安装
mysqld.exe -install
net start mysql
登录MySQL
mysql -u root -p
会弹出,输入密码,密码在DATA文件下的err文件内,搜索root@localhost: ,会有一个随机生成的密码,
输入改密码,便可以进入MySQL中,
接下来,需要修改原始密码,由于下载的是MySQL8,所以password函数不用了,所以需要进行如下操作:
use mysql
update user set authentication_string='' where user='root';
alter user'root'@'localhost' identified by '123456789';
flush privileges;
至此,密码修改成123456789,可以重新登录mysql使用下新密码,
用navicat链接mysql时失败,报错2509,原因是mysql8之前的版本加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,这里修改一下,
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456789' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456789';
FLUSH PRIVILEGES;