适用环境:
W7 SP1、W8、W8.1、W10、W2008 R2 SP1、w2012、w2012 R2
安装包下载:
链接:https://pan.baidu.com/s/14jFdF83pDdcDXWDOhEK4SQ
提取码:5d1t
管网下载mysql: https://dev.mysql.com/downloads/mysql/
如图:
然后在解压的文件夹里面新建 my.ini文件,内容如下
[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=C:\web\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\web\mysql-8.0.15-winx64\data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10000
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
wait_timeout=31536000
interactive_timeout=31536000
# default_authentication_plugin=mysql_native_password # 定义密码验证方式,区别于mysql5
#sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8
# 设置mysql的安装目录
basedir=C:\web\mysql-8.0.15-winx64
# 设置mysql数据库的数据的存放目录
datadir=C:\web\mysql-8.0.15-winx64\data
注意上面配置中这里的地址是mysql文件存放地址
环境变量配置:
在系统属性-高级-环境变量-系统变量中添加配置C:\web\mysql-8.0.15-winx64\bin:
mysql服务的初始化 在cmd下运行
mysqld --initialize --user=mysql --console
如下图:
务必记住这个初始密码,一会可以登录进去自己修改密码。如果不小心没记录关闭了窗口,只需要把mysql文件目录下的data文件夹删除,然后重新初始化即可。
此处安装的时候报了一些错误:vcruntime140.dll丢失问题,解决办法:
就是缺少了Microsoft.Net.Framework的安装。现将整个流程整理如下:
1.去微软官网下载Microsoft.Net.Framework 4.6.1
其适用于 Windows 7 SP1、Windows 8、Windows 8.1、Windows 10、Windows Server 2008 R2 SP1、Windows Server 2012 和 Windows Server 2012 R2操作系统
下载地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=49981
2.去微软官网下载Visual C++ Redistributable for Visual Studio 2015
下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
备注:如果服务器所在的windows操作系统是32位的,就下载vc_redist.x86.exe;如果是64位的先下载64位,如果不行,同时下载32位安装,vc_redist.x64.exe与vc_redist.x86.exe最好都下载安装
注意点:vc_redist.x64.exe与vc_redist.x86.exe所属VC++版本需保持一直,比如都是2015或都是2012。
3.如果还报缺少dll文件,请安装 【微软常用运行库合集_2019.07.20_X64】
最后一步,安装服务:
1 |
mysqld --install |
至此配置完成,最后启动MySQL服务即可;
2 |
net start mysql |
停止为
3 |
net stop mysql |
这里很多人会表示我的cmd命令报系统找不到文件之类的错误,解决办法:
开始...运行... regedit 注册表项:HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> services -> mysql -> ImagePath
"C:\web\mysql-8.0.15-winx64\bin\mysqld" mysql
其中前面那段路径修改为你MySQL的解压目录。然后命令重新执行启动;
最后修改密码,首先用初始化密码登录MySQL:
1 |
mysql -u root -p |
接下来修改密码,密码修改为123456:
1 |
# 原始 直接修改密码 ALTER USER "root"@"localhost" IDENTIFIED BY "123456"; FLUSH PRIVILEGES; # 刷新权限
# 此处最好直接将root的密码加密方式也改掉,所有账号维持统一 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; # 更改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; # 更新用户密码 FLUSH PRIVILEGES; # 刷新权限 |
只要创建了数据库的user,就要修改此user的密码加密方式。
如果在使用数据库连接工具连接的时候出现错误,如下图,
可以尝试在my.ini配置文件中的mysqld后面加上,可在安装的时候就直接加上,把所有账号的加密规则统一,上面已加好;
1 |
default_authentication_plugin=mysql_native_password |
原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决:更改加密规则:(如果不行,此处就重启mysql服务)
mysql -u root -p #登录
use mysql; #选择数据库
# 远程连接请将'localhost'换成'%'
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
# 更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; # 更新用户密码
FLUSH PRIVILEGES;
# 刷新权限
创建数据库及用户,并分配权限:
# 创建数据库
create database kashi_mysql default character set utf8 collate utf8_bin;
# 创建用户
create user 'kashi_user'@'%' identified by 'kashi#pwd123';
# 分配权限
grant all privileges on kashi_mysql.* to 'kashi_user'@'%';
# 刷新
flush privileges;