window下mysql5.7以上版本适用
下载
- 版本选择5.7.31,.zip免安装压缩包:
- 此教程下载的是5.7.31,应该适用于5.7以上的版本。
- 下载完成后将压缩包解压到d盘tools文件夹下,并重命名为mysql-5.7.31
mysql安装
新建my.ini文件
- 【重要】不要新建data文件夹,更不要在my.ini中加入datadir配置,正确配置如下
- 【提示】sql_mode中一定不要加入ONLY_FULL_GROUP_BY配置,否则不能使用group by查询
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\tools\\mysql-5.7.31
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#默认开启事件
event_scheduler = ON
- 如果需要存表情包类的字符,则配置如下:
[client]
default-character-set=utf8mb4
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\develop\\tools\\mysql-5.7.32
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
collation-server = utf8mb4_unicode_ci
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
mysql安装以及配置
- 以管理员的方式打开cmd(win+r键)
- 进入mysql的bin目录下,安装MySQL
【命令一】:执行成功则提示:Service successfully installed.
mysqld install
【命令二】:免密安装,执行成功后无任何提示
mysqld --initialize-insecure
【命令三】:启动mysql
net start mysql
【命令四】:免密登录mysql
mysql -u root -p
【命令五】:切换到mysql数据库
use mysql
【命令六】:修改密码
update mysql.user set authentication_string=password('你的密码') where user='root';
【命令七】:保存
flush privileges;
【命令八】:退出mysql
exit;
至此安装完成(安装过程中无任何问题就不需要看下面的问题解决,比较乱的记录)
MySQL环境变量配置
新建环境变量
Path > 编辑 > 新建 > %MYSQL_HOME%\bin
问题解决
1、 找不到MSVCR120.dll,无法继续执行代码
https://www.microsoft.com/zh-CN/download/details.aspx?id=40784
下载三个补丁,全部安装,如果最后一个安装失败,可以忽略,继续往下执行命令
2、第一次无密码登录失败
- 默认密码安装命令:mysqld –initialize
- 将安装mysqld –initialize命令改成免密安装:mysqld --initialize-insecure
- mysqld –initialize 使用了默认初始化密码安装,默认生成的密码,初始化密码在data文件夹下,.err结尾的文件中,搜索:root@localhost就能看到初始化的密码
- 如果上述没有找到文件,或者依然登录不上,请使用以下方法:
1、停止mysql服务:net stop mysql
2、编辑my.int文件,mysqld下加入skip-grant-tables
(修改密码成功后,需要停止mysql服务,打开my.ini,删除skip-grant-tables,再启动mysql)
3、重启mysql:net start mysql
4、重新登录mysql,不需要密码:
3、修改密码
- cmd依次输入命令:
【1】登录mysql:mysql -u root -p
【2】切换到mysql表:use mysql
【3】5.7以上更新密码:update mysql.user set authentication_string=password(‘新密码’) where user=‘root’;
【4】更新配置:flush privileges;
【5】退出mysql:exit;
【6】停止服务:net stop mysql
【7】打开my.ini,删除上面为了跳过密码加的:skip-grant-tables,保存
【8】重启mysql:net start mysql
【9】使用新密码登录:mysql -u root -p 【回车输入密码,再回车】
- 至此,全部安装配置成功!
附:
远程登录:GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘密码’ WITH GRANT OPTION;
5.7以下修改密码:update user set password=password(‘新密码’) where user=‘root’;
5.7以上8.0以下修改密码:update mysql.user set authentication_string=password(‘新密码’) where user=‘root’;
8.0以上修改密码:alter user ‘root’@‘localhost’ identified by ‘新密码’; - 打开Navicat使用新密码连接测试,连接成功:
查看字符编码和sql_model
- Navicat按f6进入命令界面,查看字符集和sql_model,确保配置生效不会乱码和group by查询
- select @@sql_mode;
- show variables like ‘%char%’;
mysql卸载
- 停止mysql服务:net stop mysql
- 删除mysql服务:sc delete mysql
- 删除环境变量配置
- 删除mysql安装文件夹
- 删除注册表:regedit,进入注册表,找到mysql所有目录删除
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL