1. 获取安装包
下载 MySQL 5.7 安装包 ,官方下载地址。
2. 解压
将 mysql-5.7.36-winx64.zip 压缩文件解压到mysql-5.7.36-winx64文件夹下,也可以对其文件夹重命名,将文件夹移动到要安装MySQL程序的文件夹下。
3. 配置文件
Windows 系统下,需要在MySQL 的安装文件夹(如mysql-5.7.36-winx64)下,手动创建 my.ini 配置文件,以设置数据库的相关配置。
注意点,Windows 系统下 路径最好用 // 来写,否则会出现不能正确不识别设置路径的问题。
以下为 MySQL 版本号为
**5.7.36**,在 Windows 系统下 的**my.ini**的配置内容(不同版本不同系统配置可能会有差异)。
[mysqld]# 服务器IDserver-id=1# 设置3306端口port=3306# 设置mysql的安装目录basedir=D://Program Files//mysql-5.7.36-winx64# 设置mysql数据库的数据的存放目录datadir=D://Program Files//mysql-5.7.36-winx64//data# 开启慢查询slow_query_log = on# 设置慢查询日志路径slow_query_log_file = D://Program Files//mysql-5.7.36-winx64//logs//slow_query.loglog-error = D://Program Files//mysql-5.7.36-winx64//logs//error.log# 设置慢查询时间阈值long_query_time = 2# 允许最大连接数max_connections=1024# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统max_connect_errors=100# 服务端使用的字符集默认为UTF8character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 最大数据包max_allowed_packet=20M#设置日志格式binlog_format=Row#设置日志路径,注意路经需要mysql用户有权限写log-bin=mysql-bin#设置binlog清理时间expire_logs_days=7#binlog每个日志文件大小max_binlog_size=100m#binlog缓存大小binlog_cache_size=4m#最大binlog缓存大小max_binlog_cache_size=512msql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"[mysql]# 设置mysql客户端默认字符集default-character-set=utf8mb4[client]# 设置mysql客户端连接服务端时默认使用的端口port=3306default-character-set=utf8mb4
4. 初始化
命令行工具进入MySQL的bin文件夹下,执行如下操作
mysqld --initialize --console
初始化执行成功后,MySQL 会给出默认的账号和密码(该密码需要在第一次登录MySQL时,立即修改)
安装vcredist组件
如果初始化 MySQL 时出现如下安装错误提示,就说明系统没有安装相关Windows组件。
组件下载地址:Visual C++ Redistributable Packages for Visual Studio 2013
64位系统下载成功后,得到 vcredist_x64.exe 的可执行文件,双击执行安装,安装后即可正常安装MySQL。
5. 安装启动服务
安装服务
命令行工具进入MySQL的bin文件夹下,执行如下操作
mysqld install MySQL
启动服务
在提示安装成功好服务后,我们就可以启动MySQL 的服务了,命令行启动
net start MySQL
6. 修改密码
- 用命令行工具进入到MySQL的
bin文件夹 - 执行
mysql -uroot -p,然后输入初始密码,进入MySQL命令行 - 然后执行
use mysql切换到 mysql 库,执行如下命令修改密码# 修改默认账号的密码alter user 'root'@'localhost' identified by '123456';# 刷新系统权限表flush privileges;
7. 创建对外账号
进入MySQL 命令行界面 (具体操作如上)# 创建用户和密码CREATE USER 'test'@'%' IDENTIFIED BY 'test@2021';# 给该用户赋数据库所有权限grant all privileges on *.* to 'test'@'%';# 刷新系统权限表flush privileges;
