• 本文描述了在Windows下安装MySQL 5.7的详细步骤
  • 本文仅供参考

一、下载文件

//下方为官方路径
https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.33-winx64.zip

二、解压文件

  • 建议解压到没有空格的目录下并重命名文件夹,参考如下图
  • 下文中会多次出现文件目录,请根据实际情况做修改

三、配置环境变量

  • 参考下图设置环境变量
  • 本文设置的系统变量

四、初始化

  • 在cmd中如下执行
cd C:\mysql\bin
mysqld --initialize-insecure --user=mysql
  • 如果出现了找不到MSVCR120.dll错误,请下载微软依赖并安装
//注意这里可能需要把3个文件都下载下来安装并重启才能生效
https://aka.ms/vs/17/release/vc_redist.x64.exe
https://aka.ms/vs/17/release/vc_redist.x86.exe
https://download.microsoft.com/download/1/8/0/180fa2ce-506d-4032-aad1-9d7636f85179/vcredist_x64.exe

五、安装为服务

  • 用管理员权限打开cmd,参考如下
  • 然后执行如下命令
cd c:\mysql\bin
mysqld install
  • 执行成功后如下图

五、修改配置文件

  • 在mysql根目录下新建my.ini文件,放入如下内容
[client]
port=3306

[mysql]
no-beep

# default-character-set=

[mysqld]
port=3306

# mysql根目录,根据自己的路径改
# basedir="c:\mysql"

# 放所有数据库的data目录,根据自己的路径改
# datadir=c:\mysql\data

# character-set-server=

# 默认存储引擎innoDB
default-storage-engine=INNODB

# Set the SQL mode to strict
# sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# atlassian 要求的配置,其他用户可不管
max_allowed_packet=256M
innodb_log_file_size=256M
character_set_server=utf8mb4
innodb_default_row_format=DYNAMIC
innodb_large_prefix=ON
innodb_file_format=Barracuda
transaction-isolation=READ-COMMITTED

#日志输出为文件
log-output=FILE

# 是否开启sql执行结果记录,必须要设置general_log_file参数,日志的路径地址
# 即日志跟踪,1为开启,0为关闭
general-log=0
general_log_file="execute_sql_result.log"

# 配置慢查询,5.7版本默认为1
slow-query-log=1
slow_query_log_file="user-slow.log"
long_query_time=10

#默认不开启二进制日志
#log-bin=mysql-log

#错误信息文件设置,会将错误信息放在data/mysql.err文件下
log-error=mysql.err

# Server Id.数据库服务器id,这个id用来在主从服务器中标记唯一mysql服务器
server-id=1

#lower_case_table_names: 此参数不可以动态修改,必须重启数据库
#lower_case_table_names = 1  表名存储在磁盘是小写的,但是比较的时候是不区分大小写
#lower_case_table_names=0  表名存储为给定的大小和比较是区分大小写的 
#lower_case_table_names=2, 表名存储为给定的大小写但是比较的时候是小写的
lower_case_table_names=1

#限制数据的导入导出都只能在Uploads文件中操作,这个是在sql语句上的限制。
#secure-file-priv="D:\AppServ\mysql-5.7.23/Uploads"
#值为null ,也就是注释掉这个参数或者secure-file-priv=null。表示限制mysqld 不允许导入|导出
#值为/tmp/ ,即secure-file-priv="/tmp/" 表示限制mysqld 的导入|导出只能发生在/tmp/目录下
#没有具体值时,即secure-file-priv=      表示不对mysqld 的导入|导出做限制

# 最大连接数
max_connections=151
# 打开表的最大缓存数
table_open_cache=2000

# tmp_table_size 控制内存临时表的最大值,超过限值后就往硬盘写,写的位置由变量 tmpdir 决定 
tmp_table_size=16M

# 每建立一个连接,都需要一个线程来与之匹配,此参数用来缓存空闲的线程,以至不被销毁,
# 如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。
# 最大缓存线程数量
thread_cache_size=10
  • 保存后在服务中启动MySQL服务

六、基础配置

  • 打开cmd,参考如下命令
//登录mysql,输入命令时直接enter
mysql -uroot -p
//修改root密码,下方命令处Atlassian@2022为密码
use mysql
update mysql.user set authentication_string=("Jira2022") where user="root";
flush privileges;
//设置允许外部访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Jira2022';
flush privileges;
//退出
exit
//再次进入会发现必须输入密码了

七、创建数据库

CREATE DATABASE jira CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;