1. MySQL官方网址:MySQL :: Download MySQL Community Server
2. 将下载文件解压到一个文件夹, 我这里用的是:D:\DataBase\MySQL\mysql-5.7.16-winx64 这个文件夹
3. 配置环境变量:
Path:D:\DataBase\MySQL\mysql-5.7.16-winx64\bin
不配置环境变量的话要手动进入到D:\DataBase\MySQL\mysql-5.7.16-winx64\bin目录下
4. 创建my.ini文件,放在:D:\DataBase\DataBase\MySQL\mysql-5.7.16-winx64 目录下
5. 编辑my.ini文件,我的内容如下,注意保存成ASCII格式(不是这种格式貌似也行)
# For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.7/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] # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size = 128M # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # These are commonly set, remove the # and set as required. #MySql的安装文件夹 basedir = D:\DataBase\DataBase\MySQL\mysql-5.7.16-winx64 #MySql的数据文件夹,\data是写死的, basedir+\data datadir = D:\DataBase\DataBase\MySQL\mysql-5.7.16-winx64\data #端口号 port = 3306 #安装到windows的服务名称 server_id = mysql #设置server端的字符集 character-set-server=utf8mb4 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION #时区 default-time_zone = '+8:00' [client] default-character-set = utf8mb4 [mysql] default-character-set=utf8mb4 #character-set-server=utf8mb4 # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_#AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION #group_concat_max_len = -1
6. 管理员运行cmd命令,进入D:\DataBase\MySQL\mysql-5.7.16-winx64\bin 目录下,运行:
指令1
mysqld --default-file="D:\DataBase\MySQL\mysql-5.7.16-winx64\my.ini" –-initialize --console
- 初始化D:\DataBase\MySQL\mysql-5.7.16-winx64\data目录
- 初始化root用户的密码
- 打印初始化时的日志,便于排查错误, 以及查询初始化root用户的随机密码
指令2(基本上和指令1没啥区别, 除了密码这块)
mysqld --default-file="D:\DataBase\MySQL\mysql-5.7.16-winx64\my.ini" –-initialize --console
- 初始化D:\DataBase\MySQL\mysql-5.7.16-winx64\data目录
- 初始化root用户的密码(密码设置为空即root用户无密码)
- 打印初始化时的日志,便于排查错误, 以及查询初始化root用户的随机密码
参数解析:
--initialize: 初始化MySql的一些基本数据, 这里主要是初始化mysql-5.7.16-winx64的data目录
--initialize-insecure: 同--initialize指令, 与上一个命令的区别是, 会生成root用户, 但是密码为空, 不是随机的
--console: 初始化过程中, 打印的日志(--initialize指令初始的密码,一般在password关键字后面), 这个密码有用
指令1和指令2选择一个执行即可, 指令1和指令2选择一个执行即可!!!!!
7. 安装MySQL服务,继续第6步,运行:
mysqld --install
8. 启动服务:
net start mysql
9. 登陆:
mysql -u root -p
10. 第10步会提示你输入密码,找到第6步生成的data文件夹,找到后缀.err的文件,搜索password关键字,临时密码在password关键字后面
11. 修改密码:
set password for 用户名@localhost = password('新密码'); # 如果上面不行,运行下面修改密码的方式 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码'; # 原来的密码密码认证是mysql_native_password, ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; # 现在的是caching_sha2_password FLUSH PRIVILEGES; # 刷新权限
12. 退出登陆:
exit
13. 停止服务:
net stop mysql
14. 卸载服务(windows自带的指令):
sc delete mysql
注册表删除:reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\MySQL" /f reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\eventlog\Application\MySQL" /f # 可能没有 reg delete "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL" /f # 可能没有 reg delete "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\MySQL" /f # 可能没有
然后删除D:\DataBase\MySQL\mysql-5.7.16-winx64文件夹下所有的内容